Maison > base de données > tutoriel mysql > ORA-06547: INSERT, UPDATE 或 DELETE 语句必须使用 RETURNING 子句

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2016-06-07 16:43:08
original
1559 Les gens l'ont consulté

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

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

产生这个错误的原因:

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; 

本文永久更新链接地址:

linux

Étiquettes associées:
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal