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

关于简略的DB2的存储过程报错

热度:634   发布时间: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
------解决方案--------------------------------------------------------

create procedure getuserlist()
language sql
begin
   declare cursor1 cursor with hold with return for
    select * from tbl_user;
end;
  相关解决方案