SQL*Plus菜鳥筆記之第五篇
我們如果執行的命令是PL/SQL blocks(一大片命令),如果你想編輯在SQL Buffer的內容,你可以save出來或者在指令碼里面進行編輯但是如果你覺得麻煩的話,接下來的一些命令可以幫助你。
1、list&change
l m :把buffer中第m行的命令設定為當前行,l為list的簡寫
c/m/n:m為被替換字元,n為替換後字元也就是你想修改成什麼樣子的字元,c為change的簡寫
提示你一個小技巧,如果你這樣寫,c/m,那其實就是刪除m字串,不替換內容,執行的相當於del的效果。
2、新增內容到行末尾
append m:將你想新增的字串m新增到某行的最後,注意append後面跟兩個空格,append可以用簡寫a
3、增加新行
0 m :插入新行m到第一行之前,原第一行順延變成第二行,其他行依次類推。
input m:插入新行m到當前行之後,input可用簡寫i
4、刪除行
del n 刪除第n行
del n m 刪除第n行到m行
del n * 刪除第n到當前行
del n last 刪除第n行到最後一行
del * n 刪除當前行到m行
del * last 刪除當前行到最後一行
del last 刪除最後一行
ps:上面的del全都可以換成list命令。你可以看看效果:)
在sqlplus命令中,只有del和list命令是可對多行進行操作的,其他命令都是單行操作級別的。
5、指令碼註釋方法及注意事項
註釋的三種方法:
REM : 全稱為remark,註釋單行內容,被註釋後的指令碼僅限sqlplus環境使用。
/*.......*/ :標準註釋方法,可註釋多行內容,被註釋後的指令碼具有通用性,推薦使用這個
-- : 註釋單行內容。
注意事項:
5.1 不要在語句的開頭幾個關鍵字中放註釋內容。 因為sqlplus是透過掃描開頭幾個關鍵字來判斷你想執行的命令型別是SQL、PL/SQL bllocks還是sqlplus?避免對sqlplus的判斷有干擾。
5.2 不要再語句結束符號後加註釋,結束符包括".",";","/",一共三種,用引號括起來的。
5.3 不要把分號";"放在行註釋內容中
5.4 不要再註釋內容中使用"&"
給一個針對5.1的例子:
SQL> run
1 /*this just a joke*/
2 SELECT sex_code,sex_name from sex_dict
3 Where sex_code=1
4 /*haha*/
5*
/*this just a joke*/
*
第 1 行出現錯誤:
ORA-24374: 在讀取或執行並讀取之前沒有完成定義
6、執行指令碼
直接使用@或者start即可執行指令碼。例如@/opt/m.sql或者start /opt/m.sql
7、常用的SQLPLUS輸出格式化命令:
a. 執行一個SQL指令碼檔案
SQL>start file_name
SQL>@ file_name
b. 將顯示的內容輸出到指定檔案
SQL> SPOOL file_name
c. 關閉spool輸出
SQL> SPOOL OFF
只有關閉spool輸出,才會在輸出檔案中看到輸出的內容。
d. 改變列的顯示長度.
字元型改變:
SQL> col colname format a40
數值型改變:
SQL> col colname format 99999.99
e. 是否顯示指令碼中正在執行的SQL語句.
SQL> SET ECHO {ON|OFF}
f. 是否顯示當前sql語句查詢或修改的行數.
SQL> SET FEED[BACK] {6|n|ON|OFF}
預設只有結果大於6行時才顯示結果的行數。如果set feedback 1 ,
則不管查詢到多少行都返回。當為off 時,一律不顯示查詢的行數
g. 是否顯示列標題
SQL> SET HEA[DING] {ON|OFF}
當set heading off 時,在每頁的上面不顯示列標題,而是以空白行代替
h. 設定一行可以容納的字元數
SQL> SET LIN[ESIZE] {80|n}
如果一行的輸出內容大於設定的一行可容納的字元數,則折行顯示。
i. 設定頁與頁之間的分隔
SQL> SET NEWP[AGE] {1|n|NONE}
當set newpage 0 時,會在每頁的開頭有一個小的黑方框。
當set newpage n 時,會在頁和頁之間隔著n個空行。
當set newpage none 時,會在頁和頁之間沒有任何間隔。
j. 設定一頁有多少行數
SQL> SET PAGES[IZE] {24|n}
如果設為0,則所有的輸出內容為一頁並且不顯示列標題
k. 是否顯示用DBMS_OUTPUT.PUT_LINE包進行輸出的資訊
SQL> SET SERVEROUT[PUT] {ON|OFF}
這個在shell指令碼中經常使用,預設buffer是256個位元組。
當輸出的大於256時,可以使用SET SERVEROUT on size 1000000;
最大buffer的緩衝區為1000000(9i and 8i)。
l. 當SQL語句的長度大於LINESIZE時,是否在顯示時擷取SQL語句
SQL> SET WRA[P] {ON|OFF}
當輸出的行的長度大於設定的行的長度時(用set linesize n命令設定),
當set wrap on時,輸出行的多於的字元會另起一行顯示,否則,
會將輸出行的多於字元切除,不予顯示。
m. 是否在螢幕上顯示輸出的內容,主要用與SPOOL結合使用
SQL> SET TERM[OUT] {ON|OFF}
在用spool命令將一個大表中的內容輸出到一個檔案中時,
將內容輸出在螢幕上會耗費大量的時間,設定set termspool off後,
則輸出的內容只會儲存在輸出檔案中,不會顯示在螢幕上,
極大的提高了spool的速度。
n. 將SPOOL輸出中每行後面多餘的空格去掉
SQL> SET TRIMS[OUT] {ON|OFF}
o. 顯示每個sql語句花費的執行時間
SQL>set TIMING {ON|OFF}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26006637/viewspace-706153/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 菜鳥筆記之資料結構(24)筆記資料結構
- 菜鳥筆記之PWN入門(1.0.0)前言筆記
- 菜鳥筆記之計算機網路(4)筆記計算機網路
- 【菜鳥教程筆記】Python字串筆記Python字串
- 菜鳥筆記之pwn工具篇--Pwndbg基礎使用筆記
- 【菜鳥教程筆記】python基礎之元組的使用筆記Python
- Android菜鳥學習js筆記一AndroidJS筆記
- 鳥哥私房菜-基礎篇小筆記筆記
- linux-鳥哥私房菜學習筆記Linux筆記
- 鳥哥私房菜學習筆記(第零章)筆記
- 【菜鳥筆記|機器學習】神經網路筆記機器學習神經網路
- React菜鳥入門之setStateReact
- 「Linux」鳥叔私房菜第五章讀書筆記Linux筆記
- 鳥哥的Linux私房菜筆記第六章Linux筆記
- 菜鳥筆記之PWN入門(1.1.0)ELF 檔案格式和程式段解析(簡版)筆記
- 菜鳥學Python之雜湊表Python
- 菜鳥求助!!!
- 菜鳥做 bomb lab 之第一關
- Linux“菜鳥”到“菜鳥的一些建議Linux
- 菜鳥市場
- 好程式設計師web前端分享菜鳥Vue學習筆記(二)程式設計師Web前端Vue筆記
- 【筆記】王興權:從菜鳥變大咖的高效學習方法筆記
- 慶軍之菜鳥記錄-定期檢查並刪除資料
- hashmap == 菜鳥驛站?HashMap
- 菜鳥看前端(Git)前端Git
- java菜鳥入門Java
- [演算法] 演算法菜鳥的爛筆頭演算法
- 【演算法】演算法菜鳥的爛筆頭演算法
- Linux菜鳥到老鳥的那些建議Linux
- 菜鳥學Python之 _, __ 和 __xx__的區別Python
- 菜鳥學習筆記:Java基礎篇1(基礎語法、物件導向)筆記Java物件
- ESlint-菜鳥入門EsLint
- 菜鳥初嘗快速冪
- 跟著菜鳥學pythonPython
- 菜鳥也裝Linux(轉)Linux
- 菜鳥自學之——SRA Toolkit 的下載和使用
- 菜鳥學習計劃淺談之Linux系統Linux
- 菜鳥學網路之 —— 長連線和短連線
- OCP 複習筆記之PL/SQL (1)筆記SQL