如何个性化设置自己的sql*plus环境(二)

2014-11-24 11:26:23 · 作者: · 浏览: 1
TEXT
------
I must
e]显示列的当前属性值
col 字段名
[sql]
SQL> col text
COLUMN text ON
FORMAT a6
truncate
f]将所有列清为缺省值
clear columns
[sql]
SQL> clear col
columns cleared
SQL> col text
SP2-0046: COLUMN 'text' not defined
6)set命令
a]设置当前session是否对修改的数据进行自动提交
[sql]
SQL> set auto on
SQL> update t set text='think big for my future';
1 row updated.
Commit complete.
SQL> select * from t;
www.2cto.com
TEXT
--------------------------------------------------------------------------------
think big for my future
SQL> rollback;
Rollback complete.
SQL> select * from t;
TEXT
--------------------------------------------------------------------------------
think big for my future
SQL> set auto off
b]是否显示当前sql查询或修改的行数
SET FEED[BACK] {6|n|ON|OFF}
默认只有结果大于6行时才显示结果的行数。如果set feedback 1 ,则不管查询到多少行都返回。当为off 时,一律不显示查询的行数。
[sql]
SQL> select * from t;
TEXT
--------------------------------------------------------------------------------
think big for my future
SQL> set feed 1
SQL> /
www.2cto.com
TEXT
--------------------------------------------------------------------------------
think big for my future
1 row selected.
c]是否显示用DBMS_OUTPUT.PUT_LINE包进行输出的信息。
SET SERVEROUT[PUT] {ON|OFF}
[sql]
SQL> exec dbms_output.put_line('think');
PL/SQL procedure successfully completed.
SQL> set serveroutput on
SQL> exec dbms_output.put_line('think');
think
PL/SQL procedure successfully completed.
d]显示每个sql语句花费的执行时间
[sql]
set TIMING {ON|OFF}
e]遇到空行时不认为语句已经结束,从后续行接着读入。
SET SQLBLANKLINES ON
[sql]
Sql*plus中, 不允许sql语句中间有空行, 这在从其它地方拷贝脚本到sql*plus中执行时很麻烦. 比如下面的脚本:
select deptno, empno, ename
from emp
/*我是空行*/
where empno = '7788';
如果拷贝到sql*plus中执行, 就会出现错误。这个命令可以解决该问题
7)对sql buffer内的数据的操作
a]修改
c/旧值/新值
[sql]
QL> l
1* select * from t
SQL> c/select/update
1* update * from t
SQL> l
1* update * from t
SQL> c/from/think
1* update * think t
SQL> l www.2cto.com
1* update * think t
b]编辑
edit
SQL> edit
Wrote file afiedt.buf
1* update * think t
c]显示
list n显示sql buffer中的第n行,并使第n行成为当前行
[sql]
SQL> update t
2 set text='think';
1 row updated.
SQL> l
1 update t
2* set text='think'
SQL> l 2
2* set text='think'
d]将sql buffer中的语句保存到一个文件中
[sql]
SQL> save /home/oracle/t.sql
Created file /home/oracle/t.sql
e]将一个文件中的sql语句导入到sql buffer中
[sql]
get file_name
8)在输入sql语句的过程中临时先运行一个sql*plus命令
另起一行,#打头
[sql]
SQL>> select deptno, empno, ename
2 from emp
3 where
6 #desc emp
Name Null Type
----------------------------------------- -------- --------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
6 sal > 4000;
DEPTNO EMPNO ENAME
---------- ---------- ----------
10 7839 KING
基础篇到这边介绍完了,建议大家