1:pause的用法
先造数据:
SQL> desc test;
名称 是否为空? 类型
----------------------------------------- -------- ------------------------
ID VARCHAR2(50)
NAME VARCHAR2(20)
begin
for i in 10 ..1000
loop
insert into test values(i,'wqp');
update test set name='top';
end loop;
commit;
end;
演示 pause 变量
SQL> show pause;
PAUSE 为 OFF
SQL> show pagesize
pagesize 14
set pause on
set pause ***************************
这样再做查询 select * from test
可以看到 14个数据一页进行显示的效果;
2:设置自动提交
set autocommit on
或者
set autocommit immediate
关闭: set autocommit off
set autocommit on
显示状态:
show autocommit
这样做DML语句的时候会自动提交;但是一般设置为关闭,以免错误提交后后悔。
SQL清屏命令:
clear screen
或者
set autocommit immediate
关闭: set autocommit off
set autocommit on
显示状态:
show autocommit
这样做DML语句的时候会自动提交;但是一般设置为关闭,以免错误提交后后悔。
SQL清屏命令:
clear screen
3:编辑脚本
编辑脚本:
define命令:定义一些变量:
SQL> define
DEFINE _DATE = "28-5月 -13" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "orcl" (CHAR)
DEFINE _USER = "HR" (CHAR)
DEFINE _PRIVILEGE = "" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1101000600" (CHAR)
DEFINE _EDITOR = "Notepad" (CHAR)
DEFINE _O_VERSION = "Oracle Database 11g Enterprise Edition Release 11.1.
6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options"
CHAR)
DEFINE _O_RELEASE = "1101000600" (CHAR)
DEFINE _RC = "0" (CHAR)
可以看到 _editor = notepad
在windows中 notepad的路径一定要包含在path环境变量中,
edit ss
默认是编辑 ss的文件。
PL/SQL要另起一行 加上/ 才能执行。
define命令:定义一些变量:
SQL> define
DEFINE _DATE = "28-5月 -13" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "orcl" (CHAR)
DEFINE _USER = "HR" (CHAR)
DEFINE _PRIVILEGE = "" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1101000600" (CHAR)
DEFINE _EDITOR = "Notepad" (CHAR)
DEFINE _O_VERSION = "Oracle Database 11g Enterprise Edition Release 11.1.
6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options"
CHAR)
DEFINE _O_RELEASE = "1101000600" (CHAR)
DEFINE _RC = "0" (CHAR)
可以看到 _editor = notepad
在windows中 notepad的路径一定要包含在path环境变量中,
edit ss
默认是编辑 ss的文件。
PL/SQL要另起一行 加上/ 才能执行。
4:列出sql 缓冲区中的内容并修改
list 或者 l
编辑缓冲区当前行命令:
显示出来的缓冲区内容 * 代表当前行,
如果某行出现错误,错误内容的行为当前行,
change 命令使用:
change命令 缩写 c
编辑缓冲区当前行命令:
显示出来的缓冲区内容 * 代表当前行,
如果某行出现错误,错误内容的行为当前行,
change 命令使用:
change命令 缩写 c
列出哪一行,哪一行是当前行,可以对当前行操作,如果某行sql出现错误, 出现错误的行是当前行,可以直接进行修改。
用法:
SQL> l
1 select id ,name from test
2 where id > 10
3 and id <100
4*
SQL> l 4 --列出第四行数据
4*
SQL> l3 --列出第三行数据
3* and id <100
SQL> c/100/15 --这句是把 100修改为10
3* and id <15
SQL> l ---列出修改后的sql
1 select id ,name from test
2 where id > 10
3 and id <15
4*
SQL> /
ID NAME
-------------------------------------------------- ------------
11 top
12 top
13 top
14 top
11 top
12 top
13 top
14 top
已选择8行。
在某一行 添加部分sql 命令: append 简称 a
SQL> list
1 select id ,name from test
2 where id > 10
3 and id <15
4*
SQL> l 3 --列出第三行
3* and id <15
SQL> a and name like '%to' -- a 是append的缩写 是在这个语句后追加相应的语句 后面是追加的语句
3* and id <15 and name like '%to'
SQL> list
1 select id ,name from test
2 where id > 10
3 and id <15 and name like '%to'
4*
SQL> /
未选定行
SQL> l 3
3* and id <15 and name like '%to' --列出第三行
SQL> c/'%to'/'%to%' --修改第三行 c是change的缩写 /需要修改的地方/修改后的内容
3* and id <15 and name like '%to%'
SQL> list
1 select id ,name from test
2 where id > 10
3 and id <15 and name like '%to%'
4*
SQL> /
ID NAME
-------------------------------------------------- --------------------
11 top
12 top
13 top
14 top
11 top
12 top
13 top
14 top
已选择8行。
在某一行后插入一行的命令: input 简称 i
例子:
SQL> list
1 select id ,name from test
2 where id > 10
3 and id <15 and name like '%to%'
4
5 0
6* 0 /** dddd**/ --这里是上一次插入错误了,下次修改
SQL> 0 /** this is a demo **/ --往第0行插入了一个注释;
SQL> list
1 /** this is a demo **/
2 select id ,name from test
3 where id > 10
4 and id <15 and name like '%to%'
5
6 0
7* 0 /** dddd**/
SQL> 4 ---如果想在某一行后插入语句,首先 list 到 行号 这样就可以把行号设置为当前行
4* and id <15 and name like '%to%'
SQL> i and name is not null -----显示当前行后,可以通过 input 命令 简称 i 进行追加 sql 语句
SQL> list
1 /** this is a demo **/
2 select id ,name from test
3 where id > 10
4 and id <15 and name like '%to%'
5 and name is not null
6
7 0
8* 0 /** dddd**/
SQL>