很多数据增量同步功能都是使用时间戳进行实现的,但是有时我们需要批量更新一批人的时间戳来触发更新操作,但是如果这批人的时间戳都改成一样的话在分页同步时会出现问题,下面通过存储过程实现修改时间戳并保证时间戳是递增的。
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;