PL / SQL,如何转义字符串中的单引号?

在Oracle PL / SQL中,如何转义字符串中的单引号?我以这种方式尝试过,它不起作用。


declare

  stmt varchar2(2000);

begin

  for i in 1021 .. 6020

  loop

    stmt := 'insert into MY_TBL (Col) values(\'ER0002\')';


    dbms_output.put_line(stmt);

    execute immediate stmt;

    commit;

  end loop;

exception

  when others then

    rollback;

    dbms_output.put_line(sqlerrm);

end;

/


慕容708150
浏览 1389回答 3
3回答

Qyouu

您可以使用文字引号:stmt := q'[insert into MY_TBL (Col) values('ER0002')]';文字文档可在此处找到。或者,您可以使用两个引号来表示单个引号:stmt := 'insert into MY_TBL (Col) values(''ER0002'')';带有Q语法的文字引用机制更加灵活易读。

一只萌萌小番薯

这是一篇博客文章,应有助于转义字符串中的滴答声。这是上述信息中最简单的方法:最简单和最常用的方法是使用一个单引号,并且在两侧都使用两个单引号。从双重选择'test单引号''';以上语句的输出为:测试单引号”简单地说,您需要一个额外的单引号字符来打印单引号>字符。也就是说,如果您输入两个单引号字符,Oracle将打印一个。第一个>充当转义字符。这是在Oracle中打印单引号的最简单方法。但是,当您必须打印一组引号而不是仅打印引号时,它将变得复杂。在这种情况下,以下方法可以正常工作。但这需要更多的打字工作。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Oracle