赞
踩
通过oracle中的函数,返回数据集
以学生为例,先定义学生实体数据类型
1.定义学生数据类型
CREATE OR REPLACE TYPE "STUDENT_OBJ" as object
(
STUDENT_ID varchar2(10),
STUDENT_NAME varchar2(100),
STUDENT_NO VARCHAR2(10),
ClASS_ID varchar2(10),
CLASS_NAME VARCHAR2(100)
)
2.定义学生数据集 函数将返回这个数据集类型
CREATE OR REPLACE TYPE "T_STUDENT_OBJ_TABLE" is table of STUDENT_OBJ
3.编写函数
包定义
create or replace package PKG_TEST is
function fn_get_stu return T_STUDENT_OBJ_TABLE;
end PKG_TEST;
包体
create or replace package body PKG_TEST is
function fn_get_stu return T_STUDENT_OBJ_TABLE IS
var_out T_STUDENT_OBJ_TABLE;
begin
var_out := T_STUDENT_OBJ_TABLE();
var_out.extend(1);
var_out(var_out.count) := STUDENT_OBJ(
'1',
'张三',
'001',
'c1',
'C班1'
);
var_out.extend(1);
var_out(var_out.count) := STUDENT_OBJ(
'2',
'李四',
'002',
'c1',
'C班1'
);
return var_out;
end fn_get_stu;
end PKG_TEST;
4.查询数据集,在应用程序中就可以调用这个方法,返回数据集
select * from table(select pkg_test.fn_get_stu from dual)
结果为:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。