设为首页 收藏本站
查看: 554|回复: 0

[经验分享] ORACLE--SQL*PLUS的环境命令

[复制链接]

尚未签到

发表于 2016-7-31 14:31:07 | 显示全部楼层 |阅读模式
  一、环境设置命令
1、SET命令
使用SET命令可以改变SQL*PLUS环境特征参数的值。其命令格式是:SET<选项><值或开关状态>其中选项是指环境参数的名称,<值或开关状态>指该参数被设置成ON还是OFF,或是某个具体的值。
例1、设置自动提交状态。
SQL>SET AUTOCOMMIT ON
下面给出几个常用的环境参数设置(其中有下划线者为系统的缺省值):
(1)SET AUTOCOMMIT{OFF|ON|IMMEDIATE}
OFF——关闭自动提交功能。
ON或IMM——打开自动提交功能。
(2)SET ECHO{OFF|ON}
ON——SQL*PLUS执行命令文件时,将命令本身显示在屏幕上。
OFF——执行命令文件时,命令本身不显示在屏幕上。
(3)SET FEEDBACK{OFF|ON}
ON——查询结束时,给出查询结果的记录数信息
OFF——查询结束时,没有查询结果的记录数信息。
(4)SET HEADING {OFF|ON}
ON——各列的标题(包括文字和下划线)在结果报表上显示。
OFF——各列的标题不在报表上显示。
(5)SET LINESIZE{80|n}
该项设置SQL*PLUS的行宽,即一行所能显示的最大字符数。当用SQL*PLUS命令制图报表标题为居中或右对齐时,系统在计算标题的合适位置时也要用到这个参数。该参灵敏的缺省值为80个字符,最大值为999。
(6)SET PAGESIZE{14|n}
该参数设置每页输出的行数,包括TTITLE(头标题)、BTITLE(底标题)、COLUMN(列标题)和空行。该项缺省值是每页14行。
(7)
SET PAUSE{OFF|ON|text}
ON——在显示输出每一页后,等待用户按RETURN键继续显示。
OFF——表示每页显示之间不停顿。
Text——在显示每一页后停顿,等待用户按RETUNR键,并在屏幕下方显示text的提示信息。
(8)SET BUFFER {buffer}
设置{buffer}为当前的命令缓冲区。通常情况下,SQL缓冲区为当前命令缓冲区。

  (9)SET ARRAYSIZE {number}

  这个命令定义Oracle每次调用返回的行数,它的最大是5000,但数组大小超过100通常就不再会对性能产生更多的影响,这个值越大,Oracle在每次取值中所需要的内存也就越多。
  (10)SET MAXDATA {number}
  设置SQLPLUS能处理的数据行的最大宽度。它通常和ARRAYSIZE命令一起使用;该值取值越大,ARRAYSIZE的取值就应该越小。
  (11)set timing on--------------------------------------------------设置显示“命令已用时间:XXXX”
  (12)set time on-----------------------------------------------------设置显示当前时间
(13)
set autotrace on-----------------------------------------------设置允许对执行的sql进行分析
例2、建立名为A的缓冲区:
SQL>SET BUFFER A
由于SQL缓冲区只能存放一条SQL命令,所以可以用SET BUFFER命令设置其他命令缓冲区,来存放多条SQL命令和SQL*PLUS命令。
用户可以使用SQL*PLUS的行编辑——LIST,DEL,APPEND,CHANGE等命令对该缓冲区中的所有行操作,也可以用SAVE命令将该缓冲区中的内容保存到一个文件中,并可以用GET命令将文件中的内容取回到缓冲区。但该命令缓冲区不能直接执行SQL或SQL*PLUS命令,而是通过将其中的内容保存到文件中,再使用START命令来完成。不论是来自于命令行还是命令文件,只要执行一个SQL命令,命令缓冲区就被自动置回为SQL缓冲区。但其他缓冲区中的内容依然存在,可以再次使用SETBUFFER命令进入所需要的缓冲区。SET命令更详细的说明可以参见本套书的第二册《ORACLE7技术手册》的SQL*PLUS命令一章。SET命令对环境特征参数的改变只在本次会话期间内有效,即一旦退出SQL*PLUS,再进入时,你所设置的参数值全部恢复成系统的缺省值。如果需要经常设置某些参数,可以在该用户的当前目录下建立名为LOGIN.SQL的文件,并将参数设置命令写入其中。此外还可以将SQL命令、PL/SQL过程块或SQL*PLUS命令定入该文件中。每次用户启动SQL*PLUS,系统都会自动寻找用户当前路径下的LOGIN.SQL文件,并执行文件中的内容。若对已有的LOGIN.SQL文件进行了修改,原有的内容将会保存在LOGIN.OLD文件中。用户可以通过LOGIN.SQL文件来设置自己的SQL*PLUS环境
2、SHOW命令
SHOW命令可以显示SQL*PLUS的一个或全部特征参数的值。其命令格式是:
SHOW{ALL|选项}
例3、
SQL>SHOW ALL
该命令显示SQL*PLUS全部环境参数的值。
例4、
SQL>SHOW AUTOCOMMIT
该命令显示自动提交状态的设置情况。
例5、
SQL>SHOW USER
该命令将显示当前的用户标识,即当前的用户名。
例6、
SQL>SHOW TTITLE
该命令显示当前报表使用的头标题的内容。

  
  一些具体示例:
  1.set verify on/off
  当在sqlplus中运行的sql语句中有替代变量(以&或&&打头)的时候,
set verify(或ver) on/off可以设置是否显示替代变量被替代前后的语句。
如:
SQL> set ver on;
SQL> select * from dual where 1=&var;
Enter value for var: 1
old 1: select * from dual where 1=&var
new 1: select * from dual where 1=1

DU
--
X

而如果设为off,则显示如下:
SQL> set ver off;
SQL> select * from dual where 1=&var;
Enter value for var: 1

DU
--
X

使用以&和&&开头的替代变量的前提是set define on;(不过这是缺省状态)。

  2. set feedback on/off
  回显本次sql命令处理的记录条数,缺省为on

  SQL> select * from test where id = 1;
  NAME ID
---------- ----------
a 1
b 1

  已选择2行。
  SQL> set feedback off;
SQL> /

  NAME ID
---------- ----------
a 1
b 1

  SQL> set feedback on;
SQL> /

  NAME ID
---------- ----------
a 1
b 1

  已选择2行。
  
  3. set timing on
  SQL> set timing on
SQL> analyze table dl_hqk compute statistics;

  Table analyzed


  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-251513-1-1.html 上篇帖子: [ORACLE] SQL语句的优化方法 下篇帖子: Oracle DDL,DML,DCL,TCL 总结
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表