Oracle存储过程【带输入输出参数】
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声明。
如果用输出参数的时候要给输出参数赋值,否则将看不到结果。
推荐阅读
-
Oracle存储过程【带输入输出参数】
-
Oracle学习笔记之有返回列表的存储过程
-
SQL Server 存储过程 数组参数 (How to pass an array into a SQL Server stored procedure)
-
Oracle 通过存储过程删除两个表中符合条件的记录
-
Oracle Procedure 存储过程语法
-
Oracle实践--PL/SQL综合之分页存储过程
-
在Oracle中不通过存储过程一次执行多条SQL语句Oracle PL/SQL
-
Oracle存储过程及Java调用
-
Oracle分页存储过程及PLSQL中的调用脚本
-
Oracle 查看表存储过程触发器函数等对象定义语句的方法