发布网友 发布时间:2022-02-28 07:51
共2个回答
热心网友 时间:2022-02-28 09:21
exit when NeedCarGroupName_Cursor%notfound;追答因为多执行了一次insert into 语句,
loop -- 这是无限循环语句 退出条件要写在循环体里
fetch NeedCarGroupName_Cursor into v_groupName; --这是获取游标的值
insert into SGrouPNeedCarCount (d0) values (v_groupName); -- 插入数据
exit when NeedCarGroupName_Cursor%notfound; -- 退出条件是游标已经没有数据了
多执行一次插入的原因就是,虽然游标已经没有数据了,但是insert语句还会执行,而由于
游标已经没有数据了,所以不会再执行Into v_groupName,那么v_groupName的值还是
上一条数据的值,所以会报违反唯一性约束的错误。一定要搞清楚各种循环语句的循环次数。
end loop;
热心网友 时间:2022-02-28 10:39
还是跟数据有关,把这个*先去掉,看看库表里的数据就明白了