在forall批处理中,是不是只能跟随一条DML语句,如果是一个SQL快,怎么处理?
如:
forall i in dbusr.first..dbuser.last
if(upper(dbuser(i))!='GFMIS') then
sql_seq_nextval:='select '||dbuser(i)||seqval||' from dual';
execute immediate sql_seq_nextval into id;
--插入各区县
execute immediate 'insert into '||dbuser(i)||tablename||' values (:id,:TYPENO,:NAME,:SHEET,:ROWCOUNT,
ESCR,:QUANTITY,:SPECIAL,:STATUS,:AMOUNT,:EXPIREYEAR,:LENOFSEQ,:HASCHECKCODE,:HASYEARCODE,:ISTAXRECEIPT,:HASTYPECODE,:YEARCODE,:TEMPLATEID,:LENOFPREFIX,:MONEYDIGITS,:RECEIPTKIND,:PROCTM )'
using id,TYPENO,TYPENAME,SHEET,TYPEROWCOUNT,DESCR,QUANTITY,SPECIAL,STATUS,AMOUNT,EXPIREYEAR,LENOFSEQ,HASCHECKCODE,HASYEARCODE,ISTAXRECEIPT,HASTYPECODE,YEARCODE,TEMPLATEID,LENOFPREFIX,MONEYDIGITS,RECEIPTKIND,PROCTM;
end if;
这段怎么处理?
|