oralce 存储过程传入 record 类型的参数?

Posted 薛文博

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oralce 存储过程传入 record 类型的参数?相关的知识,希望对你有一定的参考价值。

先定义一个 package , package中含有一个 record 类型的变量

 

create or replace package pkg_record is  
  
 type emp_record is record(  
       ename emp.ename%type,  
       eno emp.empno%type     
 );  
  
end pkg_record;

 

定义一个存储过程

 

    create or replace procedure pro_add_emp(v_emp_rcd in out pkg_record.emp_record)  
    is  
    begin  
          v_emp_rcd.ename := xxxxx;  
          v_emp_rcd.eno := 2222;  
    end pro_add_emp;  

 

在 pl sql 中调用该存储过程

 

declare   
  emp_rcd pkg_record.emp_record;  
begin  
    
  select e.ename,e.empno into emp_rcd from emp e where rownum = 1;  
  dbms_output.put_line(调用前... || emp_rcd.ename ||    || emp_rcd.eno);  
    
  pro_add_emp(emp_rcd);  
    
  dbms_output.put_line(调用后... || emp_rcd.ename ||    || emp_rcd.eno);  
end; 

 

执行结果: DBMS output
调用前...SMITH  7369
调用后...xxxxx  2222

 

以上是关于oralce 存储过程传入 record 类型的参数?的主要内容,如果未能解决你的问题,请参考以下文章

oralce删除表,存储过程,函数

oralce之存储过程

oracle遇到的锁异常,oralce record is locked by another user

存储过程传入datatable

2.PLSQL编写简单存储过程(传入参数,修改+打印)

数组做为参数传入Oracle存储过程操作数据库