当前位置: 代码迷 >> DB2 >> 关于容易的DB2的存储过程报错
  详细解决方案

关于容易的DB2的存储过程报错

热度:1614   发布时间:2013-02-26 00:00:00.0
关于简单的DB2的存储过程报错
现在有个简单的存储过程,大家帮忙下
CREATE PROCEDURE getUserList()
begin
  select * from tbl_user;
end;

但是在DB2报错---------------------------------------------------
CREATE PROCEDURE getUserList()
begin
  select * from tbl_user 
DB21034E 该命令被当作 SQL 语句来处理,因为它是无效的“命令行处理器”命令。在
SQL 处理期间,它返回:
SQL0104N 在 "() begin select" 后面找到异常标记
"*"。预期标记可能包括:"END"。 LINE NUMBER=3. SQLSTATE=42601

end
DB21034E 该命令被当作 SQL 语句来处理,因为它是无效的“命令行处理器”命令。在
SQL 处理期间,它返回:
SQL0104N 在 "end" 后面找到异常标记 "END-OF-STATEMENT"。预期标记可能包括:"JOIN
<joined_table>"。 SQLSTATE=42601

SQL0104N 在 "end" 后面找到异常标记 "END-OF-STATEMENT"。预期标记可能包括:"JOIN <joined_table>

------解决方案--------------------------------------------------------
CREATE PROCEDURE getUserList ( )
DYNAMIC RESULT SETS 1

P1: BEGIN
DECLARE cursor1 CURSOR WITH RETURN FOR
select * from tbl_user;
OPEN cursor1;
END P1
------解决方案--------------------------------------------------------
SQL code
create procedure getuserlist()language sqlbegin   declare cursor1 cursor with hold with return for    select * from tbl_user;end;
  相关解决方案