Oracle 使用OUT参数创建/调用存储过程
2017-05-02 17:55
197 查看
1.OUT类型的参数由存储过程传入值,然后由用户接受参数值。下面通过SCOTT.EMP表创建一个搜索过程,该过程将根据所提供的EMPNO列的值检索雇员的ENAME和SAL
#使用VARIABLE命令绑定参数值,并调用存储过程SEARCH_EMPLOYEE
# 使用print命令显示变量值
# 使用SELECT语句检索绑定的变量值
# 在匿名程序块中调用存储过程SEARCH_EMPLOYEE
# 调用具有OUT参数过程中,未对OUT参数提供变量
SQL> create or replace procedure search_employee( 2 empno_param in number, 3 name_param out emp.ename%type, 4 salary_param out emp.ename%type) is 5 begin 6 select ename,sal 7 into name_param,salary_param 8 from scott.emp 9 where empno=empno_param; 10 exception 11 when no_data_found then 12 name_param:='NULL'; 13 salary_param:=-1; 14 dbms_output.put_line('未找到指定编号的员工信息!'); 15 end search_employee; 16 / 过程已创建。
#使用VARIABLE命令绑定参数值,并调用存储过程SEARCH_EMPLOYEE
SQL> variable name varchar2(10); SQL> variable sal number; SQL> exec search_employee(7499,:name,:sal); PL/SQL 过程已成功完成。
# 使用print命令显示变量值
SQL> print name NAME -------------------------------- ALLEN SQL> print sal SAL ---------- 1600
# 使用SELECT语句检索绑定的变量值
SQL> select :name,:sal 2 from dual; :NAME :SAL -------------------------------- ---------- ALLEN 1600
# 在匿名程序块中调用存储过程SEARCH_EMPLOYEE
SQL> set serverout on SQL> declare 2 name emp.ename%type; 3 sal emp.sal%type; 4 begin 5 search_employee(7499,name,sal); 6 dbms_output.put('姓名:' || name); 7 dbms_output.put_line('薪金:' || sal); 8 end; 9 / 姓名:ALLEN薪金:1600 PL/SQL 过程已成功完成。
# 调用具有OUT参数过程中,未对OUT参数提供变量
SQL> set serverout on SQL> declare 2 name emp.ename%type; 3 begin 4 search_employee(7499,name,1200); 5 end; 6 / search_employee(7499,name,1200); * 第 4 行出现错误: ORA-06550: 第 4 行, 第 29 列: PLS-00363: 表达式 '1200' 不能用作赋值目标 ORA-06550: 第 4 行, 第 3 列: PL/SQL: Statement ignored
相关文章推荐
- Oracle 使用IN OUT参数创建/调用存储过程
- 使用spring中的JdbcTemplate调用oracle中的有出入参数的存储过程
- The DataDirect provider for Oracle调用存储过程使用Cursor类型参数
- oracle 定时任务 job 调用存储过程有回到输出参数(含out参数)
- 创建存储过程,以部门编号为参数返回该部门的人数及平均工资(返回一个值可以通过函数来实现,但如果要返回多个值,需要使用out或in out模式参数实现)
- Oracle 存储过程 调用带有 out 参数的存储过程
- 创建并调用带输出(OUT)参数的存储过程
- mysql怎么创建和调用out参数的存储过程
- oracle创建触发器调用含参数存储过程
- Oracle 使用IN参数创建/调用存储过程
- hibernate里使用jdbc方式调用oracle带游标返回参数的简单分页存储过程
- 作业的使用示例_创建定时调用存储过程的作业.sql
- Oracle创建包、存储过程,及C#中调用
- 【转】如何使用 ADO.NET 和 Visual C# .NET 调用带参数的存储过程
- oracle调用带in out参数的存储过程
- 创建oracle的存储过程,以及通过JDBC调用该存储过程
- oracle调用带in out参数的存储过程
- java调用oracle 存储过程 以及游标使用
- 使用SqlDataSource调用带参数存储过程插入数据
- 如何使用 ADO.NET 和 Visual C# .NET 调用带参数的存储过程