SQLPlus { sqlterminator | escape }

SQLPlus { sqlterminator | escape }
sqlterminator
 
 
SQLPLUS的sqlterminator参数可以在后面跟 3个东西,分别是ON、OFF和character
 
SQL> set sqlterminator ON|OFF|c
 
c specifies the character that ends an SQL statement. The default is the semicolon (;).
The sqlterminator cannot be alpha numeric.
 
 
举例如下:
 
SQL> set sqlterminator off
SQL> show sqlterminator
sqlterminator OFF
SQL> select * from dual
  2  ;
  3  /
;
*
ERROR at line 2:
ORA-00911: invalid character

SQL> select * from dual
  2  /
 
D
-
X
 
--关闭之后仅能以"/"来执行该SQL语句
 
SQL> set sqlterminator on
SQL> show sqlterminator
sqlterminator ";" (hex 3b)
SQL> select * from dual
  2  ;
 
D
-
X
 
--打开后默认以";"来结尾
 
SQL> set sqlterminator !
SQL> show sqlterminator
sqlterminator "!" (hex 21)
SQL> select * from dual !
 
D
-
X

 
--设置其他字符作为sqlterminator
 
SQL> set sqlterminator on
SQL> show sqlterminator
sqlterminator ";" (hex 3b)
 
--设置on之后,依旧改为默认结束代码";"
 
SQL> set sqlterminator OFF
SQL> update T1
  2  set A =
  3  'DECLARE
  4  R ID NUMBER := 0 ;
  5  BEGIN
  6  SELECT 1 INTO R ID
  7  FROM dual;
  8  END ;'
  9  where B= 'xxxx'
10  /

1 row updated.

SQL> commit
  2  /

Commit complete.

SQL> set sqlterminator ON
 
--应用(插入带";"的字符串)
 
 
 
 
 
escape

 
SQLPLUS的escape参数后面可以跟4个东西,分别是ON、OFF、character和"\"
 
SQL> SET ESC[APE] {\| c|ON|OFF}
Defines the character you enter as the escape character. OFF undefines the escape character. ON enables the escape character. ON changes the value of c back to the default "\".
 
 
简单举例:
 
SQL> set escape on
SQL> show escape
escape "\" (hex 5c)
SQL> select '\' from dual;

'
-

SQL> select '\\' from dual;

'
-
\

SQL> select '\\\' from dual;

'
-
\

SQL> select '\\\\' from dual;

'\
--
\\
 
--"\"为转义符,转移任意一个它后面的字符
 
SQL> set escape !
SQL> select '\\' from dual;
 
'\
--
\\
 
SQL> select '!\' from dual;
 
'
-
\
 
--使用其他字符作为转义
 
 
 
注意:这里的escape参数与 SQL中的escape函数完全不同
 
 
 

你可能感兴趣的:(SQLPlus { sqlterminator | escape })