亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

SQL*PLUS命令的使用大全

系統 1619 0

? ? ? ?Oracle sql*plus 是與 oracle 進行交互的客戶端工具。在 sql*plus 中,可以運行 sql*plus 命令與 sql*plus 語句。 ?
??? 我們通常所說的 DML 、 DDL 、 DCL 語句都是 sql*plus 語句,它們執行完后,都可以保存在一個被稱為 sql?buffer 的內存區域中,并且只能保存一條最近執行的 sql 語句,我們可以對保存在 sql?buffer 中的 sql? 語句進行修改,然后再次執行, sql*plus 一般都與數據庫打交道。 ?
??? 除了 sql*plus 語句,在 sql*plus 中執行的其它語句我們稱之為 sql*plus 命令。它們執行完后,不保存在 sql?buffer 的內存區域中,它們一般用來對輸出的結果進行格式化顯示,以便于制作報表。 ?
??? 下面就介紹一下一些常用的 sql*plus 命令: ?
??
1.? 執行一個 SQL 腳本文件 ?
SQL>start?file_name?
SQL>@?file_name?
我們可以將多條 sql 語句保存在一個文本文件中,這樣當要執行這個文件中的所有的 sql 語句時,用上面的任一命令即可,這類似于 dos 中的批處理。 ?
??
2.? 對當前的輸入進行編輯 ?
SQL>edit?
??
3.? 重新運行上一次運行的 sql 語句 ?
SQL>/?
??
4.? 將顯示的內容輸出到指定文件 ?
SQL>?SPOOL?file_name?
??? 在屏幕上的所有內容都包含在該文件中,包括你輸入的 sql 語句。 ?
??
5.? 關閉 spool 輸出 ?
SQL>?SPOOL?OFF?
??? 只有關閉 spool 輸出,才會在輸出文件中看到輸出的內容。 ?
??
6 .顯示一個表的結構 ?
SQL>?desc?table_name?
??
7.?COL 命令: ?
主要格式化列的顯示形式。 ?
該命令有許多選項,具體如下: ?
COL[UMN]?[{?column|expr}?[?option?...]]?
Option 選項可以是如下的子句 :?
ALI[AS]?alias?
CLE[AR]?
FOLD_A[FTER]?
FOLD_B[EFORE]?
FOR[MAT]?format?
HEA[DING]?text?
JUS[TIFY]?{L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}?
LIKE?{?expr|alias}?
NEWL[INE]?
NEW_V[ALUE]?variable?
NOPRI[NT]|PRI[NT]?
NUL[L]?text?
OLD_V[ALUE]?variable?
ON|OFF?
WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]?
??
1).? 改變缺省的列標題 ?
COLUMN?column_name?HEADING?column_heading?
For?example:?
Sql>select?*?from?dept;?
?????DEPTNO?DNAME????????????????????????LOC?
----------?----------------------------?---------?
?????????10?ACCOUNTING???????????????????NEW?YORK?
sql>col??LOC?heading?location?
sql>select?*?from?dept;?
????DEPTNO?DNAME????????????????????????location?
---------?----------------------------?-----------?
????????10?ACCOUNTING???????????????????NEW?YORK?
??
2).? 將列名 ENAME 改為新列名 EMPLOYEE?NAME 并將新列名放在兩行上: ?
Sql>select?*?from?emp?
Department??name???????????Salary?
----------?----------?----------?
?????????10?aaa????????????????11?????????
SQL>?COLUMN?ENAME?HEADING?’Employee|Name’?
Sql>select?*?from?emp?
????????????Employee?
Department??name???????????Salary?
----------?----------?----------??
?????????10?aaa????????????????11?
note:?the?col?heading?turn?into?two?lines?from?one?line.?
??
3).? 改變列的顯示長度: ?
FOR[MAT]?format?
Sql>select?empno,ename,job?from?emp;?
??????EMPNO?ENAME??????JOB????????
----------?----------?????---------?
???????7369?SMITH??????CLERK??????
???????7499?ALLEN??????SALESMAN???
7521?WARD???????SALESMAN???
Sql>?col?ename?format?a40?
??????EMPNO?ENAME????????????????????????????????????JOB?
----------???----------------------------------------?????????---------?
???????7369?SMITH????????????????????????????????????CLERK?
???????7499?ALLEN????????????????????????????????????SALESMAN?
???????7521?WARD????????????????????????????????????SALESMAN?
??
4).? 設置列標題的對齊方式 ?
JUS[TIFY]?{L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}?
SQL>?col?ename?justify?center?
SQL>?/?
??????EMPNO???????????ENAME???????????????????JOB?
----------???----------------------------------------???????---------?
???????7369?SMITH????????????????????????????????????CLERK?
???????7499?ALLEN????????????????????????????????????SALESMAN?
7521?WARD?????????????????????????????????????SALESMAN?
對于 NUMBER 型的列,列標題缺省在右邊,其它類型的列標題缺省在左邊 ?
??
5).? 不讓一個列顯示在屏幕上 ?
NOPRI[NT]|PRI[NT]?
SQL>?col?job?noprint?
SQL>?/?
??????EMPNO???????????ENAME?
----------?????----------------------------------------?
???????7369?SMITH?
???????7499?ALLEN?
7521?WARD?
??
6).? 格式化 NUMBER 類型列的顯示: ?
SQL>?COLUMN?SAL?FORMAT?$99,990?
SQL>?/?
Employee?
Department?Name????????Salary????Commission?
----------?----------?---------?----------?
30??????????ALLEN????????$1,600????300?
??
7).? 顯示列值時,如果列值為 NULL 值,用 text 值代替 NULL ?
COMM?NUL[L]?text?
SQL>COL?COMM?NUL[L]?text?
??
8).? 設置一個列的回繞方式 ?
WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]?
????????COL1?
--------------------?
HOW?ARE?YOU??
??
SQL>COL?COL1?FORMAT?A5?
SQL>COL?COL1?WRAPPED?
COL1?
-----?
HOW?A?
RE?YO?
U??
??
SQL>?COL?COL1?WORD_WRAPPED?
COL1?
-----?
HOW?
ARE?
YOU??
??
SQL>?COL?COL1?WORD_WRAPPED?
COL1?
-----?
HOW?A?
??
9).? 顯示列的當前的顯示屬性值 ?
SQL>?COLUMN?column_name?
??
10).? 將所有列的顯示屬性設為缺省值 ?
SQL>?CLEAR?COLUMNS?
??
8.? 屏蔽掉一個列中顯示的相同的值 ?
BREAK?ON?break_column?
SQL>?BREAK?ON?DEPTNO?
SQL>?SELECT?DEPTNO,?ENAME,?SAL?
FROM?EMP?
??WHERE?SAL?<?2500?
??ORDER?BY?DEPTNO;?
DEPTNO??????ENAME?????????SAL?
----------?-----------?---------?
10???????????CLARK????????2450?
MILLER??????1300?
20????????????SMITH???????800?
ADAMS???????1100?
??
9.? 在上面屏蔽掉一個列中顯示的相同的值的顯示中,每當列值變化時在值變化之前插入 n 個空行。 ?
BREAK?ON?break_column?SKIP?n?
??
SQL>?BREAK?ON?DEPTNO?SKIP?1?
SQL>?/?
DEPTNO?ENAME?SAL?
----------?-----------?---------?
10?CLARK?2450?
MILLER?1300?
??
20?SMITH?800?
ADAMS?1100?
??
10.? 顯示對 BREAK 的設置 ?
SQL>?BREAK?
??
11.? 刪除 6 、 7 的設置 ?
SQL>?CLEAR?BREAKS?
??
12.?Set? 命令: ?
該命令包含許多子命令: ?
SET?system_variable?value?
system_variable?value? 可以是如下的子句之一: ?
APPI[NFO]{ON|OFF|text}?
ARRAY[SIZE]?{15|n}?
AUTO[COMMIT]{ON|OFF|IMM[EDIATE]|n}?
AUTOP[RINT]?{ON|OFF}?
AUTORECOVERY?[ON|OFF]?
AUTOT[RACE]?{ON|OFF|TRACE[ONLY]}?[EXP[LAIN]]?[STAT[ISTICS]]?
BLO[CKTERMINATOR]?{.|c}?
CMDS[EP]?{;|c|ON|OFF}?
COLSEP?{_|text}?
COM[PATIBILITY]{V7|V8|NATIVE}?
CON[CAT]?{.|c|ON|OFF}?
COPYC[OMMIT]?{0|n}?
COPYTYPECHECK?{ON|OFF}?
DEF[INE]?{&|c|ON|OFF}?
DESCRIBE?[DEPTH?{1|n|ALL}][LINENUM?{ON|OFF}][INDENT?{ON|OFF}]?
ECHO?{ON|OFF}?
EDITF[ILE]?file_name[.ext]?
EMB[EDDED]?{ON|OFF}?
ESC[APE]?{\|c|ON|OFF}?
FEED[BACK]?{6|n|ON|OFF}?
FLAGGER?{OFF|ENTRY?|INTERMED[IATE]|FULL}?
FLU[SH]?{ON|OFF}?
HEA[DING]?{ON|OFF}?
HEADS[EP]?{||c|ON|OFF}?
INSTANCE?[instance_path|LOCAL]?
LIN[ESIZE]?{80|n}?
LOBOF[FSET]?{n|1}?
LOGSOURCE?[pathname]?
LONG?{80|n}?
LONGC[HUNKSIZE]?{80|n}?
MARK[UP]?HTML?[ON|OFF]?[HEAD?text]?[BODY?text]?[ENTMAP?{ON|OFF}]?[SPOOL?
{ON|OFF}]?[PRE[FORMAT]?{ON|OFF}]?
NEWP[AGE]?{1|n|NONE}?
NULL?text?
NUMF[ORMAT]?format?
NUM[WIDTH]?{10|n}?
PAGES[IZE]?{24|n}?
PAU[SE]?{ON|OFF|text}?
RECSEP?{WR[APPED]|EA[CH]|OFF}?
RECSEPCHAR?{_|c}?
SERVEROUT[PUT]?{ON|OFF}?[SIZE?n]?[FOR[MAT]?{WRA[PPED]|WOR[D_?
WRAPPED]|TRU[NCATED]}]?
SHIFT[INOUT]?{VIS[IBLE]|INV[ISIBLE]}?
SHOW[MODE]?{ON|OFF}?
SQLBL[ANKLINES]?{ON|OFF}?
SQLC[ASE]?{MIX[ED]|LO[WER]|UP[PER]}?
SQLCO[NTINUE]?{>?|text}?
SQLN[UMBER]?{ON|OFF}?
SQLPRE[FIX]?{#|c}?
SQLP[ROMPT]?{SQL>|text}?
SQLT[ERMINATOR]?{;|c|ON|OFF}?
SUF[FIX]?{SQL|text}?
TAB?{ON|OFF}?
TERM[OUT]?{ON|OFF}?
TI[ME]?{ON|OFF}?
TIMI[NG]?{ON|OFF}?
TRIM[OUT]?{ON|OFF}?
TRIMS[POOL]?{ON|OFF}?
UND[ERLINE]?{-|c|ON|OFF}?
VER[IFY]?{ON|OFF}?
WRA[P]?{ON|OFF}?
??
1).? 設置當前 session 是否對修改的數據進行自動提交 ?
SQL>SET?AUTO[COMMIT]?{ON|OFF|IMM[EDIATE]|?n}?
??
2) .在用 start 命令執行一個 sql 腳本時,是否顯示腳本中正在執行的 SQL 語句 ?
SQL>?SET?ECHO?{ON|OFF}?
??
3). 是否顯示當前 sql 語句查詢或修改的行數 ?
SQL>?SET?FEED[BACK]?{6|n|ON|OFF}?
??? 默認只有結果大于 6 行時才顯示結果的行數。如果 set?feedback?1? ,則不管查詢到多少行都返回。當為 off? 時,一律不顯示查詢的行數 ?
??
4). 是否顯示列標題 ?
SQL>?SET?HEA[DING]?{ON|OFF}?
set?heading?off? 時,在每頁的上面不顯示列標題,而是以空白行代替 ?
??
5). 設置一行可以容納的字符數 ?
SQL>?SET?LIN[ESIZE]?{80|n}?
??? 如果一行的輸出內容大于設置的一行可容納的字符數,則折行顯示。 ?
??
6). 設置頁與頁之間的分隔 ?
SQL>?SET?NEWP[AGE]?{1|n|NONE}?
set?newpage?0? 時,會在每頁的開頭有一個小的黑方框。 ?
set?newpage?n? 時,會在頁和頁之間隔著 n 個空行。 ?
set?newpage?none? 時,會在頁和頁之間沒有任何間隔。 ?
??
7). 顯示時,用 text 值代替 NULL ?
SQL>?SET?NULL?text?
??
8). 設置一頁有多少行數 ?
SQL>?SET?PAGES[IZE]?{24|n}?
如果設為 0 ,則所有的輸出內容為一頁并且不顯示列標題 ?
??
9). 是否顯示用 DBMS_OUTPUT.PUT_LINE 包進行輸出的信息。 ?
SQL>?SET?SERVEROUT[PUT]?{ON|OFF}??
在編寫存儲過程時,我們有時會用 dbms_output.put_line 將必要的信息輸出,以便對存儲過程進行調試,只有將 serveroutput 變量設為 on 后,信息才能顯示在屏幕上。 ?
??
10). SQL 語句的長度大于 LINESIZE 時,是否在顯示時截取 SQL 語句。 ?
SQL>?SET?WRA[P]?{ON|OFF}?
??? 當輸出的行的長度大于設置的行的長度時(用 set?linesize?n 命令設置),當 set?wrap?on 時,輸出行的多于的字符會另起一行顯示,否則,會將輸出行的多于字符切除,不予顯示。 ?
??
11). 是否在屏幕上顯示輸出的內容,主要用與 SPOOL 結合使用。 ?
SQL>?SET?TERM[OUT]?{ON|OFF}?
??? 在用 spool 命令將一個大表中的內容輸出到一個文件中時,將內容輸出在屏幕上會耗費大量的時間,設置 set?termspool?off 后,則輸出的內容只會保存在輸出文件中,不會顯示在屏幕上,極大的提高了 spool 的速度。 ?
??
12). SPOOL 輸出中每行后面多余的空格去掉 ?
SQL>?SET?TRIMS[OUT]?{ON|OFF}??
????
13) 顯示每個 sql 語句花費的執行時間 ?
set?TIMING??{ON|OFF}?
??
14 .修改 sql?buffer 中的當前行中,第一個出現的字符串 ?
C[HANGE]?/old_value/new_value?
SQL>?l?
???1*?select?*?from?dept?
SQL>?c/dept/emp?
???1*?select?*?from?emp?
??
15 .編輯 sql?buffer 中的 sql 語句 ?
EDI[T]?
??
16 .顯示 sql?buffer 中的 sql 語句, list?n 顯示 sql?buffer 中的第 n 行,并使第 n 行成為當前行 ?
L[IST]?[n]?
??
17 .在 sql?buffer 的當前行下面加一行或多行 ?
I[NPUT]?
??
18 .將指定的文本加到 sql?buffer 的當前行后面 ?
A[PPEND]?
SQL>?select?deptno,?
???2??dname?
???3??from?dept;?
?????DEPTNO?DNAME?
----------?--------------?
?????????10?ACCOUNTING?
?????????20?RESEARCH?
?????????30?SALES?
?????????40?OPERATIONS?
??
SQL>?L?2?
???2*?dname?
SQL>?a?,loc?
???2*?dname,loc?
SQL>?L?
???1??select?deptno,?
???2??dname,loc?
???3*?from?dept?
SQL>?/?
??
?????DEPTNO?DNAME??????????LOC?
----------?--------------?-------------?
?????????10?ACCOUNTING?????NEW?YORK?
?????????20?RESEARCH???????DALLAS?
?????????30?SALES??????????CHICAGO?
?????????40?OPERATIONS?????BOSTON?
??
19 .將 sql?buffer 中的 sql 語句保存到一個文件中 ?
SAVE?file_name?
??
20 .將一個文件中的 sql 語句導入到 sql?buffer ?
GET?file_name?
??
21 .再次執行剛才已經執行的 sql 語句 ?
RUN?
or?
/?
??
22 .執行一個存儲過程 ?
EXECUTE?procedure_name?
??
23 .在 sql*plus 中連接到指定的數據庫 ?
CONNECT?user_name/passwd@db_alias?
??
24 .設置每個報表的頂部標題 ?
TTITLE?
??
25 .設置每個報表的尾部標題 ?
BTITLE?
??
26 .寫一個注釋 ?
REMARK?[text]?
??
27 .將指定的信息或一個空行輸出到屏幕上 ?
PROMPT?[text]?
??
28 .將執行的過程暫停,等待用戶響應后繼續執行 ?
PAUSE?[text]?
??
Sql>PAUSE?Adjust?paper?and?press?RETURN?to?continue.?
??
29 .將一個數據庫中的一些數據拷貝到另外一個數據庫(如將一個表的數據拷貝到另一個數據庫) ?
COPY?{FROM?database?|?TO?database?|?FROM?database?TO?database}?
{APPEND|CREATE|INSERT|REPLACE}?destination_table?
[(column,?column,?column,?...)]?USING?query?
??
sql>COPY?FROM?SCOTT/TIGER@HQ?TO?JOHN/CHROME@WEST??
create?emp_temp?
USING?SELECT?*?FROM?EMP?
??
30 .不退出 sql*plus ,在 sql*plus 中執行一個操作系統命令: ?
HOST?
??
Sql>?host?hostname?
該命令在 windows 下可能被支持。 ?
??
31 .在 sql*plus 中,切換到操作系統命令提示符下,運行操作系統命令后,可以再次切換回 sql*plus ?
!?
??
sql>!?
$hostname?
$exit?
sql>?
??
該命令在 windows 下不被支持。 ?
??
32 .顯示 sql*plus 命令的幫助 ?
HELP?
如何安裝幫助文件: ?
Sql>@??\sqlplus\admin\help\hlpbld.sql??\sqlplus\admin\help\helpus.sql?
Sql>help?index?
??
33 .顯示 sql*plus 系統變量的值或 sql*plus 環境變量的值 ?
Syntax?
SHO[W]?option?
where?option?represents?one?of?the?following?terms?or?clauses:?
system_variable?
ALL?
BTI[TLE]?
ERR[ORS]?[{FUNCTION|PROCEDURE|PACKAGE|PACKAGE?BODY|?
TRIGGER|VIEW|TYPE|TYPE?BODY}?[schema.]name]?
LNO?
PARAMETERS?[parameter_name]?
PNO?
REL[EASE]?
REPF[OOTER]?
REPH[EADER]?
SGA?
SPOO[L]?
SQLCODE?
TTI[TLE]?
USER?
??
1)?.? 顯示當前環境變量的值: ?
Show?all?
??
2)?.? 顯示當前在創建函數、存儲過程、觸發器、包等對象的錯誤信息 ?
Show?error?
當創建一個函數、存儲過程等出錯時,變可以用該命令查看在那個地方出錯及相應的出錯信息,進行修改后再次進行編譯。 ?
??
3)?.? 顯示初始化參數的值: ?
show?PARAMETERS?[parameter_name]?
??
4)?.? 顯示數據庫的版本: ?
show?REL[EASE]?
??
5)?.? 顯示 SGA 的大小 ?
show?SGA?
??
6).? 顯示當前的用戶名 ?
show?user

?

SQL*PLUS命令的使用大全


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久婷婷综合中文字幕 | 色综合婷婷 | 久久久久国产一级毛片高清片 | 精品视频午夜一区二区 | 色琪琪永久远网址 | 久草狼人 | 久久国产三级精品 | 欧美99视频 | 国产不卡在线 | 欧美精品成人免费视频 | 日韩人成免费网站大片 | 日日干日日操日日射 | 精品福利视频第一 | 99re热久久资源最新获取 | 日本不卡高清中文字幕免费 | 中文字幕一区二区三区永久 | 日本毛片在线看 | 亚洲水蜜桃久久综合网站 | 男人的天堂免费视频 | 日本激情视频一区二区三区 | 亚洲精品在线观看视频 | 国产精品www视频免费看 | 欧美日韩亚洲一区 | 国产爱视频 | 九七97影院理论片手机在线观看 | 国产三级做爰在线观看∵ | 久久久国产这里有的是精品 | 2021国产成人综合亚洲精品 | 日韩毛片在线看 | 涩涩色视频在线播放 | 四虎影视永久免费视频观看 | 囗交免费毛片 | 国产美女白丝袜精品_a不卡 | 性做久久久久久坡多野结衣 | 日本一区二区在线 | 香蕉亚洲| 国产精品欧美久久久久天天影视 | 尹人香蕉久久99天天 | 亚洲精品欧美在线 | 精品国产福利在线观看一区 | a网站免费|