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>
作者:topwqp 发表于2013-5-28 23:49:11 原文链接
阅读:116 评论:0 查看评论