永发信息网

Oracle PL/SQL: ORA-00001: 违反必须为唯一的限制条件 我查出的数据没有重复的,为什麽报错?

答案:2  悬赏:40  手机版
解决时间 2021-02-03 04:46
我的存储过程为:
--插入查询出组名称到表SGrouPNeedCarCount
set serveroutput on
create or replace procedure pr_NeedCarGroupName Authid Current_User is
type sp_NeedCarGroupName_Cursor is ref cursor;
NeedCarGroupName_Cursor sp_NeedCarGroupName_Cursor;
v_groupName SGroupStorageLocation.d0%type;
begin
open NeedCarGroupName_Cursor for select distinct d0 from SGroupStorageLocation order by d0;
loop
fetch NeedCarGroupName_Cursor into v_groupName;
insert into SGrouPNeedCarCount (d0) values (v_groupName);
exit when NeedCarGroupName_Cursor%notfound;
dbms_output.put_line('组名称为:'||v_groupName);
end loop;
close NeedCarGroupName_Cursor;
end;
查出来的语句为:
Procedure created

SQL> exec pr_NeedCarGroupName;

组名称为:MODULE(18.5LED)
组名称为:MODULE(23.6LED)
组名称为:MODULE(B131)
组名称为:MODULE(B137)
组名称为:MODULE(B64机种(长))
组名称为:MODULE(B98机种)
组名称为:MODULE(MI5B1)
组名称为:MODULE(MJ0A1)
组名称为:MODULE(ML5H1)
组名称为:MODULE(ML6H1)
组名称为:MODULE(MM0Z1)
组名称为:MODULE(四类LED机种)
组名称为:MODULE(非NB机种)
组名称为:NB LED BTAG(APPLE+FUJI)
组名称为:NB LED BTAG(B26)
组名称为:NB LED BTAG(EDP)
组名称为:NB LED 普通(ALL)
组名称为:NB LED 普通(HP机种)
组名称为:NB LED 普通(除APPLE、FUJI、HP、EDP机种)
组名称为:灯管Inverter(四灯管)
组名称为:灯管Inverter(双灯管)

报错误为:
begin pr_NeedCarGroupName; end;
ORA-00001: 违反必须为唯一的限制条件 (NBTESTDATA.SGROUPNEEDCARCOUNTPK)
ORA-06512: 在 "NBTESTDATA.PR_NEEDCARGROUPNAME", line 9
ORA-06512: 在 line 2
最佳答案
修改一下循环语句,按下列形式把Insert语句和Exit语句调换顺序,先判断结束,再插入记录。
loop
fetch NeedCarGroupName_Cursor into v_groupName;
exit when NeedCarGroupName_Cursor%notfound;
insert into SGrouPNeedCarCount (d0) values (v_groupName);
dbms_output.put_line('组名称为:'||v_groupName);
end loop;
全部回答
exit when needcargroupname_cursor%notfound; insert into sgroupneedcarcount (d0) values (v_groupname); 把这两句换下位置。 另外,为什么要用游标循环插入呢,一句sql就可以解决了啊。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
酒店马桶堵了会被扣押金吗
宁波老虎咬人时事件的观点 作文
越飞越高地址在什么地方,想过去办事
枕流漱石的意思是什么啊?知道的请说下!
忠宏装饰有限责任公司地址在什么地方,想过去
大家的洁净区温湿度范围是怎么制定
台湾六零年代末所推行的"净化歌曲"其由来为何
春天阳光咖啡酒吧地址在什么地方,想过去办事
九通宾馆在什么地方啊,我要过去处理事情
浦东机场到人民广场可以直接坐2号线吗?
DNF 鬼泣的冥炎之卡洛 冥炎分身的速度 是由攻
现行犯的意思是什么啊?知道的请说下!
【群芳吐艳】成语群芳吐艳解释不会
安徽南铝铝材工程有限公司在什么地方啊,我要
单选题“苟活者在淡红的血色中,会依稀看见微
推荐资讯
金瑞市场南门在什么地方啊,我要过去处理事情
元伟汽贸怎么去啊,我要去那办事
闳厚的意思是什么啊?知道的请说下!
江西旅游商贸职业学院今年分数线是多少
水库到皇岗口岸怎么走
头发变少的原因及调理
共青团的入团个人简历怎么写啊?急急急…
屋内装修顶阴角贴石膏线的放线比例是多少?
家家乐厨卫电器地址有知道的么?有点事想过去
【through怎么读】through怎么读?不是音标,读
债权人委员会成员不得超过十人。
向阳中心小学(伊春嘉荫)地址在哪,我要去那里
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?