1、oracle中处理
建类型和函数
--建类型
/*
这些用于结构操作:
一个data_table_type数据列表有多条data_type数据,
一条data_type数据有fileinfo_type文件信息和seriesinfo_table_type分析项列表信息
一个fileinfo_type文件信息有NUM列号,DEVICENAME品名,LOTID,BATCHNUM批次,ENDDATE测试日期,TOTAL总数,PASS通过数,BINIT是否初测等
一个seriesinfo_table_type分析项列表信息有多个seriesinfo_type分析项信息
一个seriesinfo_type分析项信息有SERIESNAME分析项,PASSNUM这个分析项的通过数
*/
create or replace type seriesinfo_type as OBJECT (SERIESNAME VARCHAR2(50),PASSNUM NUMBER(10));
--OBJECT类型:seriesinfo_type,含有两个变量SERIESNAME和PASSNUM
/
create or replace type seriesinfo_table_type as table of seriesinfo_type;
--table类型:seriesinfo_table_type,是seriesinfo_type的集合
/
create or replace type fileinfo_type as OBJECT(
NUM NUMBER(10), DEVICENAME VARCHAR2(100),
LOTID VARCHAR2(100), BATCHNUM VARCHAR2(100),
ENDDATE VARCHAR2(20), TOTAL NUMBER(10),
PASS NUMBER(10), BINIT VARCHAR2(10));
--OBJECT类型:fileinfo_type,含有NUM,DEVICENAME,。。。,BINIT
/
create or replace type data_type as OBJECT(filedata fileinfo_type,series_array seriesinfo_table_type);
--OBJECT类型:data_type,含有fileinfo_type和seriesinfo_table_type
/
create or replace type data_table_type as table of data_type;
--table类型:data_type,是data_type的集合
/
--建函数
create or replace function select_data return data_table_type as
--选择数据,返回值是一个结构体的集合,每个结构体含有fileinfo的一条记录和这个num对应的seriesinfo表的多条记录
--定义的自定义类型
v_seriesinfo seriesinfo_type;
v_seriesin