oracle sqlplus 常用命令大全

时间:2016.04.20 发布人:qiyanhuei

oracle sqlplus 常用命令大全

已解决问题

谷歌qiyanhuei用户在2016.04.20提交了关于“钱钟书oracle sqlplus 常用命令大全”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-23T20:32:57。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,不知道说什么,送你一朵小红花吧 !

希望以下的回答,能够帮助你。

第1个回答

用户名:海鸥19881  

SQL>showall--查看所有68个系统变量值
SQL>showuser--显示当前连接用户
SQL>showerror  --显示错误
SQL>setheadingoff--禁止输出列标题,默认值为ON
SQL>setfeedbackoff--禁止显示最后一行的计数反馈信息,默认值为"对6个或更多的记录,回送ON"
S渐果QL>settimingon--默认为OFF,设置查座效沿践询耗时,可用来估计SQL语句的执行时间,测试性能
SQL>setsqlprompt"SQL>"--设置默认提示符,默认值就是"SQL>"
SQL>setlinesize1000--设置屏幕显示行宽,默认100
SQL>setautocommitON--设置是否自动提交,默认为OFF
SQL>setpauseon--默认为OFF,来自设置暂停,会使屏幕显示停止,等待按下ENTER键,再显示下一页
SQL>setarraysize1--默认为15
SQ问答L>setlong1000--默认为80
说明:
long值默认为80,设置1000是为了显示更多的内容,因为很多**字典视图中用到了long**类型,如:
SQL>descuser_views
列名可空值否类型
-------------------------------------------
VIEW_NAMENOT**LLVARCh**AR2(30)
TEXT_LENGTh****MBER
搞翻雷定参轻座TEXTLONG
SQL>definea='''2000010112:01:01'''--定义局部变量,如果想用一个类似在各种兵白例尔显示中所包括的回车那样的常量,
--可克架念探天秋相在侵济向以用define命令来设置
SQL>select&afrom**al;
远里长发娘值1:select&afrom**al
新值1:select'2000010112:0球李困律液就1:01'from**al
'2000010112:01:01
-----------------
2000010112:0员起米步二注台取则包1:01
问题提出
1、用户需要对**库用户下的每一张表都执行一末刚于同九尔个相同的SQL操作,这成集换口甲资时,一遍、一遍的键入SQL语句是很麻烦的
实现方法:
SQL>seth坚周计化会停而养特员秋eadingoff--禁止输出列标题
SQL>setfeedbackoff--禁止显示最后一行的计数反馈信息
列出当前用户下所有同义词的定义,可用来测试同义词的真实存在性
select'desc'||tnamefromtabwheretabtype='SYNONYM';
查询当前用户下所有表的记录数
select'select'''||tname||''',count(*)from'||tname||';'fromtab立报湖湖示意放营钟散wheretabtype='TABLE';
把所有符合条件的表的select权限授予为public
select'grantselecton'||table_name||'topublic;'fromus赵牛接细利准族图量供慢er_tablesw药众育弱境代源丰富罪here《条件》;
除用户下各种对象
select'drop'|雨斯艺过强仍板货言|tabtype||''|七义贵主价|tnamefromtab;
删除符合条件用户
select'dropuser'||username||'cascade;'fromall_userswhereuser_id>25;
快速编译所有视图
----当在把**库倒入到新的服务器上后(**库重建),需要将视图重新编译一遍,
----因为该表空间视图到其它表空间的表的连接会出现问题,可以利用PL/SQL的语言特性,快速编译。
SQL>SPOOLON.SQL
SQL>**LECT'ALTERVIEW'||TNAME||'COMPILE;'FROMTAB;
SQL>SPOOLOFF
然后执行ON.SQL即可。
SQL>@ON.SQL
当然,授权和创建同义词也可以快速进行,如:
SQL>**LECT'GRANT**LECTON'||TNAME||'TO用户名;'FROMTAB;
SQL>**LECT'CREATESYNONYM'||TNAME||'FOR用户名.'||TNAME||';'FROMTAB;
命令列表:
假设当前执行命令为:select*fromtab;
(a)ppend    添加文本到缓冲区当前行尾    aorderbytname 结果:select*fromtaborderbytname;
                                      (注:a后面跟2个空格)
(c)hange/old/new在当前行用新的文本替换旧的文本 c/*/tname     结果:selecttnamefromtab;
(c)hange/text  从当前行删除文本        c/tab       结果:selecttnamefrom;
del       删除当前行
deln      删除第n行
(i)nput文本  在当前行之后添加一行
(l)ist     显示缓冲区中所有行
(l)istn    显示缓冲区中第n行
(l)istmn   显示缓冲区中m到n行
run       执行当前缓冲区的命令
/        执行当前缓冲区的命令
r        执行当前缓冲区的命令
@文件名     运行调入内存的sql文件,如:
SQL>edits<回车>
如果当前目录下不存在s.sql文件,则系统自动生成s.sql文件,
在其中输入"select*fromtab;",存盘退出。
SQL>@s<回车>
系统会自动查询当前用户下的所有表、视图、同义词。
@@文件名    在.sql文件中调用令一个.sql文件时使用
s**e文件名   将缓冲区的命令以文件方式存盘,缺省文件扩展名为.sql
get文件名   调入存盘的sql文件
start文件名  运行调入内存的sql文件
spool文件名  把这之后的各种操作及执行结果"假脱机"即存盘到磁盘文件上,默认文件扩展名为.lst
spool      显示当前的"假脱机"状态
spooloff    停止输出
例:
SQL>spoola
SQL>spool
正假脱机到A.LST
SQL>spooloff
SQL>spool
当前无假脱机
exit      退出SQL*PLUS
desc表名    显示表的结构
showuser    显示当前连接用户
showerror   显示错误
showall    显示所有68个系统变量值
edit      打开默认编辑器,Windows系统中默认是notepad.exe,把缓冲区中最后一条SQL语句调入afiedt.buf文件中进行编辑
edit文件名   把当前目录中指定的.sql文件调入编辑器进行编辑
clearscreen  清空当前屏幕显示
二.Oraclesqlplus语句编辑命令
首先我们输入这样一条指令:
**LECTemp_id,emp_name
FROMEmployees
input命令可以接着上一条指令的后面添加语句,比如在上述语句运行后输入:
inputWh**EREemp_age>30
便可得到如下指令:
**LECTemp_id,emp_name
FROMEmployees
Wh**EREemp_age>30
ln命令用于指定对以输入的第n行语句进行操作,比如在上述语句运行后输入:
l1则当前选中的语句行即为
**LECTemp_id,emp_name
(语句前有"*"表示)
a命令用于直接在当前行的末尾加上字符,比如在上述语句运行后输入:
a,emp_dept
则执行的指令变为:
**LECTemp_id,emp_name,emp_dept
FROMEmployees
Wh**EREemp_age>30
c命令用于修改当前语句中的字符,比如在上述语句运行后输入:
c/emp_name/emp_age/则执行的指令变为:
**LECTemp_id,emp_age,emp_dept
FROMEmployees
Wh**EREemp_age>30
deln命令用于删除第n行指令,比如在上述语句运行后输入:
DEL3
则执行的指令变为:
**LECTemp_id,emp_age,emp_dept
FROMEmployees