spool和屏幕显示
spool /home/oracle/out.txt
创建文件,并将执行结果输出到文件。屏幕上也会显示。假如文件已经存在,将覆盖。
spool /home/oracle/out.txt append
追加模式
spool: 显示当前spool 状态
Spool off; 关闭spool
set termout off: 执行SQL脚本文件时,不要输出到屏幕。交互式输入的SQL不受此影响。与spool联合使用,可以将SQL脚本文件的结果直接保存到文件里,而不是输出到屏幕。
autotrace
- set autotrace on
- set autotrace traceonly
- set autotrace on explain
- set autotrace on stat
set arraysize 200
格式
col abc clear 清除用户的格式设置,采用默认格式
col abc format a20; --将abc列的长度设置为20个字符
col abc format 00; --2位数字,10位不足用0填充
col abc format 99 --2位数字,10位不足不填充。
col abc format $9,000 --四位数字,千位不足不填充。前缀$
col abc 查看当前格式设置
上述数字格式,若实际数字位数超出。将全部显示为#。
break on xxx; 不显示重复的xxx列
break on deptno skip 1; deptno列出现新值时,加一空行
select empno, deptno from emp order by deptno; EMPNO DEPTNO---------- ----------
7935 10
7934
7839
7782
7566 20
7369
7902
7876
7788
7499 30
7844
7900
7521
7698
7654
Define VS declare
Define: 仅仅定义一个替换变量。假如在define里包含公式,将不会被计算。
define: 显示所有替换变量
define abc = sal
define abc : 显示替换变量abc的值
select &abc from emp where rownum =1;
引用abc
这里&abc是一个替换变量,sqlplus 扫描到&时就提示用户输入。
考虑这个SQL:
insert into emp (empno, ename, deptno) values (98, '&abc', 10);
用户不希望&abc作为替换变量,而是作为常量。解决方法:
1. set define off
2. set escape '\'
insert into emp (empno, ename, deptno) values (98, '\&abc', 10);
3. insert into emp (empno, ename, deptno) values (97, chr(38)||'aa',10);
4. insert into emp (empno, ename, deptno) values (96, '&'||'aa',10);
'&'表示一个长度为0的替换变量,sqplus会忽略它。
commit;
Declare: 定义一个绑定变量。
variable abc number --定义
execute :abc := 4; --赋值
print :abc --输出值
Archive Log List
个人sql*Plus配置分享
set timing on
set serveroutput on
set pagesize 100
set linesize 160
set arraysize 200
set termout off
define gname=idle
column global_name new_value gname
select lower(user) || '@' || substr(global_name,1,decode(dot,0,length(global_name),dot-1)) global_name
from (select global_name,instr(global_name,'.') dot from global_name);
set sqlprompt '$&gname> '
set termout on
set null (null) --display (null) that represents a null value
--Global_name是database的global name
--New_value:将column global_name的值赋给gname
本文介绍了SQL*Plus中的一些高级特性,包括spool命令的使用、格式化输出、自动跟踪设置、数组大小调整等。此外还探讨了替换变量与绑定变量的区别及使用技巧。
866

被折叠的 条评论
为什么被折叠?



