show和set命令是两条用于维护SQL*Plus系统变量的命令

SQL> show all --查看所有68个系统变量值 
SQL> show user --显示当前连接用户 
SQL> show error   --显示错误 
SQL> set heading off --禁止输出列标题,默认值为ON 
SQL> set feedback off --禁止显示最后一行的计数反馈信息,默认值为"对6个或更多的记录,回送ON" 
SQL> set timing on --默认为OFF,设置查询耗时,可用来估计SQL语句的执行时间,测试性能 
SQL> set sqlprompt "SQL> " --设置默认提示符,默认值就是"SQL> " 
SQL> set linesize 1000 --设置屏幕显示行宽,默认100 
SQL> set autocommit ON --设置是否自动提交,默认为OFF 
SQL> set pause on --默认为OFF,设置暂停,会使屏幕显示停止,等待按下ENTER键,再显示下一页 
SQL> set arraysize 1 --默认为15 
SQL> set long 1000 --默认为80

说明: 
long值默认为80,设置1000是为了显示更多的内容,因为很多数据字典视图中用到了long数据类型,如:

SQL> desc user_views 
列名 可空值否 类型 
------------------------------- -------- ---- 
VIEW_NAME NOT NULL VARCHAR2(30) 
TEXT_LENGTH NUMBER 
TEXT LONG 
SQL> define a = '''20000101 12:01:01''' --定义局部变量,如果想用一个类似在各种显示中所包括的回车那样的常量, 
--可以用define命令来设置 
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、用户需要对数据库用户下的每一张表都执行一个相同的SQL操作,这时,一遍、一遍的键入SQL语句是很麻烦的 
实现方法: 
SQL> set heading off --禁止输出列标题 
SQL> set feedback off --禁止显示最后一行的计数反馈信息 
列出当前用户下所有同义词的定义,可用来测试同义词的真实存在性 
select 'desc '||tname from tab where tabtype='SYNONYM'; 
查询当前用户下所有表的记录数 
select 'select '''||tname||''',count(*) from '||tname||';' from tab where tabtype='TABLE'; 
把所有符合条件的表的select权限授予为public 
select 'grant select on '||table_name||' to public;' from user_tables where 《条件》; 
删除用户下各种对象 
select 'drop '||tabtype||' '||tname from tab; 
删除符合条件用户 
select 'drop user '||username||' cascade;' from all_users where user_id>25; 
快速编译所有视图 
----当在把数据库倒入到新的服务器上后(数据库重建),需要将视图重新编译一遍, 
----因为该表空间视图到其它表空间的表的连接会出现问题,可以利用PL/SQL的语言特性,快速编译。

SQL> SPOOL ON.SQL 
SQL> SELECT'ALTER VIEW '||TNAME||' COMPILE;' FROM TAB; 
SQL> SPOOL OFF 
然后执行ON.SQL即可。 
SQL> @ON.SQL 
当然,授权和创建同义词也可以快速进行,如: 
SQL> SELECT 'GRANT SELECT ON '||TNAME||' TO 用户名;' FROM TAB; 
SQL> SELECT 'CREATE SYNONYM '||TNAME||' FOR 用户名.'||TNAME||';' FROM TAB; 
命令列表: 
假设当前执行命令为:select * from tab; 
(a)ppend     添加文本到缓冲区当前行尾    a order by tname 结果:select * from tab order by tname; 
                                      (注:a后面跟2个空格) 
(c)hange/old/new 在当前行用新的文本替换旧的文本 c/*/tname     结果:select tname from tab; 
(c)hange/text  从当前行删除文本        c/tab       结果:select tname from ; 
del       删除当前行 
del n      删除第n行 
(i)nput 文本   在当前行之后添加一行 
(l)ist      显示缓冲区中所有行 
(l)ist n     显示缓冲区中第 n 行 
(l)ist m n    显示缓冲区中 m 到 n 行 
run       执行当前缓冲区的命令 
/        执行当前缓冲区的命令 
r        执行当前缓冲区的命令 
@文件名     运行调入内存的sql文件,如: 
SQL> edit s<回车> 
如果当前目录下不存在s.sql文件,则系统自动生成s.sql文件, 
在其中输入"select * from tab;",存盘退出。 
SQL> @s<回车> 
系统会自动查询当前用户下的所有表、视图、同义词。 
@@文件名     在.sql文件中调用令一个.sql文件时使用 
save 文件名   将缓冲区的命令以文件方式存盘,缺省文件扩展名为.sql 
get 文件名    调入存盘的sql文件 
start 文件名   运行调入内存的sql文件 
spool 文件名   把这之后的各种操作及执行结果"假脱机"即存盘到磁盘文件上,默认文件扩展名为.lst 
spool      显示当前的"假脱机"状态 
spool off    停止输出 
例: 
SQL> spool a 
SQL> spool 
正假脱机到 A.LST 
SQL> spool off 
SQL> spool 
当前无假脱机 
exit       退出SQL*PLUS 
desc 表名    显示表的结构 
show user    显示当前连接用户 
show error    显示错误 
show all     显示所有68个系统变量值 
edit       打开默认编辑器,Windows系统中默认是notepad.exe,把缓冲区中最后一条SQL语句调入afiedt.buf文件中进行编辑 
edit 文件名   把当前目录中指定的.sql文件调入编辑器进行编辑 
clear screen   清空当前屏幕显示

二.Oracle sqlplus语句编辑命令 
首先我们输入这样一条指令: 
SELECT emp_id, emp_name 
FROM Employees 
input 命令可以接着上一条指令的后面添加语句,比如在上述语句运行后输入: 
input WHERE emp_age > 30 
便可得到如下指令: 
SELECT emp_id, emp_name 
FROM Employees 
WHERE emp_age > 30 
ln 命令用于指定对以输入的第n行语句进行操作,比如在上述语句运行后输入: 
l1则当前选中的语句行即为 
SELECT emp_id, emp_name 
(语句前有"*"表示) 
a 命令用于直接在当前行的末尾加上字符,比如在上述语句运行后输入: 
a , emp_dept 
则执行的指令变为: 
SELECT emp_id, emp_name, emp_dept 
FROM Employees 
WHERE emp_age > 30 
c 命令用于修改当前语句中的字符,比如在上述语句运行后输入: 
c /emp_name/emp_age/则执行的指令变为: 
SELECT emp_id, emp_age, emp_dept 
FROM Employees 
WHERE emp_age > 30 
del n 命令用于删除第n行指令,比如在上述语句运行后输入: 
DEL 3 
则执行的指令变为: 
SELECT emp_id, emp_age, emp_dept 
FROM Employees

oracle sqlplus命令的更多相关文章

  1. oracle sqlplus命令详解

    涉及到的知识要点 a.带有一个&的替换变量的用法b.带有两个&的替换变量用法c.define命令用法d.accept命令用法e.定制SQL*Plus环境f.在glogin.sql文件中 ...

  2. Oracle sqlplus设置显示格式命令详解

    / 运行 SQL 缓冲区 ? [关键词] 对关键词提供 SQL 帮助 @[@] [文件名] [参数列表] 通过指定的参数,运行指定的命令文件 ACC[EPT] 变量 [DEF[AULT] 值] [PR ...

  3. 安装Oracle之后在DOS命令下不能使用sqlplus命令启动Oracle?

    就像完成安装JDK后需要给系统配置环境变量JAVA_HOME和PATH,以便让系统认识在JDK里面的Javac命令.同样的,安装Oracle也需要这么一个过程.在正常情况下安装Oracle时系统安装程 ...

  4. sqlplus命令行登录oracle数据库的N种方法盘点

    欢迎访问我的个人博客IT废柴,本文永久链接移至:sqlplus命令行登录oracle数据库的N种方法盘点 sqlplus有几种登陆方式Oracle数据库, 比如: 1.以操作系统权限认证的oracle ...

  5. oracle安装完成之后,执行sqlplus命令,提示:bash: sqlplus: command not found...

    1.安装完oracle后,用终端登录,因为不是直接用oracle用户登录的,所以我就执行$ su oracle切换成oracle用户之后,执行"echo $ORACLE_HOME" ...

  6. oracle sqlplus常用命令大全

    show和set命令是两条用于维护SQL*Plus系统变量的命令 SQL> show all --查看所有68个系统变量值 SQL> show user --显示当前连接用户 SQL> ...

  7. oracle sqlplus 常用命令大全

    show和set命令是两条用于维护SQL*Plus系统变量的命令 SQL> show all --查看所有68个系统变量值 SQL> show user --显示当前连接用户 SQL> ...

  8. 安装oracle服务端之后再安装oracle客户端导致sqlplus命令无法使用??

    首先小编自述一下所遇到的问题: 昨天在已经安装 oracle 服务端的 win7 X64 主机上安装 oracle client 之后,发现我的sqlplus命令无法用了??经过百度,都说我服务没有开 ...

  9. 学习笔记:oracle学习二:oracle11g数据库sql*plus命令之常用sqlplus命令、格式化查询结果

    目录 1.常用sqlplus命令 1.1 HELP命令 1.2 describe命令 1.3 SPOOL命令 1.4 其他常用命令 1.4.1 define命令 1.4.2 show命令 1.4.3 ...

随机推荐

  1. Go 随机打乱 字符串 数组

    func Random(strings []string) string { for i := len(strings) - 1; i > 0; i-- { num := rand.Intn(i ...

  2. Cesium 禁止相机进入地底下[转]

    原文:https://blog.csdn.net/thor027/article/details/82455649 viewer.clock.onTick.addEventListener(funct ...

  3. 【Java/Json】Java对Json进行建模,分词,递归向下解析构建Json对象树

    伸手党的福音 代码下载:https://files.cnblogs.com/files/xiandedanteng/JsonLexerBuilder20191202.rar 互联网上成型的对Json进 ...

  4. go语言读写文件

    package main import ( "fmt" "io/ioutil" "os" ) func main() { filename ...

  5. PHP7 serialize_precision 配置不当导致 json_encode() 浮点小数溢出错误

    https://blog.csdn.net/moliyiran/article/details/81179825 感谢 @地狱星星:原因已找到, 该现象只出现在PHP 7.1+版本上建议使用默认值 s ...

  6. 安卓 android studio 报错 Unknown host 'jcenter.bintray.com'. You may need to adjust the proxy settings in Gradle.

    报错截图: 问题原因:因为build.gradle中jcenter()或者maven()被墙了,所以会出现这种情况. 解决方案:(我的gradle版本是:classpath 'com.android. ...

  7. 报错:Configured broker.id 68 doesn't match stored broker.id 113 in meta.properties

    报错背景: CDH中安装完成kafka的组件后不能成功启动,发现UI界面中的broker.id和服务器中的broker.id不一致, 因此更改了服务器中broker.id 但是更改完成之后还是报错. ...

  8. Jrebel激活方法(转)

    本次服务长期稳定提供给各位同学使用哦!服务器地址:https://jrebel.qekang.com/{GUID}在线GUID地址:在线生成GUID如果失效刷新GUID替换就可以!打开jrebel 激 ...

  9. DALFactory出现"未能加载文件或程序集“DAL”或它的某一个依赖项。系统找不到指定的文件”的解决方案 .

    自己在使用抽象工厂+配置文件+反射实现重构机房的过程中,遇到了这种情况, 当初自己认真的检查了反射中的代码,都是没有问题,请教了师姐,检查了抽象工厂与反射的使用都没有问题 // 查找我们将要使用的数据 ...

  10. 【Leetcode_easy】840. Magic Squares In Grid

    problem 840. Magic Squares In Grid solution: class Solution { public: int numMagicSquaresInside(vect ...