-----对于普通表
实现: UPDATE T_PM_DEPOSIT_HIS b
SET flag = SUBSTR( flag, 1, 8 )||'4'||
CASE
WHEN term <= 365
THEN '1'
ELSE '2'
END AS flag
WHERE b.data_date>=20130101
DECLARE
CURSOR cur IS
SELECT
b.ROWID ROW_ID
FROM T_PM_DEPOSIT_HIS b
where b.data_date>=20130101
ORDER BY b.ROWID; ---如果表的数据量不是很大,可以不用 order by rowid
V_COUNTER NUMBER;
BEGIN
V_COUNTER := 0;
FOR row IN cur LOOP
UPDATE T_PM_DEPOSIT_HIS b
SET flag = SUBSTR( flag, 1, 8 )||'4'||
CASE
WHEN term <= 365
THEN '1'
ELSE '2'
END AS flag
WHERE b.data_date>=201
利用ROWID 快速更新单表记录
最新推荐文章于 2021-04-03 01:58:29 发布