`

sqlplus命令

阅读更多
1、“ /“命令
    当运行 Sql*Plus 时, Oracle 会在在缓冲区中保留最后的执行命令,而针对这个缓冲区中的保存的命令,可以使用符号 “/”来快速访问,即可以使用 “/”命令来再次运行您最后执行的命令。
2、Sql*Plus 行编辑之 List 命令
    list命令用于查看Sql 缓冲区中的 Sql 语句,简写为l。缓冲区中只保存了您执行的最后一条 Sql 语句, 而list就是针对这一条语句来进行编辑的,而这一条 Sql 语句可能有 n 行,所以List 命令总共有三种形式:
    list --列出缓冲区中所有的行
    list n --列出缓冲区中的第 n 行
    list * --列出当前行,
    哪一行才是当前行呢,在使用 list 列出后,当前行前面有一个 * 标志,当前行会随着您的选择而变化。
3、Sql*Plus 行编辑之 Del 命令
    del命令用来删除缓冲区中储存的 Sql 语句的指定行,简写为d,也有三种形式:
    del --删除所有行(此处有误,不会删除所有行,待测)
    del n --删除指定行
    del * --删除当前行
4、Sql*Plus 行编辑之 Input 命令
    前面介绍了行编辑的查看和删除,那么这里介绍如何往缓冲区中的行里头添加新的行,这就是使用 Input 命令来实现的,请看下面的例子:
SQL>select * from;
select * from
            *
第1行出现错误:ORA-00903:表名无效
SQL>i test
SQL>l
  1 select * from
  2 test
SQL>/
              ID
------------------
              1
              2
5、Sql*Plus 行编辑之 Change 命令
    change 命令的作用就是将 Sql 缓冲区中的某行进行修改,简写为c。
SQL>select * from test1;
未选定行
SQL>c /test1/test
SQL>l
  1 select * from test
6、清空sql缓冲区
   clear buffer,与del不同,该命令会删除缓冲区中所有行
7、定义SQL编辑器
   define_editor定义编辑器(define_editor=notepad,定义记事本为sql编辑器)
   edit 文件名(不填写文件名将打开默认的文件afiedt.buf)
8、Save命令
    Save 命令是将 Sql 缓冲区中的内容来保存到指定路径的文件中(默认是.sql 的后缀名)。
    如果这个文件已经存在的话,将会写入失败,当然,如果您想覆盖掉这个文件的话,您可以在后面加 Replace 命令,比如 save d:\test replace
9、run命令
   run(缩写是 r) 命令的作用是列出当前缓冲区中的 Sql 语句,同时执行这条语句,其可以和“/”来对比,“/”这个命令只是执行缓冲区中的语句,而并不会显示出缓冲区中的 Sql 语。
   SQL>run
10、@命令
    @命令是用来运行指定路径的文件中定义的 Sql (当然也包括PL/SQL)语句的。
    这个命令既可以在会话层使用,也可以在命令层使用,何为会话层呢,就是当用户登录了 Oracle 时,就会自动建立一个会话,在这个层面上就是会话层;而何为命令层呢,自然就是没有用户登录的情况下,而只是使用 SqlPlus 命令连接到了 Oracle。
    SQL>@D:\test.sql
11、start命令
    start命令和“@”命令功能很类似,但start命令没有 “@”命令那么强大,其只能运行在会话层,而不能工作在命令层。
    SQL>start D:\test.sql
12、get命令
    get 命令将指定路径下的.sql 文件中的内容读取出来,但是并不执行这些内容。
    SQL>get D:\test.sql



Sqlplus中设置常用的显示环境变量
一般情况下可以在在登入sqlplus后通过set linesize 或set pagesize方法来设置行和页的显示。但是这样很麻烦。下面是一劳永逸的方法:
找到E:/oracle/product/10.1.0/db_1/sqlplus/admin目录下的glogin.sql文件 打开它 在里面加入:
set linesize 100
set pagesize 1000
set long 20000
set serveroutput on
这几句,一般就能满足我们的显示需求了。

下面是设置sqlplus变量的方法,show 变量名,可查看变量的值,例如show linesize;
-----------------------------------------------------------------
--定义缓冲编辑器为vi
define_editor=vi
----------------------------------------------------------------
--设置sqlplus一次从数据库中取出的行数,其取值范围为任意正整数
set arraysize 20;
-------------------------------------------------------------------
--设置sqlplus中的命令执行后何时提交到数据库。当设置为on或immidiate时,sql语句执行完后立即提交;而设置成off时,则需要由用户使用commit命令提交。
set autocommit {on|off|immediate};
-----------------------------------------------------------------
--使DBMS_OUTPUT有效,并设置成最大buffer,并防止"吃掉"最前面的空格
set serveroutput on size 1000000 format wrapped
----------------------------------------------------------------
--设置一行可以容纳的字符数
set linesize 256
-----------------------------------------------------------------
--设置一页有多少行数
set pagesize 50
-----------------------------------------------------------------
--设置来回数据显示量,这个值会影响autotrace时一致性读等数据
set arraysize 5000
-----------------------------------------------------------------
--页和页之间不设任何间隔
set newpage none
----------------------------------------------------------------
--LONG或CLOB显示的长度
set long 5000
---------------------------------------------------------------
--将SPOOL输出中每行后面多余的空格去掉
set trimspool on
----------------------------------------------------------------
--设置查询耗时
set timing on
-----------------------------------------------------------------
--autotrace后explain plan output的格式
col plan_plus_exp format a120
-----------------------------------------------------------------
--在屏幕上暂不显示输出的内容,为下面的设置sql做准备
set termout off
-------------------------------------------------------------------
--设置时间格式
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
--------------------------------------------------------------------
--获得用户名和global_name
col login_info_temp new_value login_info
select user||'@'||global_name login_info_temp from global_name;
-------------------------------------------------------------------
--设置sql提示为"user@global_name"
set sqlprompt '&login_info SQL> '
--------------------------------------------------------------------
--在屏幕上显示输出的内容
set termout on
--------------------------------------------------------------------
--列格式控制
col c1 format a1
col cc1 format a1
col c2 format a2
col cc2 format a2
col c3 format a3
col cc3 format a3
col c4 format a4
col cc4 format a4
col c5 format a5
col cc5 format a5
col c6 format a6
col cc6 format a6
col c7 format a7
col cc7 format a7
col c8 format a8
col cc8 format a8
col c9 format a9
col cc9 format a9
col c10 format a10
col cc10 format a10
col c15 format a15
col cc15 format a15
col c20 format a20
col cc20 format a20
col c30 format a30
col cc30 format a30
col c40 format a40
col cc40 format a40
col c50 format a50
col cc50 format a50
col c60 format a60
col cc60 format a60
col c70 format a70
col cc70 format a70
col c80 format a80
col cc80 format a80
col c90 format a90
col cc90 format a90
col c100 format a100
col cc100 format a100
col c150 format a150
col cc150 format a150
col c200 format a200
col cc200 format a200
col c255 format a255
col cc255 format a255
col host format a30
col db_link format a30
col host format a30
col db_link format a30
col member format a60
col name format a60
col owner format a15
col what format a90
col DEST_NAME format a30
col OS_USERNAME format a15
col USERNAME format a15
col USERHOST format a15
col TERMINAL format a15
col OBJ_NAME format a30
col SQL_TEXT format a60
col EVENT format a70
col status format a60
col MESSAGE format a100
col path format a30
col FILE_NAME format a60
col DESTINATION format a50
col OBJECT_NAME format a30
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics