SQL 描述符区域 (SQL descriptor area, SQLDA)

SQLDA是执行SQL DESCRIBE语句所需的变量集合,PREPARE、OPEN、FETCH、EXECUTE和CALL语句也可以选择性地使用它。 SQLDA可用于DESCRIBE或PREPARE INTO语句,使用主机变量的地址进行修改,然后在FETCH语句中重复使用。

SQLDA中信息的含义取决于其使用的上下文。 对于描述和准备输入, Db2 在SQLDA中设置字段,以便为应用程序提供信息。 对于OPEN、EXECUTE、FETCH和CALL,应用程序在SQLDA中设置字段,为 Db2 提供信息:
描述输出准备输入
除了SQLN之外, Db2 设置SQLDA的字段,以便向应用程序提供有关准备好的语句的信息。 每个SQLVAR的出现描述了结果表中的一列。
DESCRIBE TABLE
除了SQLN, Db2 设置SQLDA的字段,为应用程序提供有关表或视图列的信息。 每个SQLVAR的出现都描述了指定表或视图中的一列。
DESCRIBE CURSOR
除了SQLN, Db2 设置SQLDA的字段,为应用程序提供与指定游标关联的结果集信息。 每个SQLVAR的出现描述了结果集的一列。
DESCRIBE INPUT
除了SQLN之外, Db2 设置SQLDA的字段,以便向应用程序提供有关准备语句的输入参数标记的信息。 每个SQLVAR的出现都描述了一个输入参数标记。
DESCRIBE PROCEDURE
除了SQLN之外, Db2 设置SQLDA的字段,以便向应用程序提供有关指定存储过程返回的结果集的信息。 每个SQLVAR的出现描述了一个返回的结果集。
打开 、执行 、获取调用
应用程序设置SQLDA的字段,以便将应用程序中有关宿主变量或输出缓冲区的信息发送至 Db2。 每个SQLVAR的出现都描述了一个主机变量或输出缓冲区。
  • 对于OPEN和EXECUTE,每个SQLVAR的出现描述了一个输入值,该值将替换先前准备好的相关SQL语句中的参数标记。
  • 对于FETCH,每个SQLVAR的出现描述了应用程序中的一个主机变量或缓冲区,用于保存结果行中的输出值。
  • 对于CALL,每个SQLVAR的出现描述了一个与存储过程参数列表中的参数相对应的主变量。
有关如何使用SQLDA的信息,请参阅定义SQL描述符区域(SQLDA )。