SQL> show all --查看所有68個(gè)系統(tǒng)變數(shù)值?
SQL> show user --顯示目前連線使用者?
SQL> show error --顯示錯(cuò)誤?
SQL> set heading off --禁止輸出列標(biāo)題,預(yù)設(shè)值為顯示錯(cuò)誤?
SQL> set heading off --禁止輸出列標(biāo)題,預(yù)設(shè)值為ON?
SQL> set feedback off --禁止顯示最後一行的計(jì)數(shù)回饋訊息,預(yù)設(shè)值為"對(duì)6個(gè)或更多的記錄,回送ON"?
SQL> set timing on --預(yù)設(shè)值為OFF,設(shè)定查詢耗時(shí),可用來(lái)估計(jì)SQL語(yǔ)句的執(zhí)行時(shí)間,測(cè)試效能?
SQL> set sqlprompt "SQL> " --設(shè)定預(yù)設(shè)提示符,預(yù)設(shè)值就是"SQL> "?
SQL> set linesize 1000 --設(shè)定畫(huà)面顯示行寬,預(yù)設(shè)100?
SQL> set autocommit ON --設(shè)定是否自動(dòng)提交,預(yù)設(shè)為OFF?
SQL> set autocommit ON --設(shè)定是否自動(dòng)提交,預(yù)設(shè)為OFF?
SQL> set autocommit ON --設(shè)定是否自動(dòng)提交,預(yù)設(shè)為OFF?
SQL> set pause on --預(yù)設(shè)為OFF,設(shè)定暫停,會(huì)使螢?zāi)伙@示停止,等待按下ENTER鍵,再顯示下一頁(yè)?
SQL> set arraysize 1 --預(yù)設(shè)為15?
SQL> set long 1000 --預(yù)設(shè)為80?
說(shuō)明:?
long值預(yù)設(shè)為80,設(shè)定1000是為了顯示更多的內(nèi)容,因?yàn)楹芏噘Y料字典檢視中用到了long資料型,如:?
SQL> desc user_views?
欄位名稱可空值否類型?
------------------------------- -------- ----?
VIEW_NAME NOT NULL VARCHAR2(30)?
TEXT_LENGTH NUMBER?
TEXT LONG?
SQL> define a = '''20000101 12:01:01''' --定義局部變數(shù),如果想用一個(gè)類似在各種顯示中所包含的回車那樣的常數(shù),?
--可以用define指令來(lái)設(shè)定?
SQL> select &a from dual;?
原值1: select &a from dual?
新值1: select '20000101 12:01:01' from dual?
'2000010112:01:01?
-----------------?
20000101 12:01:01?
問(wèn)題提出問(wèn)題:?
使用者需要對(duì)資料庫(kù)使用者下的每一張表都執(zhí)行一個(gè)相同的SQL操作,這時(shí),一遍、一遍的鍵入SQL語(yǔ)句是很麻煩的?
實(shí)作方法:?
SQL> set heading off --禁止輸出列標(biāo)題?
SQL> set feedback off --禁止顯示最後一行的計(jì)數(shù)回饋資訊?
列出所有同義字在目前使用者下的定義,可用來(lái)測(cè)試同義字的真實(shí)存在性?
select 'desc '||tname from tab where tabtype='SYNONYM' ;?
查詢目前使用者下所有資料表的記錄數(shù)?
select 'select '''||tname||''',count(*) from '||tname||';' from tab where tabtype='TABLE';
把所有符合條件的表的select權(quán)限授予為public?
select 'grant select on '||table_name||' to public;' from user_tables where 《條件》;?
刪除用戶下各種對(duì)象?
select 'drop '| |tabtype||' '||tname from tab;?
刪除符合條件使用者?
select 'drop user '||username||' cascade;' from all_users where user_id>25;?
快速編譯所有視圖?
----當(dāng)在把資料庫(kù)倒入新的伺服器上後(資料庫(kù)重建),需要將視圖重新編譯一遍,?
----因?yàn)樵摫砜臻g視圖到其它表空間的表的連接會(huì)出現(xiàn)問(wèn)題,可以利用PL/SQL的語(yǔ)言特性,快速編譯。?
SQL> SPOOL ON.SQL?
SQL> SELECT'ALTER VIEW '||TNAME||' COMPILE;' FROM TAB;?
SQL> SPOOL OFF?
然後執(zhí)行ON.SQL即可。
SQL> @ON.SQL?
當(dāng)然,授權(quán)和創(chuàng)建同義詞也可以快速進(jìn)行,例如:?
SQL> SELECT 'GRANT SELECT ON '||TNAME||' TO 使用者名稱;' FROM TAB;?
SQL> SELECT 'CREATE' TO 使用者名稱;' FROM TAB;?
SQL> SELECT 'CREATE SYNONYM '||TNAME||' FOR 使用者名稱.'||TNAME||';' FROM TAB;?
指令清單:?
假設(shè)目前執(zhí)行指令為:select * from tab;?
(a)ppend 新增文字到緩衝區(qū)目前行尾a order by tname 結(jié)果:select * from tab order by tname;?
?。ㄔ]:a後面跟2個(gè)空格)?
(c)hange/old/new 在目前行用新的文字取代舊的文字c/ */tname 結(jié)果:select tname from tab;?
(c)hange/text 從目前行刪除文字c/tab n 刪除第n行?
(i)nput 文字在在目前行之後新增一行?
(l)ist 顯示緩衝區(qū)中所有行?
(l)ist n 顯示緩衝區(qū)中第n 行?
(l)ist m 顯示緩衝區(qū)中第n 行???(l)ist m 執(zhí)行目前緩衝區(qū)的命令???/ 執(zhí)行目前緩衝區(qū)的指令?
r 執(zhí)行目前緩衝區(qū)的指令?
@設(shè)定車標(biāo)入記憶體的檔案,如檔案則系統(tǒng)自動(dòng)產(chǎn)生s.sql文件,?
在其中輸入"select * from tab;",記憶體退出。?
SQL> @s
系統(tǒng)會(huì)自動(dòng)查詢目前使用者下的所有表格、檢視、同義字。
@@檔案名稱在.sql檔案中呼叫令一個(gè).sql檔案時(shí)使用?
save 檔案名稱將緩衝區(qū)的指令以檔案方式記憶體,缺省檔案副檔名為.sql?
get 檔案名稱調(diào)入記憶體的sql檔案?
start 檔案名稱運(yùn)作調(diào)入記憶體的sql檔案?
spool 檔案名稱把這之後的各種操作及執(zhí)行結(jié)果"假脫機(jī)"即記憶體到磁碟檔案上,預(yù)設(shè)檔案副檔名為.lst?
spool 顯示目前的"假脫機(jī)"狀態(tài)?
spool off 停止輸出?
例:?
SQL> spool a?
SQL> spool?
正假脫機(jī)到A.LST?
SQL> spool?
正假脫機(jī)到A.LST8 退出SQL* PLUS?
desc 表名顯示表的結(jié)構(gòu)?
show user 顯示目前連接用戶?
show error 顯示錯(cuò)誤?
show all 顯示錯(cuò)誤?
show all ? 預(yù)設(shè)值器,Windows系統(tǒng)中預(yù)設(shè)是notepad.exe,把緩衝區(qū)中最後一個(gè)SQL語(yǔ)句調(diào)入afiedt.buf檔案中進(jìn)行編輯?
edit 檔案名稱把目前目錄中指定的.sql檔案調(diào)入編輯器進(jìn)行編輯?
clear screen 清除目前畫(huà)面顯示?
二. Oracle sqlplus語(yǔ)句編輯指令?
首先我們輸入這樣一條指令:?
SELECT emp_id, emp_name?
FROM Employees?
input 指令可以接著上一條指令的後面加入語(yǔ)句,例如在上述語(yǔ)句執(zhí)行後輸入:?可取得下列指令:?
SELECT emp_id, emp_name?
FROM Employees?
WHERE emp_age > 30?
ln 指令用於指定以輸入的第n行語(yǔ)句進(jìn)行操作,例如在上述語(yǔ)句執(zhí)行後輸入的語(yǔ)句:?行即為?
SELECT emp_id, emp_name?
(語(yǔ)句前有"*"表示)?
a 指令用於直接在目前行的結(jié)尾加上字符,例如上述語(yǔ)句執(zhí)行後輸入:?
a , emp_dept?
則執(zhí)行的指令變成:?
SELECT emp_id, emp_name, emp_dept?
FROM Employees?
WHERE emp_age > 30?
c 指令用於修改目前語(yǔ)句中的字元,例如上述語(yǔ)句執(zhí)行後輸入:?為:?
SELECT emp_id, emp_age, emp_dept?
FROM Employees?
WHERE emp_age > 30?
del n 指令用於刪除第n行指令,如上述語(yǔ)句執(zhí)行後輸入:?
del n 指令用於刪除第n個(gè)行指令,如同在執(zhí)行上述說(shuō)明emp_id, emp_age, emp_dept?
FROM Employees?
更多oracle sqlplus 常用指令大全相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門(mén)文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)