Oracle 循环更新的Plsql过程

Oracle 循环更新的Plsql过程,oracle,plsql,Oracle,Plsql,我有两列A和B,列A有n个记录,我想将列B更新为Ud1,Ud2…方法是一次获取两行的数据块,并更新相应的B列 A B 1 Ud1 2 Ud1 3 Ud2 4 Ud2 5 Ud3 6 Ud3 . . . 如何在过程中通过保持循环中的行来实现这一点?您可以在纯SQL中使用UPDATE语句来实现这一点: UPDATE <table> SET b = TRUNC((a+1)/2); 更新 设置b=TRUNC((a+1)/2); 如果必须使用程序,则: CREATE

我有两列
A
B
,列
A
有n个记录,我想将列
B
更新为
Ud1
Ud2
…方法是一次获取两行的数据块,并更新相应的
B

A  B
1  Ud1
2  Ud1
3  Ud2
4  Ud2
5  Ud3
6  Ud3
.
.
.

如何在过程中通过保持循环中的行来实现这一点?

您可以在纯SQL中使用
UPDATE
语句来实现这一点:

UPDATE <table>
   SET b = TRUNC((a+1)/2);
更新
设置b=TRUNC((a+1)/2);
如果必须使用程序,则:

CREATE OR REPLACE
PROCEDURE update_2rows
IS
BEGIN
   UPDATE <table>
      SET b = TRUNC((a+1)/2);
   --
   COMMIT; -- Optional, you may want to commit here...
END update_2rows;
/
创建或替换
程序更新\u 2rows
是
开始
更新
设置b=TRUNC((a+1)/2);
--
承诺;——可选,您可能希望在此处提交。。。
结束更新\u 2rows;
/

希望有帮助

请尽一点努力,以更易于阅读的方式正确设置文本格式