现在的位置: 首页 > 综合 > 正文

SQL Plus環境設置與常用命令﹕

2013年12月03日 ⁄ 综合 ⁄ 共 3317字 ⁄ 字号 评论关闭

set serveroutput on;   -------設置dbms_output.put_line()可以顯示輸出結果
save D:/sql_name.sql   ----------保存sql內容
get D:/sql_name.sql    ---------將SQL腳本裝入緩沖區
ed[it]  D:/sql_name.sql  ---------編輯SQL腳本
@D:/sql_name.sql -----------直接運行SQL腳本文件
SPOOL ----------用法:
spool d:/output;
select * from EMP_M;
select * from emp_d
spool off;
可以在D盤中找到output文件﹐該文件內容為select * from emp_m語句的查詢結果

desc[ribe] table_name     ---------查看表結構
set line[size] n;        ------設置一行顯示的字符數
L命令與 n 'text' 命令---L用來顯示錯誤﹐n 表示的行號﹐'text' 要修改的語句﹐例如﹐有如下錯誤﹕
--------
SQL> select emp_no,emp_name
  2  from emp_d
  3  where emp_no='0001';
select emp_no,emp_name
           *
 ERROR 在行 1:
ORA-00904: 資料欄名稱無效

SQL> L;----------下L命令
  1  select emp_no,emp_name
  2  from emp_d
  3* where emp_no='0001'
SQL> 2 from emp_m;-----------下n 'text'命令
SQL> L;-------用L命令顯示緩沖區的內容
  1  select emp_no,emp_name
  2  from emp_m
  3* where emp_no='0001'
SQL> /         --------下 / 命令運行緩沖區的內容

emp_no     emp_name
---------- ----------
0001      lyj
--------------------
/  ----命令運行緩沖區的內容
del [m][,n]------刪除緩沖區的第m到第n行﹐如果沒有n表示﹐表示刪除第m行﹐如果m n都沒有表示刪除當前行
-----------
C[hange]/原文/新的正文     ---該命令用來修改SQL緩沖區的語句﹐表示當前行用新的正文代替原文

show 命令﹕查看SQL*PLUS環境變量的狀態﹐是on還是off

echo SQL*PLUS環境變量
查看 echo 狀態  show echo
設置 echo 狀態  set echo on | off
作用﹕運行sql腳本時﹐如果 echo 的狀態為 on 則顯示查詢命令和結果﹐如果 echo 的狀態為 off 則只顯示查詢結果

feed[back] SQL*PLUS環境變量
作用﹕返回查詢結果的行數
設置﹕set feed[back] {6 | n | off | on } ,意義﹕表示當查詢選擇的數據行數大于 n 時﹐顯示返回的數據行數
                                               6為oracle的默認值

set hea[ding] {on | off} :設置報告中是否顯示列標題
set array[size] {20 | n}:設置每次從數據庫中獲取的行數﹐最多500行
set line[size] {80 | n}﹕設置每行的字符數
set page[size] {24 | n}:設置每頁的行數

                                              
column SQL*PLUS 的格式化命令﹕
用法﹕col[umn] [{列名} [可選項]],其中 "可選項" ﹕cle[ar] | for[mat] 格式化模式 | hea[ding] 正文 | jus[tify] {對齊選項} | nul[l] | 正文 | pri[nt] | nopri[nt] | ....
例1﹐設置顯示salary列的格式﹕col salary for $9,999.99;//逗號 表示千位符號﹐9為不顯示前導0﹐
                                                   //設置前導0的格式為﹕$009,999.00
                                                   //設置本地貨幣符號的格式為﹕L009,999.00;
例2﹐設置顯示depart_no列的寬度﹕col depart_no for a2;//只有兩個字符的寬度 ,其中 a+n(數字) 也是格式化格式﹐表示 n 個字符長度
例3﹐設置某列的別名﹕col salary heading '工資'
例4﹐設置某列的別名和寬度﹕col depart_no heading '部門' for a4;
例5﹐顯示設置列的格式﹕col salary;                                          
例6﹐清除設置某列的格式﹕col salary clear;

SQL*PLUS的其它格式化命令
tti[tle] (top title的簡寫):tti[tle] [正文 | off | on] ﹐設置每頁頂部標題
bti[tle] (bottom title的簡寫):bti[tle] [正文 | off | on] ﹐設置每頁底部標題
break on 列名 [| 別名][skip n]﹕去掉重復的行﹐并在斷開點跳過 n 行
clear break﹕清除所有的break設置

rem '注釋內容':表示以 rem開頭的語句為注釋
set pagesize n :表示報告的長度為 n 行
set linesize n:表示顯示的每行寬度為 n 行

 

替代變量: 1,以 & 開頭的替代變量﹔2,以 && 開頭的替代變量﹔3,define 定義的替代變量﹔4,accept 定義的替代變量。
1﹐以 & 開頭的替代變量﹕select emp_name,emp_sex,emp_age from emp_m where emp_age>&v_emp_age;
   在運行腳本時﹐提示輸入替代變量的值 如果替代變量為 非字符日期型的﹐ 直接輸入變量值﹐不需加引號﹐
   若替代變量為字符,日期型的則輸入替代變量值要加單引號﹐如果將替代變量用單引號引起來﹐則輸入替變量
   代值不需要再加單引號﹐如﹕select emp_name,emp_sex,emp_age from emp_m where emp_name='&v_emp_name';
   輸入值后不能加分號。
   查看原值和新值 set verify on  
2﹑以 && 開頭的替代變量﹕select emp_name,emp_sex,emp_age,&&v_col from emp_m order by &v_col;
   重用某個替代變量而不讓ORCALE系統每次提示輸入替代變量值﹐上例中﹐盡管v_col替代變量出現兩次﹐但是oracle
   只提示輸入v_col的值.oracle會自動記住第一次輸入的替代變量值﹐如果要改變這個替代變量的值﹐需用
   undefine命令來取消這個變量的值﹐如﹕undefine v_col ;  
3﹑用 define 定義 替代變量﹕define 替代變量名稱=變量值[(datatype)]
   define v_emp_age = 22
   select * from emp_m where emp_age = '&v_emp_age';
4﹑使用 accept 定義替代變量,可以改變輸入提示信息﹕
   accept v_emp_age prompt '請輸入年齡﹕'   
   select * from emp_m where emp_age > &v_emp_age; 
   使用 accept 的 hide 選項,不顯示輸入的替代變量值﹐而是以 * 字符替換
   accept v_emp_age prompt '請輸入年齡﹕' hide
   select * from emp_m where emp_age > '&v_emp_age'; 
   accept 命令的格式和選項﹕
   accept 變量名稱 [數據類型] [Format 格式化模式] [prompt '正文'] [hide]

 

 

抱歉!评论已关闭.