May 19, 2012, Saturday, 139


SQL0811N

From SQL PL Guide for DB2

Jump to: navigation, search

SQL0811N The result of a scalar fullselect, SELECT INTO statement, or VALUES INTO statement is more than one row

In your result set of your scalar fullselect, SELECT INTO statement, or VALUES INTO statement you've multiple rows, but there was just one expected. Typically you will get this error code in SQL PL by setting a variable:


create procedure myproc (out var01 integer)
begin
 set var01 = (select col1 from mytab); -- result can be one or multiple rows!!!!
end!


You've change your statement that your result set will be just one row. For example:

create procedure myproc (out var01 integer)
begin
 set var01 = (select col1 from mytab fetch first 1 rows only);
end!

or

create procedure myproc (out var01 integer)
begin
 set var01 = (select max(col1) from mytab);
end!



Link to the DB2 Information Center: DB2 9 DB2 9.5 DB2 9.7