我有一个sql文件:test.sql 内容如下:insert into test valuse('C&Shell is good.');当我在sqlplus 上执行这个文件时,提示我输入Shell的值。但实际上我并不想输入Shell的值,而是我想把整个当成一个字符串并不是要输入值。&字符由于实际业务需求必须要,我应该怎么解决?

解决方案 »

  1.   

    insert into test values  ('C\&Shell is good.');
      

  2.   

    方法很多
    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>