带有指示符变量的 INTO 子句
如果存在从查询返回的数据值为 NULL 的可能性,则请在 INTO 子句中使用 ESQL/C 指示符变
量。要获取更多信息;
带有游标的 INTO 子句
如果 SELECT 语句返回多于一行,则您必须在 FETCH 语句中使用游标来分别地存取这些行。您
可将 INTO 子句放在 FETCH 语句中,而不是在 SELECT 语句中,但您不应将其同时放在两个语
句中。
下列 GBase 8s ESQL/C 代码示例展示您可使用 INTO 子句的不同的方式。如两个示例所示,您必
须首先使用 DECLARE 语句来声明游标。
在 SELECT 语句中使用 INTO 子句
EXEC SQL declare q_curs cursor for
select lname, company
into :p_lname, :p_company
from customer;
EXEC SQL open q_curs;
while (SQLCODE == 0)
EXEC SQL fetch q_curs;
EXEC SQL close q_curs;
使用 FETCH 语句中的 INTO 子句
EXEC SQL declare q_curs cursor for
select lname, company from customer;
EXEC SQL open q_curs;
while (SQLCODE == 0)
EXEC SQL fetch q_curs into :p_lname, :p_company;
EXEC SQL close q_curs;
准备 SELECT … INTO 查询
在 GBase 8s ESQL/C 中,您不可准备带有 INTO 子句的查询。您可准备不带有 INTO 子句的查
询,为准备好的查询声明游标,打开游标,然后使用带有 INTO 子句的 FETCH 语句来获取程序
变量之内的游标。
或者,您可为查询声明游标,而不准备该查询,并当您声明该游标时在该查询中包括 INTO 子
句。然后打开该游标并获取该游标,而不使用 FETCH 语句的 INTO 子句