在SQL*PLUS中插入含有&的字符串

Oracle10g, xx.sql

insert into table1(xname) values('aa&bb');

CMD下调用:sqlplus user/pwd@oraservice @c:\xx.sql

提示错误,请输入 a:

原来此情况下&bb被当作了sql中的参数,而不是一个字串

解决方法1(操作时没起到效果):

在SQL脚本前加入一行:

set define off;

解决方法2:

先把脚本替换成

insert into table1(xname) values('aa&||bb');

写入完成后,再替换回来

update table1 set xname=replace(xname,'&||','&');

即可

||替换为空格等其他特殊字符也可以,其原理就是打破&参数的命名规则。

另外

insert into table1(xname) values('aa&'||'bb');

也可,将其断开,用连接符连接起来成一个字串。这种方法更方便些。

posted @ 2008-10-21 15:23  阿泰  阅读(450)  评论(0编辑  收藏  举报