oracle sqlplus 常用命令大全
來源:易賢網(wǎng) 閱讀:994 次 日期:2014-09-17 10:21:14
溫馨提示:易賢網(wǎng)小編為您整理了“oracle sqlplus 常用命令大全”,方便廣大網(wǎng)友查閱!

SQL> show all --查看所有68個(gè)系統(tǒng)變量值

SQL> show user --顯示當(dāng)前連接用戶

SQL> show error --顯示錯(cuò)誤

SQL> set heading off --禁止輸出列標(biāo)題,默認(rèn)值為ON

SQL> set feedback off --禁止顯示最后一行的計(jì)數(shù)反饋信息,默認(rèn)值為"對(duì)6個(gè)或更多的記錄,回送ON"

SQL> set timing on --默認(rèn)為OFF,設(shè)置查詢耗時(shí),可用來估計(jì)SQL語句的執(zhí)行時(shí)間,測(cè)試性能

SQL> set sqlprompt "SQL> " --設(shè)置默認(rèn)提示符,默認(rèn)值就是"SQL> "

SQL> set linesize 1000 --設(shè)置屏幕顯示行寬,默認(rèn)100

SQL> set autocommit ON --設(shè)置是否自動(dòng)提交,默認(rèn)為OFF

SQL> set pause on --默認(rèn)為OFF,設(shè)置暫停,會(huì)使屏幕顯示停止,等待按下ENTER鍵,再顯示下一頁

SQL> set arraysize 1 --默認(rèn)為15

SQL> set long 1000 --默認(rèn)為80

說明:

long值默認(rèn)為80,設(shè)置1000是為了顯示更多的內(nèi)容,因?yàn)楹芏鄶?shù)據(jù)字典視圖中用到了long數(shù)據(jù)類型,如:

SQL> desc user_views

列名 可空值否 類型

------------------------------- -------- ----

VIEW_NAME NOT NULL VARCHAR2(30)

TEXT_LENGTH NUMBER

TEXT LONG

SQL> define a = '''20000101 12:01:01''' --定義局部變量,如果想用一個(gè)類似在各種顯示中所包括的回車那樣的常量,

--可以用define命令來設(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

問題提出:

1、用戶需要對(duì)數(shù)據(jù)庫用戶下的每一張表都執(zhí)行一個(gè)相同的SQL操作,這時(shí),一遍、一遍的鍵入SQL語句是很麻煩的

實(shí)現(xiàn)方法:

SQL> set heading off --禁止輸出列標(biāo)題

SQL> set feedback off --禁止顯示最后一行的計(jì)數(shù)反饋信息

列出當(dāng)前用戶下所有同義詞的定義,可用來測(cè)試同義詞的真實(shí)存在性

select 'desc '||tname from tab where tabtype='SYNONYM';

查詢當(dāng)前用戶下所有表的記錄數(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)在把數(shù)據(jù)庫倒入到新的服務(wù)器上后(數(shù)據(jù)庫重建),需要將視圖重新編譯一遍,

----因?yàn)樵摫砜臻g視圖到其它表空間的表的連接會(huì)出現(xiàn)問題,可以利用PL/SQL的語言特性,快速編譯。

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 SYNONYM '||TNAME||' FOR 用戶名.'||TNAME||';' FROM TAB;

命令列表:

假設(shè)當(dāng)前執(zhí)行命令為:select * from tab;

(a)ppend 添加文本到緩沖區(qū)當(dāng)前行尾a order by tname 結(jié)果:select * from tab order by tname;

(注:a后面跟2個(gè)空格)

(c)hange/old/new 在當(dāng)前行用新的文本替換舊的文本 c/*/tname 結(jié)果:select tname from tab;

(c)hange/text從當(dāng)前行刪除文本c/tab 結(jié)果:select tname from ;

del 刪除當(dāng)前行

del n刪除第n行

(i)nput 文本 在當(dāng)前行之后添加一行

(l)ist  顯示緩沖區(qū)中所有行

(l)ist n 顯示緩沖區(qū)中第 n 行

(l)ist m n  顯示緩沖區(qū)中 m 到 n 行

run 執(zhí)行當(dāng)前緩沖區(qū)的命令

/執(zhí)行當(dāng)前緩沖區(qū)的命令

r執(zhí)行當(dāng)前緩沖區(qū)的命令

@文件名 運(yùn)行調(diào)入內(nèi)存的sql文件,如:

SQL> edit s<回車>

如果當(dāng)前目錄下不存在s.sql文件,則系統(tǒng)自動(dòng)生成s.sql文件,

在其中輸入"select * from tab;",存盤退出。

SQL> @s<回車>

系統(tǒng)會(huì)自動(dòng)查詢當(dāng)前用戶下的所有表、視圖、同義詞。

@@文件名 在.sql文件中調(diào)用令一個(gè).sql文件時(shí)使用

save 文件名 將緩沖區(qū)的命令以文件方式存盤,缺省文件擴(kuò)展名為.sql

get 文件名  調(diào)入存盤的sql文件

start 文件名 運(yùn)行調(diào)入內(nèi)存的sql文件

spool 文件名 把這之后的各種操作及執(zhí)行結(jié)果"假脫機(jī)"即存盤到磁盤文件上,默認(rèn)文件擴(kuò)展名為.lst

spool顯示當(dāng)前的"假脫機(jī)"狀態(tài)

spool off停止輸出

例:

SQL> spool a

SQL> spool

正假脫機(jī)到 A.LST

SQL> spool off

SQL> spool

當(dāng)前無假脫機(jī)

exit 退出SQL*PLUS

desc 表名顯示表的結(jié)構(gòu)

show user顯示當(dāng)前連接用戶

show error  顯示錯(cuò)誤

show all 顯示所有68個(gè)系統(tǒng)變量值

edit 打開默認(rèn)編輯器,Windows系統(tǒng)中默認(rèn)是notepad.exe,把緩沖區(qū)中最后一條SQL語句調(diào)入afiedt.buf文件中進(jìn)行編輯

edit 文件名 把當(dāng)前目錄中指定的.sql文件調(diào)入編輯器進(jìn)行編輯

clear screen 清空當(dāng)前屏幕顯示

二.Oracle sqlplus語句編輯命令

首先我們輸入這樣一條指令:

SELECT emp_id, emp_name

FROM Employees

input 命令可以接著上一條指令的后面添加語句,比如在上述語句運(yùn)行后輸入:

input WHERE emp_age > 30

便可得到如下指令:

SELECT emp_id, emp_name

FROM Employees

WHERE emp_age > 30

ln 命令用于指定對(duì)以輸入的第n行語句進(jìn)行操作,比如在上述語句運(yùn)行后輸入:

l1則當(dāng)前選中的語句行即為

SELECT emp_id, emp_name

(語句前有"*"表示)

a 命令用于直接在當(dāng)前行的末尾加上字符,比如在上述語句運(yùn)行后輸入:

a , emp_dept

則執(zhí)行的指令變?yōu)椋?/P>

SELECT emp_id, emp_name, emp_dept

FROM Employees

WHERE emp_age > 30

c 命令用于修改當(dāng)前語句中的字符,比如在上述語句運(yùn)行后輸入:

c /emp_name/emp_age/則執(zhí)行的指令變?yōu)椋?/P>

SELECT emp_id, emp_age, emp_dept

FROM Employees

WHERE emp_age > 30

del n 命令用于刪除第n行指令,比如在上述語句運(yùn)行后輸入:

DEL 3

則執(zhí)行的指令變?yōu)椋?/P>

SELECT emp_id, emp_age, emp_dept

FROM Employees

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看數(shù)據(jù)庫
易賢網(wǎng)手機(jī)網(wǎng)站地址:oracle sqlplus 常用命令大全
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)