国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

如何在SQL *Plus中把數(shù)據(jù)庫欄以變量的形式保存

2024-07-21 02:34:26
字體:
供稿:網(wǎng)友

  Oracle SQL *Plus有一個非常有用的子參數(shù)(subparameter),它從屬于一個叫著NEW_VALUE的數(shù)據(jù)欄參數(shù)。NEW_VALUE指示答應你以SQL *Plus腳本中的變量保存從Oracle表格查詢而得到的數(shù)據(jù)。
  
  用過使用NEW_VALUE參數(shù),你可以像真正的編程語言那樣使用SQL *Plus腳本來保存和尋址程序變量,如同PL/SQL那樣。
  
  
  保存SQL *Plus變量并在其中填充Oracle數(shù)據(jù)是非常重要的特性,由于它減少了對數(shù)據(jù)庫訪問,所以它提高了SQL *Plus腳本的有效性。
  
  collog_mode_valnew_valuelog_modenoPRint
  
  select
   value log_mode
  from
   v$parameter
  where
   name = 'archive_log_mode';
  
  select
   'The current archivelog mode is ''&&log_mode' from dual;
  
  column today new_value today;
  
  select
   to_char(sysdate,'mm/dd/yyyy hh24:mi') today
  from
   dual;
  
  現(xiàn)在,我們理解了SQL *Plus變量是如何保存的了,讓我們看看一個真實的例子。下面的例子來自STATSPACK報告,改報告描述了表格增長與數(shù)據(jù)庫塊大小的函數(shù)關系。由于DB_BLOCK_SIZE在整個數(shù)據(jù)庫中是一個常量,我們使用NEW_VALUE參數(shù)來捕捉改數(shù)值一次,并把它作為輸出的一部分重新顯示出來。
  
  在這個例子中,我們定義了一個稱之為&blksz的變量并在主查詢中用它來判定表格中的剩余空間。下面的例子向我們演示了如何進行這個計算。知道塊大小可以讓我們很快估計出表格中的剩余空間容量。
  
   (num_rows*avg_row_len)
   --------------------- * 100
   (blocks*&blksz)
  
  這是整個查詢:
  
  column c1 heading "TABLE NAME" format a15;
  column c2 heading "EXTS" format 999;
  column c3 heading "FL" format 99;
  column c4 heading "# OF ROWS" format 99,999,999;
  column c5 heading "#_rows*row_len" format 9,999,999,999;
  column c6 heading "SPACE ALLOCATED" format 9,999,999,999;
  column c7 heading "PCT USED" format 999;
  
  column db_block_sizenew_valueblksznoprint
  
  select value db_block_size from v$parameter where name = 'db_block_size';
  
  set pages 999;
  set lines 80;
  
  spool tab_rpt.lst
  
  select
   table_name c1,
   b.extents c2,
   b.freelists c3,
   num_rows c4,
   num_rows*avg_row_len c5,
   blocks*&blksz c6,
   ((num_rows*avg_row_len)/(blocks*&blksz))*100 c7
  from
   perfstat.stats$tab_stats a,
   dba_segments b
  where
   b.segment_name = a.table_name
  and
   to_char(snap_time,'yyyy-mm-dd') =
   (select max(to_char(snap_time,'yyyy-mm-dd')) from perfstat.stats$tab_stats)
  and
   avg_row_len > 500
  order by c5 desc
  ;

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 达孜县| 宣城市| 阿拉善左旗| 临桂县| 合肥市| 龙川县| 读书| 化德县| 桐乡市| 新建县| 平邑县| 资溪县| 甘孜| 咸阳市| 乌恰县| 玛曲县| 五指山市| 滁州市| 焉耆| 霍林郭勒市| 疏勒县| 阿拉善左旗| 岳阳县| 新和县| 邵武市| 老河口市| 屏东市| 铁力市| 宜昌市| 陇西县| 武强县| 襄汾县| 从化市| 成武县| 三门峡市| 湛江市| 安达市| 嘉黎县| 陈巴尔虎旗| 大关县| 固阳县|