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的出现描述了一个与存储过程参数列表中的参数相对应的主变量。