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 標準中指定。
如果您在文件中發現任何不正確、與您使用特定功能的經驗不符或需要進一步澄清的地方,請使用此表單報告文件問題。