有時我想從數據庫表的內容中生成INSERT
語句。Oracle相當於SQLite的quote()函數
使用SQLite,我可以這樣做:
SELECT 'INSERT INTO foo (col1, col2) VALUES (' || quote(col1) || ',' || quote(col2) || ');'
FROM bar;
使用Oracle,我要做的:
SELECT 'INSERT INTO foo (col1, col2) VALUES (''' || replace(col1, '''', '''''') || ''',''' || replace(col2, '''', '''''') || ''');'
FROM bar;
而且,它不會與NULL值工作。
有沒有更好的方法?
我在11.2上,它似乎沒有做OP所要求的。 'enquote_literal('a''b')'返回一個錯誤,而'enquote_literal('a''''b')'返回''a''b''而不是''a''''b'' – Tobia 2018-01-08 11:09:46