码迷,mamicode.com
首页 > 其他好文 > 详细

ORA-06547: INSERT, UPDATE 或 DELETE 语句必须使用 RETURNING 子句

时间:2014-11-25 10:57:04      阅读:322      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   ar   使用   sp   on   2014   log   

产生这个错误的原因:

returning into子句作用于insert,update,delete,上而select则不行,应该用into。

报错的存储如下:

create or replace procedure p_stu_info(s_id number, s_name varchar2) is
  v_name   varchar2(10);
  v_age    number;
  v_ErrMsg varchar2(200);
begin
  execute immediate 'select name,age from student_test where id=:1 and name=:2'
    using s_id, s_name
    returning into v_name, v_age;
  dbms_output.put_line(v_name || '的年龄为:' || to_char(v_age));
exception
  when others then
    v_ErrMsg := SUBSTRB(SQLERRM, 1, 200);
    dbms_output.put_line('找不到相应学生');
end p_stu_info;

改成下面这样就ok了:

create or replace procedure p_stu_info(s_id number, s_name varchar2) is
  v_name   varchar2(10);
  v_age    number;
  v_ErrMsg varchar2(200);
begin
  execute immediate 'select name,age from student_test where id=:1 and name=:2'
    into v_name, v_age
    using s_id, s_name;
  dbms_output.put_line(v_name || '的年龄为:' || to_char(v_age));
exception
  when others then
    v_ErrMsg := SUBSTRB(SQLERRM, 1, 200);
    dbms_output.put_line('找不到相应学生,错误原因:'||v_ErrMsg);
end p_stu_info;


 


 

 

 

ORA-06547: INSERT, UPDATE 或 DELETE 语句必须使用 RETURNING 子句

标签:style   blog   io   ar   使用   sp   on   2014   log   

原文地址:http://blog.csdn.net/helloboat/article/details/41476833

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!