Oracle批量更新時間戳保證時間戳都不一樣


很多數據增量同步功能都是使用時間戳進行實現的,但是有時我們需要批量更新一批人的時間戳來觸發更新操作,但是如果這批人的時間戳都改成一樣的話在分頁同步時會出現問題,下面通過存儲過程實現修改時間戳並保證時間戳是遞增的。

CREATE OR REPLACE PROCEDURE PAMS.updatepersontime(orgId IN VARCHAR2) IS CURSOR person_id IS
SELECT
	id
FROM
	t_person p ;

personId t_person.id%TYPE;
BEGIN
	OPEN person_id;
LOOP
	<<loop_block>> FETCH person_id
INTO
	personId;

EXIT
WHEN person_id%notfound;

UPDATE
	t_person t
SET
	t.n_last_update_time = 
	(SELECT MAX(a.n_last_update_time) + 1 as n_last_update_time FROM t_person a WHERE a.id <> '0'  )
WHERE
	t.id = personId;

GOTO loop_block;
END
LOOP;
END updatepersontime;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM