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

本文介绍在PL/SQL中如何定义记录类型,并通过一个具体示例展示如何使用存储过程来修改记录类型的变量值。此外,还展示了如何在PL/SQL块中调用这个存储过程并查看其对记录值的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先定义一个 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

 

转载于:https://www.cnblogs.com/xwb583312435/p/9054684.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值