
已解决问题
谷歌qiyanhuei用户在2016.04.20提交了关于“钱钟书oracle sqlplus 常用命令大全”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-23T20:32:57。希望大家能够帮助她。详细问题描述及疑问:期待您的答案,不知道说什么,送你一朵小红花吧 !
详细问题描述及疑问:期待您的答案,不知道说什么,送你一朵小红花吧 !
SQL>sho
SQL>showuser--显示当前连接用户
SQL>sho
SQL>setheadin
SQL>set
S
SQL>setsqlprompt"SQL>"--设置默认提示符,默认值就是"S
SQL>setlinesize1000--设置屏幕显
SQL>setautocommitON--设置是否自动提交,默认为O
SQL>setpauseon--默认为OFF,
SQL>setarraysize1--默认为15
SQ
说明:
long值默认为80,设置100
SQL>descuser_views
列名可空值否类型
----------------------------
VIEW_NAMENOT**LLVARCh**AR2(30)
TEXT_LENGTh****MBER
SQL>definea='''200
--可
SQL>select&afrom**al;
原
新值1
------------
2000010112:0
问题提出
1、用户需要对**库用户下的每一张表都执行一
实现方法:
SQL>seth
列出当前用户下所有
查询当前用户下所有表的记录数
select'select'''||tn
把所有符合条件的表的select权限授予为public
select
删
select'drop'|
删除符合条件用户
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