UPDATE A set money= (22+22) WHERE A.userid=B.userid;
诸如这种,我将()中+两边换成select语句之后怎么都不行,求解?
...全文
85015打赏收藏
求教sql语句 更新update set =select?
sql需求。。更新A表中字段money信息,value值为A表中money的值 + 从B表中select获取的money, 两表通过userid关联,两个字段都是int类型。。 UPDATE A set money= (22+22) WHERE A.userid=B.userid; 诸如这种,我将()中+两边换成select语句之后怎么都不行,求解?
--楼上错了,不好意思。
DECLARE
CURSOR a IS
SELECT userid,money FROM b;
val a%ROWTYPE;
BEGIN
OPEN a;
LOOP
FETCH a
INTO val;
EXIT WHEN a%NOTFOUND;
UPDATE a SET money = val.money WHERE userid = val.userid;
COMMIT;
END LOOP;
CLOSE a;
END;
/
COMMIT;
EXIT
DECLARE
CURSOR a IS
SELECT userid,money FROM b;
val a%ROWTYPE;
BEGIN
OPEN a;
LOOP
FETCH a
INTO val;
EXIT WHEN a%NOTFOUND;
UPDATE a SET money = val.money WHERE userid = val.money;
COMMIT;
END LOOP;
CLOSE a;
END;
/
COMMIT;
EXIT
--楼上错了,不好意思。 DECLARE CURSOR a IS SELECT userid,money FROM b; val a%ROWTYPE; BEGIN OPEN a; LOOP FETCH a INTO val; EXIT WHEN a%NOTFOUND; UPDATE a SET money = val.money WHERE userid = val.userid; COMMIT; END LOOP; CLOSE a; END; / COMMIT; EXIT