Dynamic-Sql

在 redshift 動態 SQL 中包含單引號字元串

  • May 21, 2021

我有函式命名

Schema.func_date(date,varchar)

我想這樣做(我在 Store proc 中使用以下語句)

Execute 'Select *, ID as Main_Id, ' ||
        'schema.func_date(quote_literal('2020-02-20'),quote_literal('ST')), '||
        'from main_table'

傳遞單引號字元串時出現無效操作錯誤。如何在執行語句中完美傳遞單引號字元串?

雖然該QUOTE_LITERAL()函式在特定上下文中很有幫助,但我認為在使用動態 SQL 時仍需要手動轉義單引號。

所以你的查詢應該遵循這個:

Execute 'Select *, ID as Main_Id, ' ||
        'schema.func_date(quote_literal(''2020-02-20''),quote_literal(''ST'')), '||
        'from main_table'

引用自:https://dba.stackexchange.com/questions/285917