我有一个sql文件:test.sql 内容如下:insert into test valuse('C&Shell is good.');当我在sqlplus 上执行这个文件时,提示我输入Shell的值。但实际上我并不想输入Shell的值,而是我想把整个当成一个字符串并不是要输入值。&字符由于实际业务需求必须要,我应该怎么解决?
方法很多 insert into test values ('C'||'&'||'Shell is good.');或者 set define off insert into test values ('C&Shell is good.');或者 set define on set esc on insert into test values ('C\&Shell is good.'); set esc off例如SQL> select * from test;no rows selectedSQL> insert into test values ('C'||'&'||'Shell is good.');1 row created.SQL> SQL> set define off SQL> insert into test values ('C&Shell is good.');1 row created.SQL> SQL> set define on SQL> set esc on SQL> insert into test values ('C\&Shell is good.');1 row created.SQL> set esc off SQL> select * from test;ID ----------------------------------------------------------- C&Shell is good. C&Shell is good. C&Shell is good.SQL>
insert into test values ('C'||'&'||'Shell is good.');或者
set define off
insert into test values ('C&Shell is good.');或者
set define on
set esc on
insert into test values ('C\&Shell is good.');
set esc off例如SQL> select * from test;no rows selectedSQL> insert into test values ('C'||'&'||'Shell is good.');1 row created.SQL>
SQL> set define off
SQL> insert into test values ('C&Shell is good.');1 row created.SQL>
SQL> set define on
SQL> set esc on
SQL> insert into test values ('C\&Shell is good.');1 row created.SQL> set esc off
SQL> select * from test;ID
-----------------------------------------------------------
C&Shell is good.
C&Shell is good.
C&Shell is good.SQL>