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 标准中指定。
如果您在文档中看到任何不正确的内容、与您对特定功能的体验不符的内容或需要进一步澄清的内容,请使用 此表单 报告文档问题。