在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')]';
或者,您可以使用两个引号来表示单引号:
stmt := 'insert into MY_TBL (Col) values(''ER0002'')';
使用Q语法的字面引用机制更灵活和可读,IMO。