1、见下面的例子

create or replace procedure p_qr_stu_cid(s_id in number, c_id out number) 
as
begin
  select t.class_id into c_id from student t where t.s_id = s_id;
end;

   上面的存储过程,我们可以编译通过,也比较简单,看着没有什么问题,了入参s_id与数据库表student的s_id相同之外,其他没有什么特殊的了,我们进行调试:

Oracle-常见的错误

ORA-01422: 实际返回的行数超出请求的行数
ORA-06512: 在 "SCOTT.P_QR_STU_CID", line 4
ORA-06512: 在 line 7

View program sources of error stack?

   提示的错误信息是与预期的返回单行不匹配,检查数据库:结果确确实实只能返回一条啊。但确实,问题就出在入参s_id与表字段同名的问题上。

Oracle-常见的错误

    我们对入参做一些修改:

create or replace procedure p_qr_stu_cid(i_s_id in number, c_id out number) 
as
begin
  select t.class_id into c_id from student t where t.s_id = i_s_id;
end;

    再次调试程序

Oracle-常见的错误

 

相关文章:

  • 2020-06-10
  • 2021-11-02
  • 2021-10-21
  • 2021-11-02
  • 2021-12-07
  • 2021-11-07
  • 2021-11-15
  • 2021-08-29
猜你喜欢
  • 2019-03-26
  • 2021-10-12
  • 2019-03-26
  • 2021-09-20
  • 2021-11-14
  • 2021-11-01
  • 2021-08-13
相关资源
相似解决方案