在COBOLDB2程序中,获取-811 sqlcode后,将在主变量中存储什么值。 (即查询返回的多行)。
答案 0 :(得分:2)
因为SQLCODE< 0表示存在错误。请参阅此链接:IBM SQL Tutorial
您可以使用此类语句将单行数据检索到主变量中。单行可以根据需要具有尽可能多的列。如果查询生成多行数据,则数据库服务器无法返回任何数据。它会返回错误代码。
答案 1 :(得分:2)
实际上,如果您只使用这样的查询,则无法获取任何数据。在这种情况下,您可以使用CURSOR和FETCH语句。这样,您可以逐个读入宿主变量返回的行。 简而言之,这就是这样的:
declare cursor curs_name for select .... from....where .....
open curs_name
fetch curs_name into host_var
close curs_name
所有这些说明都包含在EXEC SQL ........... END EXEC
之间。当然,你必须为每一行获取一次。您可以检查SQLCODE以查看是否到达光标的末尾。你寻找SQLCODE 100.