表变量如何传参oracle,oracle 表类型 表变量 例子

-- Create the types to support the table function.

DROP TYPE t_tf_tab;

DROP TYPE t_tf_row;

CREATE TYPE t_tf_row AS OBJECT (

EMPNO    NUMBER(4),

ENAME    VARCHAR2(10),

JOB      VARCHAR2(9),

MGR      NUMBER(4),

HIREDATE DATE,

SAL      NUMBER(7,2),

COMM     NUMBER(7,2),

DEPTNO   NUMBER(2)

);

/

CREATE TYPE t_tf_tab IS TABLE OF t_tf_row;

/

-- Build the table function itself.

create or replace function get_tab_tf return t_tf_tab as

l_tab t_tf_tab := t_tf_tab();

begin

/*FOR i IN 1 .. p_rows LOOP

l_tab.extend;

l_tab(l_tab.last) := t_tf_row(i, i, i, i, sysdate, i, i, i);

END LOOP;*/

for c_emp in (select * from scott.emp) loop

l_tab.extend;

l_tab(l_tab.last) := t_tf_row(c_emp.empno,

c_emp.ename,

c_emp.job,

c_emp.mgr,

c_emp.hiredate,

c_emp.sal,

c_emp.comm,

c_emp.deptno);

end loop;

return l_tab;

end;

/

-- Test it.

SELECT *

FROM   TABLE(get_tab_tf())

ORDER BY EMPNO DESC;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值