在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;/
3 回答

Qyouu
TA貢獻1786條經驗 獲得超11個贊
您可以使用文字引號:
stmt := q'[insert into MY_TBL (Col) values('ER0002')]';
文字文檔可在此處找到。
或者,您可以使用兩個引號來表示單個引號:
stmt := 'insert into MY_TBL (Col) values(''ER0002'')';
帶有Q語法的文字引用機制更加靈活易讀。

一只萌萌小番薯
TA貢獻1795條經驗 獲得超7個贊
這是一篇博客文章,應有助于轉義字符串中的滴答聲。
這是上述信息中最簡單的方法:
最簡單和最常用的方法是使用一個單引號,并且在兩側都使用兩個單引號。
從雙重選擇'test單引號''';
以上語句的輸出為:
測試單引號”
簡單地說,您需要一個額外的單引號字符來打印單引號>字符。也就是說,如果您輸入兩個單引號字符,Oracle將打印一個。第一個>充當轉義字符。
這是在Oracle中打印單引號的最簡單方法。但是,當您必須打印一組引號而不是僅打印引號時,它將變得復雜。在這種情況下,以下方法可以正常工作。但這需要更多的打字工作。
- 3 回答
- 0 關注
- 1426 瀏覽
添加回答
舉報
0/150
提交
取消