ホームページ  >  記事  >  データベース  >  Oracle存储过程【带输入输出参数】

Oracle存储过程【带输入输出参数】

WBOY
WBOYオリジナル
2016-06-07 15:25:441565ブラウズ

create or replace procedure proc_emp(eno in number,sal out number)--带输入输出参数的存储过程 as emp_records emp%rowtype;--声明一个记录类型用来存储结果集 begin select * into emp_records from emp where empno=eno;--把查询结果赋值个记录类型 sa

 

create or replace procedure proc_emp(eno in number,sal out number)--带输入输出参数的存储过程

as

emp_records emp%rowtype;--声明一个记录类型用来存储结果集

begin

       select * into emp_records from emp where empno=eno;--把查询结果赋值个记录类型

       sal:=emp_records.sal;--为输出参数赋值

      -- dbms_output.put_line(emp_records.ename||emp_records.sal);

end;

--执行存储过程

declare 

emp_no emp.empno%type;--声明一个员工编号的变量

emp_sal emp.sal%type;--声明一个员工薪水的变量

begin

    emp_no:='&empno';--从控制太输入参数

    proc_emp(emp_no,emp_sal);--调用存储过程并传入参数

    dbms_output.put_line(emp_sal);--显示输出参数

end;

 

 

总结:or代表是可选项,注意参数类型不要声明长度大小。记录类型的声明用rowtype声明。

如果用输出参数的时候要给输出参数赋值,否则将看不到结果。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。