在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;
/
最佳答案
您可以使用文字引用:
stmt := q'[insert into MY_TBL (Col) values('ER0002')]';
文字文档 can be found here 。
或者,您可以使用两个引号来表示单引号:
stmt := 'insert into MY_TBL (Col) values(''ER0002'')';
在我看来,Q 语法的文字引用机制更加灵活和可读。
关于oracle - PL/SQL,如何转义字符串中的单引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11315340/