陪衬丶角色_Z 2020-05-29 11:16 采纳率: 33.3%
浏览 499
已采纳

oracle使用游标将一个表数据插入另一个表中报错

对于学生选课表sc(sno,cno,grade),创建相同结构的新表sc1,并将sc数据全部加入到sc1,然后通过游标对sc1进行成绩更新:
成绩为: 80~100 更新为5;
60~80, 更新为3;

低于60分,更新为0;
更新之后对比sc和sc1,查看更新效果


```declare
    sc1_sno sc1.sno%type;
    sc1_cno sc1.cno%type;
    sc1_grade sc1.grade%type;
    cursor  sc_cursor
    is select  sno,cno,grade from  sc;
begin 
  open sc_cursor;
  loop
    fetch sc_cursor into sc1_sno,sc1_cno,sc1_grade;
       exit when  sc_cursor % notfound;
       if sc1_grade>=80 then
          sc1_grade:=5;
       else 
          if sc1_grade<60 then
          sc1_grade:=0;
          else 
          sc1_grade:=3;
          end if;
        end if;
      insert into sc1(sno,cno,grade) values (sc1_sno,sc1_cno,sc1_grade);
  end loop;
    close sc_cursor; 
  commit;
 end;
错误报告:
ORA-00001: 违反唯一约束条件 (STUDENT.SYS_C004830)
ORA-06512: 在 line 21
00001. 00000 -  "unique constraint (%s.%s) violated"
*Cause:    An UPDATE or INSERT statement attempted to insert a duplicate key.
           For Trusted Oracle configured in DBMS MAC mode, you may see
           this message if a duplicate entry exists at a different level.
*Action:   Either remove the unique restriction or do not insert the key.

  • 写回答

1条回答 默认 最新

  • 关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 我想用51单片机和数码管做一个从0开始的计数表 我写了一串代码 但是放到单片机里面数码管只闪烁一下然后熄灭
  • ¥20 系统工程中,状态空间模型中状态方程的应用。请猛男来完整讲一下下面所有问题
  • ¥15 我想在WPF的Model Code中获取ViewModel Code中的一个参数
  • ¥15 arcgis处理土地利用道路 建筑 林地分类
  • ¥20 使用visual studio 工具用C++语音,调用openslsx库读取excel文件的sheet问题
  • ¥100 寻会做云闪付tn转h5支付链接的技术
  • ¥15 DockerSwarm跨节点无法访问问题
  • ¥15 使用dify通过OpenAI 的API keys添加OpenAI模型时报了“Connection Error”错误
  • ¥40 想找个软件,但我不知道怎么找到它,我甚至不知道有没有
  • ¥15 怎么把60秒的视频时长改成显示0秒?且视频内容没有任何变化的正常播放?目的是为了解决一些平台对视频时长的要求,最好有自动处理的工具!