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