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]