使用单个更新语句两个因列我已经创建该表:更新Oracle中
Create table Vars(A number, B number, C number);
然后,我插入一个新行,其中仅在第一列(即,A
)具有一个值:
Insert Into Vars(A) values (2);
现在,我要作出这样的修改列B
的值更新语句和C
如下:
B = A * A
C = B + 10
的问题是,当我执行以下更新语句,的B
值被正确地更新,但C
值被更新基于的B
旧的价值,这是空的,而非更新的:
Update Vars set B=A*A, C=B+10;
任何一个可以帮助我的方式,让C
要依据的更新值计算使用单个更新语句。
预先感谢您。
你可以写“更新乏集B = A * A,C =(A * A)+ 10; – DirkNM
实际上,列的实际计算太复杂(我张贴在这里只是举例)另外,我的表格有10列,每列都根据一组以前更新的列进行更新。 – TeeKea
@TeeKea您是否使用plsql?以这种方式更好地将其编写为plsql块 – Moudiz