返回一个表类型什么表类型:索引表,嵌套表 题意不明 索引表例子 CREATE OR REPLACE PACKAGE test01 AS /****************************************************************************** NAME: test01 PURPOSE: REVISIONS: Ver Date Author Description --------- ---------- --------------- ------------------------------------ 1.0 2007-8-17 1. Created this package. ******************************************************************************/ TYPE account_record_type IS RECORD ( ID VARCHAR2 (20), NAME VARCHAR2 (20) ); TYPE account_table_type IS TABLE OF account_record_type INDEX BY BINARY_INTEGER; FUNCTION b1 (p_t IN OUT account_table_type) RETURN integer; END test01; /CREATE OR REPLACE PACKAGE BODY test01 AS /****************************************************************************** NAME: test01 PURPOSE: REVISIONS: Ver Date Author Description --------- ---------- --------------- ------------------------------------ 1.0 2007-8-17 1. Created this package. ******************************************************************************/
FUNCTION b1 (p_t IN OUT account_table_type) RETURN integer is v_r account_record_type; v_i integer; BEGIN FOR i IN 1 .. p_t.COUNT LOOP v_r := p_t (i); v_r.NAME := v_r.NAME || 'funb1'; p_t(i):=v_r; END LOOP; RETURN v_i; END b1; END test01; /
索引表例子
CREATE OR REPLACE PACKAGE test01
AS
/******************************************************************************
NAME: test01
PURPOSE: REVISIONS:
Ver Date Author Description
--------- ---------- --------------- ------------------------------------
1.0 2007-8-17 1. Created this package.
******************************************************************************/ TYPE account_record_type IS RECORD (
ID VARCHAR2 (20),
NAME VARCHAR2 (20)
); TYPE account_table_type IS TABLE OF account_record_type
INDEX BY BINARY_INTEGER; FUNCTION b1 (p_t IN OUT account_table_type)
RETURN integer;
END test01;
/CREATE OR REPLACE PACKAGE BODY test01
AS
/******************************************************************************
NAME: test01
PURPOSE: REVISIONS:
Ver Date Author Description
--------- ---------- --------------- ------------------------------------
1.0 2007-8-17 1. Created this package.
******************************************************************************/
FUNCTION b1 (p_t IN OUT account_table_type)
RETURN integer
is
v_r account_record_type;
v_i integer;
BEGIN FOR i IN 1 .. p_t.COUNT
LOOP
v_r := p_t (i);
v_r.NAME := v_r.NAME || 'funb1';
p_t(i):=v_r;
END LOOP; RETURN v_i;
END b1;
END test01;
/