我想创建一个删除某些记录的过程。这是我到目前为止所做的:
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
我得到一些错误,说分号丢失了!我究竟做错了什么 ?
答案 0 :(得分:1)
这并没有直接回答有关分号的问题,但为什么要进行循环?您可以将其表达为单一声明:
delete MYTABLE2 t2
where t2.ID in (select id from mytable t1 where t1.is_missing = 'D');
答案 1 :(得分:0)
END FOR
后缺少分号,因为您需要在过程中终止该语句。