无法在DB2上创建过程

时间:2015-08-17 15:51:21

标签: sql db2 procedure

我想创建一个删除某些记录的过程。这是我到目前为止所做的:

CREATE OR REPLACE PROCEDURE MYSCHEMA.PROC_DELETE_MISSING()
LANGUAGE SQL
BEGIN 

For v_row as select ID myid from MyTABLE t1 where t1.IS_MISSING='D'
    DO
        delete MYTABLE2 t2 where t2.ID = v_row.myid;

END FOR


END

我得到一些错误,说分号丢失了!我究竟做错了什么 ?

2 个答案:

答案 0 :(得分:1)

这并没有直接回答有关分号的问题,但为什么要进行循环?您可以将其表达为单一声明:

delete MYTABLE2 t2
    where t2.ID in (select id from mytable t1 where t1.is_missing = 'D');

答案 1 :(得分:0)

END FOR后缺少分号,因为您需要在过程中终止该语句。