第十三章 sqlplus命令(二)

26.INPUT
I[NPUT] [text]
iSQLPlus中不能用
在缓冲区后面添加行,若需添加多行,可以输入input,回车后输入其他内容,以空行表示结束


27.LIST
L[IST] [n | n m | n * | n LAST | * | * n | * LAST | LAST]
*表示当前行


28.PASSWORD
PASSW[ORD] [username]
如果为输入用户名,表示当前用户
该语句用于修改密码


29.PAUSE
暂停
PAU[SE] [text]


30.PRINT
PRI[NT] [variable ...]
不跟变量表示显示所有绑定变量
如果要设置自动显示绑定变量,可以用语句set autoprint on

SQL> variable n number
SQL> begin
  2  :n:=1;
  3  end;
  4  /

PL/SQL procedure successfully completed.

SQL> print

         N
----------
         1


31.PROMPT
PRO[MPT] [text]
将内容显示在屏幕上


32.RECOVER
RECOVER {general | managed | BEGIN BACKUP | END BACKUP}
where the general clause has the following syntax:
[AUTOMATIC] [FROM location]
{ {full_database_recovery | partial_database_recovery | LOGFILE filename}
[ {TEST | ALLOW integer CORRUPTION | parallel_clause } [TEST | ALLOW integer CORRUPTION |
parallel_clause ]...]
| CONTINUE [DEFAULT] | CANCEL}
where the full_database_recovery clause has the following syntax:
[STANDBY] DATABASE
[ {UNTIL {CANCEL | TIME date | CHANGE integer} | USING BACKUP CONTROLFILE}
[UNTIL {CANCEL | TIME date | CHANGE integer} | USING BACKUP CONTROLFILE]...]
where the partial_database_recovery clause has the following syntax:
{TABLESPACE tablespace [, tablespace]...
| DATAFILE {filename | filenumber} [, filename | filenumber]...
| STANDBY {TABLESPACE tablespace [, tablespace]...
| DATAFILE {filename | filenumber} [, filename | filenumber]...}
UNTIL [CONSISTENT WITH] CONTROLFILE }
where the parallel clause has the following syntax:
{ NOPARALLEL | PARALLEL [ integer ] }
where the managed clause has the following syntax:
MANAGED STANDBY DATABASE recover_clause | cancel_clause | finish_clause
where the recover_clause has the following syntax:
{ { DISCONNECT [ FROM SESSION ] | { TIMEOUT integer | NOTIMEOUT } }
| { NODELAY | DEFAULT DELAY | DELAY integer } | NEXT integer
| { EXPIRE integer | NO EXPIRE } | parallel_clause
| USING CURRENT LOGFILE | UNTIL CHANGE integer
| THROUGH { [ THREAD integer ] SEQUENCE integer
| ALL ARCHIVELOG | { ALL | LAST | NEXT } SWITCHOVER} }
[ DISCONNECT [ FROM SESSION ] | { TIMEOUT integer | NOTIMEOUT }
| { NODELAY | DEFAULT DELAY | DELAY integer } | NEXT integer
| { EXPIRE integer | NO EXPIRE } | parallel_clause
| USING CURRENT LOGFILE | UNTIL CHANGE integer
| THROUGH { [ THREAD integer ] SEQUENCE integer
| ALL ARCHIVELOG | { ALL | LAST | NEXT } SWITCHOVER} ] ...
where the cancel_clause has the following syntax:
CANCEL [IMMEDIATE] [WAIT | NOWAIT]
where the finish_clause has the following syntax:
[ DISCONNECT [ FROM SESSION ] ] [ parallel_clause ]
FINISH [ SKIP [ STANDBY LOGFILE ] ] [ WAIT | NOWAIT ]
where the parallel_clause has the following syntax:
{ NOPARALLEL | PARALLEL [ integer ] }


比较常用的子句包括:
recover database until cancel|time xxxx|using backup controlfile

要求:
恢复整个数据库时,数据库应该是mounted、关闭状态,所有待恢复的表空间是在线状态;
媒介恢复表空间时,数据库是mounted、开启状态,表空间是离线状态;
媒介恢复数据文件时,数据库可以是开启或mounted状态,损坏的数据文件是脱机状态,除非是system表空间的数据文


33.REMARK
注释部分,后面跟着注释内容,如果以-结尾,将被看做转行符,下一行也会认为是注释


34.REPFOOTER
REPF[OOTER] [PAGE] [printspec [text | variable] ...] | [ON | OFF]

printspec的内容如下:
COL n
S[KIP] [n]
TAB n
LE[FT]
CE[NTER]
R[IGHT]
BOLD
FORMAT text

指定报告末尾的内容


35.REPHEADER
REPH[EADER] [PAGE] [printspec [text | variable] ...] | [ON | OFF]

printspec的内容:
COL n
S[KIP] [n]
TAB n
LE[FT]
CE[NTER]
R[IGHT]
BOLD
FORMAT text

设置报告开头的内容


36.RUN
显示并执行缓冲区中的命令


37.SAVE
iSQLPlus中不能用
SAV[E] [FILE] file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]]
将缓冲区中的内容存储到操作系统文件中,file、create一般可以省略


通过以下实例可以帮助理解:
SQL> select * from emp
  2  where deptno=10
  3  order by ename
  4 
SQL> save a.sql
Created file a.sql
SQL> l  
  1  select * from emp
  2  where deptno=10
  3* order by ename
SQL> save a.sql
SP2-0540: File "a.sql" already exists.
Use "SAVE filename[.ext] REPLACE".
SQL> save a.sql replace
Wrote file a.sql
SQL> save a.sql append
Appended file to a.sql
SQL> host cat a.sql
select * from emp
where deptno=10
order by ename
/
select * from emp
where deptno=10
order by ename
/

 

38.SET
SET system_variable value
作用包括:
设置html的格式
设置是否显示列标题
设置每页的行数
设置数据宽度

 

39.SHOW
显示设置信息,选项包括:
system_variable  系统变量
ALL  所有设置
BTI[TLE] 页眉
ERR[ORS] [ { FUNCTION | PROCEDURE | PACKAGE | PACKAGE BODY | TRIGGER| VIEW | TYPE | TYPE BODY |

DIMENSION | JAVA CLASS } [schema.]name]  最近一次执行的错误或特定对象的错误信息
LNO  当前行号
PARAMETERS [parameter_name]  显示某个参数
PNO 页码
RECYC[LEBIN] [original_name] 显示垃圾箱中可以通过flashback before drop恢复的对象
REL[EASE]  sqlplus版本
REPF[OOTER] 报告尾设置
REPH[EADER] 报告头设置
SGA
SPOO[L] (Not available in iSQL*Plus) 查看结果是否保存到文件中
SQLCODE
TTI[TLE]
USER


40.SHUTDOWN
SHUTDOWN [ABORT | IMMEDIATE | NORMAL | TRANSACTIONAL [LOCAL]]


41.SPOOL
SPO[OL] [file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]] | OFF | OUT]
spool out表示停止spooling并将结果显示出来


42.START
STA[RT] {url | file_name[.ext] } [arg...]


43.STARTUP

STARTUP options | upgrade_options

options:
[FORCE] [RESTRICT] [PFILE=filename] [QUIET] [ MOUNT [dbname] |
[ OPEN [open_options] [dbname] ] | NOMOUNT ]

open_options:
READ {ONLY | WRITE [RECOVER]} | RECOVER

upgrade_options:
[PFILE=filename] {UPGRADE | DOWNGRADE} [QUIET]

在shutdown abort后使用startup force
restrict只允许当前用户使用,即独占模式。启动后可以使用alter system命令切换到正常
QUIET表示静默启动
升级后第一次启动时,指定startup open upgrade,并设置初始化参数。


44.STORE
STORE SET file_name[.ext] [ CRE[ATE | REP[LACE] | APP[END]]
iSQLPlus中不能用
保存当前的sqlplus环境设置


45.TIMING
TIMI[NG] [START text | SHOW | STOP]
记录时间信息,显示当前时间或活动时间

例:
SQL> timing start tian  定义一个名称为tian的时间
SQL> timing show  显示当前活动的时间
timing for: tian
Elapsed: 00:00:30.86
SQL> timing stop
timing for: tian
Elapsed: 00:01:21.17

可以定义多个时间,用clear timing将所有时间清除


46.ttitle
TTI[TLE] [printspec [text | variable] ...] [ON | OFF]
printspec包括:
BOLD
CE[NTER]
COL n
FORMAT text
LE[FT]
R[IGHT]
S[KIP] [n]
TAB n

可以使用的variable包括sql.pno\sql.lno\sql.release\sql.sqlcode\sql.user


47.UNDEFINE
UNDEF[INE] variable ...
删除一个或多个变量定义


48.VARIABLE
VAR[IABLE] [variable [NUMBER | CHAR | CHAR (n [CHAR | BYTE]) | NCHAR | NCHAR (n)
| VARCHAR2 (n [CHAR | BYTE]) | NVARCHAR2 (n) | CLOB | NCLOB | REFCURSOR
| BINARY_FLOAT | BINARY_DOUBLE] ]


49.WHENEVER OSERROR
WHENEVER OSERROR {EXIT [SUCCESS | FAILURE | n | variable | :BindVariable]
[COMMIT | ROLLBACK] | CONTINUE [COMMIT | ROLLBACK | NONE]}
当操作系统错误时(如写入文件错误),进行什么操作

如:以下语句,当发生操作系统错误时退出登录
SQL> whenever oserror exit
SQL> start no_such_file
O/S Message: No such file or directory
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@localhost ~]$

 

50.WHENEVER SQLERROR
WHENEVER SQLERROR {EXIT [SUCCESS | FAILURE | WARNING | n | variable| :BindVariable] [COMMIT | ROLLBACK]

| CONTINUE [COMMIT | ROLLBACK | NONE]}
我们更常遇到的可能是在语句中发生问题时进行什么操作。

在语句发生错误时可以报出错误、回滚或提交操作、退出系统

 

 

 


set命令的补充

SET APPI[NFO]{ON | OFF | text}  设置是否对脚本中的命令进行监控。
监控的工具是dbms_application_info包,如果设置为on,在v$session、v$sqlarea中能看到这些数据,设置为off则不

记录这些信息。

SET ARRAY[SIZE] {15 | n}  设置每次向数据库中插入的数据行数,从1~5000,值越大越高效,但也会占用更多内存

SET AUTO[COMMIT]{ON | OFF | IMM[EDIATE] | n} 是否自动提交DML命令

SET AUTOP[RINT] {ON | OFF}  设置绑定变量是否自动回显

SET AUTORECOVERY [ON | OFF]  设置为on,则recover命令自动应用默认的重做日志名作为恢复结果

SET AUTOT[RACE] {ON | OFF | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]
设置跟踪,是否显示结果、统计信息、执行计划

SET BLO[CKTERMINATOR] {. | c | ON | OFF} 设置pl/sql块的结束字符,不能为空格或文字

SET CMDS[EP] {; | c | ON | OFF}  是否能将多个命令写在一行及分割字符

SET COLSEP { | text}  设置结果中列的分割字符

SET COM[PATIBILITY]{V7 | V8 | NATIVE} 设置数据库sql 语句的版本

SET CON[CAT] {. | c | ON | OFF}
Sets the character used to terminate a substitution variable reference when
SQL*Plus would otherwise interpret the next character as a part of the variable
name.

SET COPYC[OMMIT] {0 | n}  设置COPY命令多少行提交一次,如果设置为零,则最后完成才提交

SET COPYTYPECHECK {ON | OFF} COPY命令执行时是否进行数据类型检查,复制到DB2数据库时常用

SET DEF[INE] {& | c | ON | OFF}  设置是否传递形式参数

SET DESCRIBE [DEPTH {1 | n | ALL}] [LINENUM {ON | OFF}] [INDENT {ON | OFF}]
是否显示包含关系的数据类型,比如表中有一个字段的数据类型是type的,即嵌套多个列,set describe 2后将能显示

出第二层的数据类型

SET ECHO {ON | OFF} 是否显示@、@@和start命令执行的过程

SET EDITF[ILE] file_name[.ext] edit的默认文件

SET EMB[EDDED] {ON | OFF} 设置报告的开始,off表示必须在新的页,on是任何位置

SET ESC[APE] {\ | c | ON | OFF} 设置转义字符,off表示不设置,on表示默认值\,其紧接着的字符不会被转义。

SET FEED[BACK] {6 | n | ON | OFF}  当脚本返回多行时,控制显示的行数

SET FLAGGER {OFF | ENTRY | INTERMED[IATE] | FULL}  检查sql语句是否ANSI/ISO SQL92标准,不符合则报错

SET FLU[SH] {ON | OFF} 设置结果是立即显示还是最终一次性显示,一次性显示的结果稍好

SET HEA[DING] {ON | OFF} 报告头信息是否显示

SET HEADS[EP] { | | c | ON | OFF} 设置标题列的分行字符及是否开启

SET INSTANCE [instance_path | LOCAL] 设置默认实例路径,只有在未连接到实例时才能设置

SET LIN[ESIZE] {80 | n}
SET LIN[ESIZE] {150 | n} in iSQL*Plus   行长度

SET LOBOF[FSET] {1 | n}   CLOB、NCLOB数据的显示起始位置

SET LOGSOURCE [pathname] 执行恢复时归档日志的位置,默认是log_archive_dest参数的值

SET LONG {80 | n} 显示CLOB、LONG、NCLOB或XMLType值的最大长度

SET LONGC[HUNKSIZE] {80 | n}  sqlplus能接受的CLOB、LONG、NCLOB等的字节数

SET MARK[UP] HTML [ON | OFF] [HEAD text] [BODY text] [TABLE text] [ENTMAP
{ON | OFF}] [SPOOL {ON | OFF}] [PRE[FORMAT] {ON | OFF}]
输出html格式的文本

SET NEWP[AGE] {1 | n | NONE} 从页开始到标题之间的空行数

SET NULL text  空值的显示方式

SET NUMF[ORMAT] format 显示数字的默认格式

SET NUM[WIDTH] {10 | n}  显示数字的默认宽度

SET PAGES[IZE] {14 | n}  每页的行数

SET PAU[SE] {ON | OFF | text} 暂停

SET RECSEP {WR[APPED] | EA[CH] | OFF}  什么情况下用空行分隔,可以设置wrapped表示有转行显示时;each表示每

行之间

SET RECSEPCHAR { | c} 分离记录的字符

SET SERVEROUT[PUT] {ON | OFF} [SIZE n] [FOR[MAT] {WRA[PPED]
| WOR[D_WRAPPED] | TRU[NCATED]}]  是否显示dbms_output.put_line的结果

SET SHIFT[INOUT] {VIS[IBLE] | INV[ISIBLE]}  shift是否敏感的设置,不要用

SET SHOW[MODE] {ON | OFF}  当用set命令修改变量值时,是否显示旧值和新值

SET SQLBL[ANKLINES] {ON | OFF}  是否允许命令中包含空行

SET SQLC[ASE] {MIX[ED] | LO[WER] | UP[PER]} 是否将结果显示为大写、小写格式

SET SQLCO[NTINUE] {> | text}  设置转行提示符,当我们前一行命令用减号结尾时表示命令未结束,默认第二行会以

>开头,表示转行提示。

SET SQLN[UMBER] {ON | OFF}   设置是否允许多行命令,如:
SQL> set sqlnumber off
SQL> select
SQL> set sqlnumber on
SQL> select
  2  /
注意差别,off时输入一行后就结束了,而on后如果没有结束符,继续输入

SET SQLPLUSCOMPAT[IBILITY] {x.y[.z]} 设置sqlplus版本

SQL*Plus Compatibility Matrix 
SET SQLPRE[FIX] {# | c}
SET SQLP[ROMPT] {SQL> | text}

SET SQLT[ERMINATOR] {; | c | ON | OFF} 设置结束符,默认是分号

SET SUF[FIX] {SQL | text}设置默认的文件扩展名,如SET SUFFIX TXT,然后GET EXAMPLE,将会查找EXAMPLE.TXT文

SET TAB {ON | OFF}  空格的格式

SET TERM[OUT] {ON | OFF}  off表示@、@@、start的结果显示到文件而不显示到屏幕上

SET TRIM[OUT] {ON | OFF}  每行后面是否回显

SET TRIMS[POOL] {ON | OFF}  是否在每个spooled行后面trail

SET UND[ERLINE] {- | c | ON | OFF}   结果中标题行和结果之间的分隔标识

SET VER[IFY] {ON | OFF}  在替换语句前后是否显示内容

SET WRA[P] {ON | OFF}  是否将内容过长的行截断

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26451536/viewspace-753705/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26451536/viewspace-753705/

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值