第十三章 sqlplus命令(一)
第十三章 sqlplus命令
1. @或start
執行某個檔案中的語句,有些系統可以包含檔案路徑
執行指令碼檔案時,用COLUMN等命令設定的格式依然有效
此命令還可以執行包含ftp、http格式的命令:
@HTTP://machine_name.domain:port/YEAREND.SQL VAL1 VAL2
@FTP://machine_name.domain:port/YEAREND.SQL VAL1 VAL2
在配置了網路伺服器的報告中,可以執行動態指令碼:
@HTTP://machine_name.domain:port/SCRIPTSERVER?ENDOFYEAR VAL1 VAL2
2. @@
和@差不多
如果在指令碼中執行@@file_name.ext,sqlplus將在該指令碼相同的目錄下執行file_name.ext指令碼
3. /
執行儲存在buffer中的最近一次執行的sql或pl/sql塊
4. ACCEPT或ACC
語法為:ACCEPT 變數名 資料型別 FORMAT 格式 DEFAULT 預設值 PROMPT xxx|NOPROMPT HIDE
資料型別包括:[NUM[BER] | CHAR | DATE | BINARY_FLOAT | BINARY_DOUBLE]
日期格式應該是NLS_DATE_FORMAT指定的格式,否則報錯
如:
密碼輸入:ACCEPT pswd CHAR PROMPT 'Password: ' HIDE 指定了隱藏屬性
數字格式輸入:
ACCEPT salary NUMBER FORMAT '999.99' DEFAULT '000.0' -
PROMPT 'Enter weekly salary: '
日期格式輸入:
ACCEPT hired DATE FORMAT 'dd/mm/yyyy' DEFAULT '01/01/2003'-
PROMPT 'Enter date hired: '
5.APPEND或A
在iSQLPlus不能用
語法:APPEND text
將內容增加到緩衝區當前行(最後一行)的末尾
如果要增加一個分號 需要輸入兩個分號
6.ARCHIVE LOG
需要sysdba或sysoper許可權
語法:ARCHIVE LOG {LIST | STOP} | {START | NEXT | ALL | integer } [TO destination]
顯示歸檔模式,開啟、關閉重做日誌的歸檔
list是顯示
STOP是停止
START是開始
NEXT是手工手工歸檔下一個已經填滿但未歸檔的重做日誌檔案組
ALL是手工歸檔所有填滿但未歸檔的日誌檔案或日誌組
integer 使日誌序號為n的重做日誌檔案組歸檔,可以指定仍然線上的重做日誌檔案組。如果根據檔案號未找到對應文
件會報錯。
destination 指定歸檔路徑,預設是LOG_ARCHIVE_DEST指定的路徑
ARCHIVE LOG 1001 '/vobs/oracle/dbs/arch' 將日誌組號為1001的組歸檔到指定路徑
7.ATTRIBUTE
ATTRIBUTE [type_name.attribute_name [option ...]]
where option represents one of the following clauses:
ALI[AS] alias
CLE[AR]
FOR[MAT] format
LIKE {type_name.attribute_name | alias}
ON | OFF
設定了某個物件的屬性格式後,在會話中一直有效,知道使用clear column或attribute off命令結束。
如:ATTRIBUTE EMPLOYEE_TYPE.LAST_NAME FORMAT A20
設定empolyee_type的last_name屬性格式為20個字元寬度
8.BREAK
語法:BRE[AK] [ON report_element [action [action]]] ...
report_element:{column|expr|ROW|REPORT}
action:[SKI[P] n|[SKI[P]] PAGE][NODUP[LICATES]|DUP[LICATES]]
功能:
壓縮重複行的顯示
每次有列值變化時跳過一空行
在給定列上的值每次變化時或報告結束時輸出統計數量
NODUP[LICATES]表示重複行出現時僅第一行顯示,後面顯示空格
還可以接compute命令,進行統計資訊的顯示。
如:
SQL> select * from emp order by deptno;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
7839 KING PRESIDENT 1981-11-17 5000.00 10
7782 CLARK MANAGER 7839 1981-6-9 2450.00 10
7934 MILLER CLERK 7782 1982-1-23 5000.00 10
7902 FORD ANALYST 7566 1981-12-3 3000.00 20
7369 SMITH CLERK 7902 1980-12-17 800.00 20
7566 JONES MANAGER 7839 1981-4-2 2975.00 20
7900 JAMES CLERK 7698 1981-12-3 950.00 30
7844 TURNER SALESMAN 7698 1981-9-8 1500.00 0.00 30
7654 MARTIN SALESMAN 7698 1981-9-28 1250.00 1400.00 30
7521 WARD SALESMAN 7698 1981-2-22 1250.00 500.00 30
7499 ALLEN SALESMAN 7698 1981-2-20 1600.00 300.00 30
7698 BLAKE MANAGER 7839 1981-5-1 2850.00 30
SQL> break on deptno skip 1
SQL> select * from emp order by deptno;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7839 KING PRESIDENT 17-NOV-81 5000 10
7782 CLARK MANAGER 7839 09-JUN-81 2450
7934 MILLER CLERK 7782 23-JAN-82 5000
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800
7566 JONES MANAGER 7839 02-APR-81 2975
7900 JAMES CLERK 7698 03-DEC-81 950 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400
有省略……
以下例子,按deptno分頁,job不同隔一行、薪水不同也隔一行
SQL> break on deptno skip page on job skip 1 on sal skip 1
SQL> select * from emp order by deptno,job,sal;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7934 MILLER CLERK 7782 23-JAN-82 5000 10
7782 CLARK MANAGER 7839 09-JUN-81 2450
7839 KING PRESIDENT 17-NOV-81 5000
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800
7566 JONES MANAGER 7839 02-APR-81 2975
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7900 JAMES CLERK 7698 03-DEC-81 950 30
7698 BLAKE MANAGER 7839 01-MAY-81 2850
7521 WARD SALESMAN 7698 22-FEB-81 1250 500
7654 MARTIN 7698 28-SEP-81 1400
7844 TURNER 7698 08-SEP-81 1500 0
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
12 rows selected.
9.BTITLE
語法:BTI[TLE] [printspec [text | variable] ...] | [ON | OFF]
格式包括:
BOLD
CE[NTER]
COL n
FORMAT text
LE[FT]
R[IGHT]
S[KIP] [n]
TAB n
設定頁首資訊
10.CHANGE
語法:C[HANGE] sepchar old [sepchar [new [sepchar]]]
iSQLPlus中不能用
更改緩衝區中的內容old,改為new
11.CLEAR或CL
後面的選項包括:
BRE[AKS]
BUFF[ER]
COL[UMNS]
COMP[UTES]
SCR[EEN]
SQL
TIMI[NG]
清空當前設定
12.COLUMN
選項包括:ALI[AS] alias
CLE[AR]
ENTMAP {ON | OFF}
FOLD_A[FTER] html相關
FOLD_B[EFORE]
FOR[MAT] format 列內容格式
HEA[DING] text 該列標題
JUS[TIFY] {L[EFT] | C[ENTER] | R[IGHT]}
LIKE {expr | alias} 參照某列的格式
NEWL[INE] 顯示內容前空一行
NEW_V[ALUE] variable
NOPRI[NT] | PRI[NT] 不輸出某一行
NUL[L] text 空值如何顯示
OLD_V[ALUE] variable
ON | OFF OFF將取消所有格式限制
WRA[PPED] | WOR[D_WRAPPED] | TRU[NCATED] 對於長度超過限制的內容如何處理,wrap是分行,word_wrap表示在保
證單詞不跨行的前提下分行顯示,tru表示截斷
數字格式的詳細說明見文件313頁
如:
COLUMN REMARKS FORMAT A20 WRAP
結果為:
REMARKS
--------------------
This order must be s
hipped by air freigh
t to ORD
COLUMN REMARKS FORMAT A20 WORD_WRAP
結果為:
REMARKS
--------------------
This order must be
shipped by air freight
t to ORD
COLUMN REMARKS FORMAT A20 TRUNCATE
結果為:
REMARKS
--------------------
This order must be s
13.COMPUTE
語法:
COMP[UTE] [function [LAB[EL] text] ...
OF {expr | column | alias} ...
ON {expr | column | alias | REPORT | ROW} ...]
如:計算每份工作的salary的總和
COMPUTE SUM LABEL 'TOTAL' OF SALARY ON JOB_ID;
SELECT JOB_ID, LAST_NAME, SALARY
FROM EMP_DETAILS_VIEW
WHERE JOB_ID IN ('AC_MGR', 'SA_MAN')
ORDER BY JOB_ID, SALARY;
14.CONNECT
語法:CONN[ECT] { logon | / } [AS {SYSOPER | SYSDBA}]
15.COPY
8i以後不用
16.DEFINE
DEF[INE] [variable] | [variable = text]
所定義變數的值在以下操作前不會改變:
輸入一個新的值
undefine撤銷定義
accept接受該值
使用NEW_VALUE或OLD_VALUE進行呼叫,並用select呼叫
退出sqlplus
sqlplus中預設定義值可以通過如下例子理解:
SQL> define _connect_identifier
DEFINE _CONNECT_IDENTIFIER = "testdb" (CHAR)
SQL> define _DATE
DEFINE _DATE = "26-DEC-12" (CHAR)
SQL> define _editor
DEFINE _EDITOR = "ed" (CHAR)
SQL> define _o_release
DEFINE _O_RELEASE = "1102000100" (CHAR)
SQL> define _PRIVILEGE 如果是sys等,得到的可能是AS SYSDBA 或AS SYSOPER
DEFINE _PRIVILEGE = "" (CHAR)
SQL> define _sqlplus_release
DEFINE _SQLPLUS_RELEASE = "1102000100" (CHAR)
SQL> define _USER
DEFINE _USER = "SCOTT" (CHAR)
17.DEL
DEL [n | n m | n * | n LAST | * | * n | * LAST | LAST]
iSQLPlus中不可用
18.DESCRIBE
DESC[RIBE] {[schema.]object[@connect_identifier]}
得到表、檢視、同義詞的列,包宣告中的過程和函式資訊,型別的資訊
19.DISCONNECT
斷開連線,不退出sqlplus環境
20.EDIT
iSQLPlus中不能用
ED[IT] [file_name[.ext]]
預設在ORACLE_PATH中查詢檔案,找不到則到當前目錄查詢,再找不到則報錯
如果未指定檔名,表示編輯當前緩衝區內容,該內容預設存放在AGIEDT.BUF檔案中
21.EXECUTE
EXEC[UTE] statement
執行pl/sql語句
22.EXIT
{EXIT | QUIT} [SUCCESS | FAILURE | WARNING | n | variable | :BindVariable] [COMMIT |ROLLBACK]
23.GET
GET [FILE] file_name[.ext] [LIS[T] | NOL[IST]]
將作業系統檔案放入sql buffer
24.HELP
幫助
25.HOST
HO[ST] [command]
到作業系統環境執行命令
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26451536/viewspace-753596/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 第十三章 sqlplus命令(二)SQL
- 第十三章 模組和包
- oracle系列(一)sqlplus命令OracleSQL
- 第十三章:應用函子
- 第十三章 上傳檔案
- 第十三章 瀏覽器事件瀏覽器事件
- 13-第十三章 日期物件Date物件
- SQLPlus命令使用指南(一) (轉)SQL
- 第十三章 瀏覽器事件(bjsuo)瀏覽器事件JS
- sqlplus set命令SQL
- sqlplus 命令大全SQL
- [單刷APUE系列]第十三章——守護程式
- 第十三章 物件的複製及儲存物件
- 第十三章 Perl的物件導向程式設計物件程式設計
- sqlplus專用命令SQL
- sqlplus column命令用法SQL
- sqlplus 內部命令SQL
- SQLPLUS的ACCEPT命令SQL
- sqlplus set命令使用SQL
- SQLPLUS 的COPY命令SQL
- sqlplus 命令列格式SQL命令列
- sqlplus下的命令SQL
- SQLPLUS命令彙總SQL
- Flask教程第十三章:國際化和本地化Flask
- 第十章 sqlplus的安全性SQL
- SQLPlus 常用命令SQL
- oracle sqlplus命令詳解OracleSQL
- sqlplus命令使用大全(轉)SQL
- sqlplus命令回撥配置SQL
- sqlplus命令集錦SQL
- sqlplus中change命令的用法SQL
- 【sqlplus】SQL*Plus命令使用大全SQL
- sqlplus中常用命令SQL
- oracle sqlplus 常用命令OracleSQL
- JS高階程式設計第十三章.個人學習筆記JS程式設計筆記
- 第十三章——法律法規與標準化知識(2分)
- sqlplus(一)SQL
- Sqlplus下的set命令詳解SQL