【发布时间】:2016-01-07 18:55:02
【问题描述】:
我在 plsql 中有一个记录表。
步骤 1. 使用以下内容填充表格:
select 1, oeh.header_id oeh.order_number, 'This is step 1' BULK COLLECT
into l_stat_tab
from oe_order_headers_all oeh
where oeh.header_id = 7923374;
test_record.get_jobs_stat( l_stat_tab);
第 2 步:在相同的过程中,我需要再次填充记录:
select 2, header_id, order_number,'This is step 2' BULK COLLECT
into l_stat_tab
from order_table
where id = 7923373;
test_record.get_jobs_stat( l_stat_tab);
对于下一次调用,第一次调用的值被替换。
我怎样才能找到下一个可用索引或者我可以在记录表中插入(填充)?
CREATE OR REPLACE PACKAGE test_record
AS
TYPE jobs_stat_t IS RECORD (
valid NUMBER,
header_id NUMBER,
child_header_id NUMBER,
order_number NUMBER,
line_number NUMBER,
parent_line_number NUMBER,
wip_entity_id NUMBER,
status_type VARCHAR2 (30),
ordered_item VARCHAR2 (50),
remarks VARCHAR2 (100)
);
TYPE jobs_stat_table_t IS TABLE OF jobs_stat_t
INDEX BY BINARY_INTEGER;
PROCEDURE get_jobs_stat (
p_jobs_stat_table IN jobs_stat_table_t
);
END test_record;
【问题讨论】:
-
l_stat_tab 你能给出这个的类型定义吗?
-
创建或替换PACKAGE test_record AS类型jobs_stat_t是记录(有效编号,header_id编号,child_header_id编号,order_number编号,line_number编号,parent_line_number编号,wip_entity_id编号,status_type varchar2(30),ordered_item varchar2(50 ), 备注 varchar2(100) );类型jobs_stat_table_t 是二进制整数索引的jobs_stat_t 表;程序 get_jobs_stat(jobs_stat_table_t 中的 p_jobs_stat_table); END test_record;