0

Oracle10g 支持引号操作符q。使用它,可以通过选择自定义引号分隔符来消除字符串文字中以前的附加引号字符串。但是,对于&&&,这似乎效果不佳。如果我想输入&and该&&怎么办?

SQL> desc t
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 ID                                                 VARCHAR2(1000)

SQL> insert into t values(q'['test'''',;,,']');           

1 row created.

SQL> insert into t values(q'['test''&,,,;;;''']');

1 row created.

SQL> insert into t values(q'['test''&jj,,,,,'''']');  
Enter value for jj: 
4

2 回答 2

2

利用

set define off

在运行语句之前,以禁用 SQL*Plus 变量的评估。

有关详细信息,请参阅手册:http ://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_twelve040.htm#i2698854

于 2012-12-24T08:31:04.813 回答
0

您的问题是特定于 Oracle 客户端的。对于 sql+ :您是否 - 设置扫描关闭?另外 - 你可以 SET ESCAPE '\' 然后插入到 t values(q'['test \&jj,,,,,'''']');

于 2012-12-24T08:34:08.867 回答