2015-08-17 2 views
-1

Я хочу создать процедуру, которая удалит некоторые записи. Вот что я сделал до сих пор:Невозможно создать процедуру в DB2

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 

У меня есть некоторые ошибки, говорящие, что точки с запятой отсутствуют! Что я делаю не так ?

ответ

1

Это не отвечает непосредственно на вопрос о точке с запятой, но почему вы делаете цикл? Вы можете выразить это как одно утверждение:

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

точка с запятой отсутствует после END FOR, потому что вы должны прекратить это заявление в рамках процедуры.

Смежные вопросы