【发布时间】:2011-12-30 11:17:46
【问题描述】:
我正在尝试从 11g Oracle 表中返回结果集,在收到返回的结果集后,我需要将所有获取的行设置为已更新。
下面的脚本一次只返回一行,我不能真正让更新按我喜欢的方式工作。一些基本的解释将非常受欢迎。
也许使用行类型也是一个坏主意?
CREATE OR REPLACE PROCEDURE OWNER_EXT.X_GETEXTERNALACCOUNTREF(result out X_externalaccountref%rowtype)
IS
cur SYS_REFCURSOR;
BEGIN
open cur for select * from X_externalaccountref WHERE externalstatus IS NULL;
LOOP
FETCH cur INTO result;
update X_externalaccountref set externalstatus = 1, externalchangedate = SYSDATE() where X_id = result.X_id;
EXIT WHEN cur%NOTFOUND;
END LOOP;
close cur;
END;
/
【问题讨论】: