ORA-06547: INSERT, UPDATE 或 DELETE 語句必須使用 RETURNING 子句,ora-06547returning

來源:互聯網
上載者:User

ORA-06547: INSERT, UPDATE 或 DELETE 語句必須使用 RETURNING 子句,ora-06547returning

產生這個錯誤的原因:

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;


 


 

 

 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.