在 C 语言中,字符串存储在字符数组中。动态语句是用 C 语言字符串构造的。然后,可以使用 PREPARE 和 EXECUTE 语句执行这些语句。这些 SQL 语句无法按与静态语句相同的方式引用主机变量,因为在执行 C 程序时无法通过名称访问 C 语言变量。
要在语句与 C 语言变量之间传递信息,请使用名为 SQL 描述符区域 (SQLDA) 的数据结构。如果您在 EXECUTE 语句的 USING 子句中指定一组主机变量,则 SQL 预处理器会为您建立此结构。这些变量按位置对应于预准备语句相应位置中的占位符。
将占位符放入语句中是为了指示要访问主机变量的位置。占位符可以是问号 (?),也可以是静态语句中的主机变量引用(主机变量名之前有一个冒号)。在后一种情况下,在语句的实际文本中使用的主机变量名仅充当占位符,指示对 SQL 描述符区域的引用。
用于向数据库传递信息的主机变量称为绑定变量。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |