ORACLE 存储过程 函数 返回程序集合
2011-06-20 18:03
453 查看
--定义一个返回程序集的引用游标
CREATE OR REPLACE PACKAGE BAF_QUERY_TABLE AS
TYPE P_CURSOR IS ref CURSOR;
END BAF_QUERY_TABLE;
--创建存储过程,并返回游标的形式返回程序集
create or replace procedure getList(p_taskID number, p_out_cursor out BAF_QUERY_TABLE.P_CURSOR) is
begin
if p_taskID is null then
open p_out_cursor for select * from idm_task;
else
open p_out_cursor for select * from idm_task where task_id=p_taskID;
end if;
end getList;
create or replace function sp_ListEmp return types.cursortype
as
l_cursor types.cursorType;
begin
open l_cursor for select ename, empno from emp order by ename;
return l_cursor;
end;
FUNCTION GETUSERNAME(P_USER_ID IN NUMBER) RETURN VARCHAR2 IS
L_COUNT NUMBER := 0;
L_USER_NAME VARCHAR2(500) := '';
BEGIN
SELECT COUNT(*) INTO L_COUNT FROM SYS_USER WHERE USER_ID = P_USER_ID;
IF L_COUNT = 1 THEN
SELECT USER_NAME || '(' || USER_ACCOUNT || ')'
INTO L_USER_NAME
FROM SYS_USER
WHERE USER_ID = P_USER_ID;
END IF;
RETURN l_user_name;
END GetUserName;
CREATE OR REPLACE PACKAGE BAF_QUERY_TABLE AS
TYPE P_CURSOR IS ref CURSOR;
END BAF_QUERY_TABLE;
--创建存储过程,并返回游标的形式返回程序集
create or replace procedure getList(p_taskID number, p_out_cursor out BAF_QUERY_TABLE.P_CURSOR) is
begin
if p_taskID is null then
open p_out_cursor for select * from idm_task;
else
open p_out_cursor for select * from idm_task where task_id=p_taskID;
end if;
end getList;
create or replace function sp_ListEmp return types.cursortype
as
l_cursor types.cursorType;
begin
open l_cursor for select ename, empno from emp order by ename;
return l_cursor;
end;
FUNCTION GETUSERNAME(P_USER_ID IN NUMBER) RETURN VARCHAR2 IS
L_COUNT NUMBER := 0;
L_USER_NAME VARCHAR2(500) := '';
BEGIN
SELECT COUNT(*) INTO L_COUNT FROM SYS_USER WHERE USER_ID = P_USER_ID;
IF L_COUNT = 1 THEN
SELECT USER_NAME || '(' || USER_ACCOUNT || ')'
INTO L_USER_NAME
FROM SYS_USER
WHERE USER_ID = P_USER_ID;
END IF;
RETURN l_user_name;
END GetUserName;
相关文章推荐
- PKG_COLLECTION_LHR 存储过程或函数返回集合类型
- Oracle和SQLServer分别使用函数和存储过程返回结果集
- oracle 通过存储过程返回游标类型集合
- oracle实现用函数返回表集合
- Oracle包体,包含存储过程,自定义函数(function),自定义类型(table),用函数返回自定义类型(相当于返回一张表)
- java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<Oracle_函数_触发器_游标_存储过程_视图>(三十五)
- 浅谈Oracle函数返回Table集合
- 浅谈Oracle函数返回Table集合
- Oracle 函数/存储过程返回结果
- Java调用oracle函数返回oracle类(类似)集合
- Java调用oracle函数返回oracle类(类似)集合
- Oracle函数返回Table集合
- SQLSERVER与ORACLE存储过程对比ORACLE版本(函数,程序包,程序体,存储过程)
- oracle 用函数返回对象集合
- Oracle返回表集合函数
- 从Oracle 函数或者存储过程返回数据集
- Oracle 函数function之返回结果集
- oracle 存储过程,存储函数以及定时器的综合使用