INTO 子句

在 SPL 例程或 GBase 8s ESQL/C 程序中使用 INTO 子句来指定程序变量或主变量来接收 SELECT 检索的数据。
INTO 子句
元素 描述 限制 语法
data_structure 声明了作为主变量的结构 必须能够存储正在选择的值的元素的数据类型 特定于语言
indicator_var 如果相应的 output_var 收到 NULL 值,则来接收返回代码的程序变量 可选的;如果相应的 output_var 的值由为 NULL 的可能性,则使用指示符变量 特定于语言
output_var 接收相应的选择列表项的值的程序或主变量。可为集合变量 接收变量的顺序必须与 Projection 子句的选择列表中相应的项的顺序相匹配 特定于语言

INTO 子句指定一个或多个接收查询返回的值的变量。如果它返回多个值,则以您指定这些变量的顺序将它们赋予变量列表。

如果 SELECT 语句是孤立的(即,不是 DECLARE 语句的一部分,且不使用 INTO 子句),则必须为单 SELECT 语句。 SELECT 语句仅返回一行。

接收的变量的数目必须等于 Projection 子句的选择列表中项的数目。每一接收的变量的数据类型应与选择列表中相应的列或表达式的数据类型相兼容。

当接收的变量的数据类型与被选择的项不相匹配时,要了解数据库服务器采取的活动,请参阅 ESQL/C 中的警告

下列示例展示 GBase 8s ESQL/C 中的单 SELECT 语句:
EXEC SQL select fname, lname, company
          into :p_fname, :p_lname, :p_coname
          from customer where customer_num = 101;

SPL 例程中,如果 SELECT 返回多于一行,则您必须使用 FOREACH 语句来分别地访问这些行。SELECT 语句的 INTO 子句持有获取的值。要获取更多信息,请参阅 FOREACH

1 仅限于 ESQL/C
2 GBase 8s 扩展