PREPARE — 準備一個用於執行的語句
PREPAREprepared_name
FROMstring
在典型用法中,string
是一個主機變數引用,指向一個包含動態構造的 SQL 語句的字串。字面字串的情況不太有用;你最好直接寫一個 SQL PREPARE
語句。
如果你確實使用了字面字串,請記住,你在 SQL 語句中可能想包含的任何雙引號都必須寫成八進位制轉義(\042
),而不是 C 語言中的標準用法 \"
。這是因為字串位於 EXEC SQL
部分內,所以 ECPG 詞法分析器會根據 SQL 規則而不是 C 規則來解析它。任何嵌入的反斜槓稍後都會根據 C 規則進行處理;但 \"
會導致立即的語法錯誤,因為它被視為結束了字面量。
char *stmt = "SELECT * FROM test1 WHERE a = ? AND b = ?"; EXEC SQL ALLOCATE DESCRIPTOR outdesc; EXEC SQL PREPARE foo FROM :stmt; EXEC SQL EXECUTE foo USING SQL DESCRIPTOR indesc INTO SQL DESCRIPTOR outdesc;
PREPARE
在 SQL 標準中進行了規定。
如果您在文件中發現任何不正確、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用 此表格 來報告文件問題。