Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

SQL*PLUS使用(三)

$
0
0

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


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要另起一行 加上/ 才能执行。


4:列出sql 缓冲区中的内容并修改

list 或者 l

编辑缓冲区当前行命令:
显示出来的缓冲区内容 * 代表当前行,

如果某行出现错误,错误内容的行为当前行,

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 查看评论

Viewing all articles
Browse latest Browse all 35570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>