可以使用set define off
SQL> set define off
SQL> insert into test values ('asd&ds');
1 row created.
SQL> commit;
Commit complete.
SQL>
“&” 可以用" ’ || CHR(38) || ’ "替换
转义字符 ’ 单引号 在PL/SQL 里 两个单引号等于一个单引号
双引号 = chr(34)
特殊字符对应关系
# SQL级别的特殊字符表:
chr(10) 换行符
chr(33) ! chr(43) + chr(53) 5 chr(63) ? chr(93) ]
chr(34) " chr(44) , chr(54) 6 chr(64) @ chr(94) ^
chr(35) # chr(45) - chr(55) 7 chr(65) A chr(95) _
chr(36) $ chr(46) . chr(56) 8 chr(66) B chr(96) `
chr(37) % chr(47) / chr(57) 9 chr(67) C chr(97) a
chr(38) & chr(48) 0 chr(58) : chr(88) X chr(98) b
chr(39) ' chr(49) 1 chr(59) ; chr(89) Y chr(99) c
chr(40) ( chr(50) 2 chr(60) < chr(90) Z
chr(41) ) chr(51) 3 chr(61) = chr(91) [
chr(42) * chr(52) 4 chr(62) > chr(92) \
# 用法:
select chr(33) from dual;
关闭转义
set define off
-- 关掉&变量转义
select '&var' from dual;
-- &var不会被尝试转移成变量
set sqlblanklines on
--关掉空行识别
select *
from dual;
-- SQLPLUS 该SQL可以被正常解析
-- 如果为off状态,该SQL无法正常解析