老大,测试的时候用游标插入数据又出现重复插入的现象,我的游标调用如下: DECLARE no_more_gbmes int default 0;
DECLARE gbmes_csr CURSOR FOR SELECT a.g_id from jz_gbmes a where a.ctid = new.ctid;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_gbmes=1;
delete from jz_stream where g_id in (select g_id from jz_gbmes where ctid = new.ctid);
OPEN gbmes_csr;
REPEAT
FETCH gbmes_csr INTO gid;
CALL businessRecord(gid);
UNTIL no_more_gbmes
END REPEAT;
CLOSE gbmes_csr;这里面调用了存储过程,这个存储过程是没有问题的,但是游标出现每次都会生成一个上一次产生的数据。
DECLARE gbmes_csr CURSOR FOR SELECT a.g_id from jz_gbmes a where a.ctid = new.ctid;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_gbmes=1;
delete from jz_stream where g_id in (select g_id from jz_gbmes where ctid = new.ctid);
OPEN gbmes_csr;
REPEAT
FETCH gbmes_csr INTO gid;
CALL businessRecord(gid);
UNTIL no_more_gbmes
END REPEAT;
CLOSE gbmes_csr;这里面调用了存储过程,这个存储过程是没有问题的,但是游标出现每次都会生成一个上一次产生的数据。
存储过程的用途是什么?