如何在DB2中编写存储过程

时间:2019-05-28 13:03:39

标签: db2

请帮助我在Db2中编写存储过程。

CREATE PROCEDURE assedt
BEGIN 

 SELECT ASSETNUM FROM ASSET
END 

我尝试了上面的代码,它抛出如下错误:

  

错误报告-   DB2 SQL错误:SQLCODE = -104,SQLSTATE = 42601,SQLERRMC = SELECT ASSETNUM; ROCEDURE p1   开始

     

;, DRIVER = 4.12.55

3 个答案:

答案 0 :(得分:0)

示例:

create table test_table (numcol integer);

insert into test_table values (1);

CREATE OR REPLACE procedure assedt (out out_var integer)
language sql
p1: begin
declare l_var integer;
   select numcol into l_var from test_table;
   set out_var = l_var + 1;
end p1;

begin
declare g_var integer;
call assedt( g_var );
insert into test_table values (g_var);
end;

select * from test_table;

答案 1 :(得分:-1)

似乎您在“ P1”之后缺少冒号。它应该是“ P1:” 检出此site作为示例示例

答案 2 :(得分:-1)

以下红皮书:https://www.redbooks.ibm.com/redbooks/pdfs/sg248326.pdf是为IBM i的Db2编写的(不是zOS,不是LUW),但是第2章是DB2过程SQL的重要介绍,并且适用于其他DB2。我希望这会有所帮助。