宿主变量数组

您可以使用宿主变量数组在 Db2 和您的应用程序之间传递数据数组。 宿主变量数组是以宿主语言声明的、用于SQL语句中的数据数组。

您可以将宿主变量数组用于以下操作:

  • 将数据检索到主机变量数组中,供应用程序使用
  • 将数据放入宿主变量数组,以便将行插入到表中
  • 检索合并操作源的数据。

在以下情况下,宿主变量数组只能作为简单引用。 在语法图中, host-variable-array 表示对宿主变量数组的引用。

  • 在FETCH语句中,用于多行取值。 参见 FETCH语句
  • 在插入语句的FOR n ROWS形式中,源数据使用主机变量数组。 参见插入语句
  • 在MERGE语句中,源数据有多个行。 参见MERGE语句
  • 在执行语句中,为INSERT语句或MERGE语句的动态 FOR n ROWS形式的参数标记提供值。 参见 “执行”语句

更改开始如果应用程序在不支持的其他上下文中引用主机变量数组, Db2 会返回 SQLCODE -312 错误。更改结束

主机变量数组由主机语言的语句定义,如下文所述:

提示 :汇编程序、FORTRAN或REXX程序不支持宿主变量数组。 不过,您也可以使用SQL描述符区(SQLDA)在任何主机语言中实现类似的结果。 更多信息请参阅 《SQL描述符区域定义》(SQLDA )。

示例

开始通用编程接口信息。

以下语句使用主主机变量数组 COL1 和相应的指示器数组 COL1IND。 假设 COL1 有10个元素。 数组中的第一个元素对应第一个值,以此类推。 COL1IND 必须至少输入10个条目。

EXEC SQL
  SQL FETCH FIRST ROWSET FROM C1 FOR 5 ROWS
    INTO :COL1 :COL1IND               
END-EXEC.
通用编程接口信息结束。