Oracle存储过程
现在的项目比较紧,加上自己也比较懒,实在是“没时间”写啊,呵呵,昨天看到一篇挺好的Oracle存储过程的例子,正好最近要用,转过来大家一起分享一下,谢谢(晨光映霞),原作地址:http://blog.csdn.net/xuyabao/archive/2008/03/20/2200205.aspx。
--------------------自定义函数开始--------------------
CREATE OR REPLACE FUNCTION fn_WFTemplateIDGet
(
TemplateCategoryID NUMBER,
OrganID NUMBER,
TemplateMode NUMBER
)
RETURN NUMBER
IS
TemplateID NUMBER;
ItemCount NUMBER;
BEGIN
--取模板中指定机构,指定分类的工作流模板记录
SELECT COUNT(*) INTO ItemCount
from t_WFTemplate
WHERE f_OrganID = OrganID AND f_TemplateCategoryID = TemplateCategoryID;
IF ItemCount = 1 THEN
SELECT f_TemplateID INTO TemplateID
from t_WFTemplate
WHERE f_OrganID = OrganID AND f_TemplateCategoryID = TemplateCategoryID;
ELSE
TemplateID := 0;
END IF;
RETURN(TemplateID);
END fn_WFTemplateIDGet;
--------------------自定义函数结束--------------------
--------------------包头开始--------------------
CREATE OR REPLACE PACKAGE pkg_TEMP is
TYPE curRecordset IS REF CURSOR;
--功能:由人员获取数据
PROCEDURE up_ModuleShowByEmployeeID
(
EmployeeID NUMBER,
objRs OUT curRecordset
);
END pkg_TEMP;
--------------------包头结束--------------------
--------------------包体开始--------------------
CREATE OR REPLACE PACKAGE BODY pkg_TEMP is
--功能:由人员获取数据
相关文档:
ORACLE bin目录下各文件的意义及使用方法
$ORACLE_HOME/bin下的utilities解释
Binary First Available Description
--------- ......
1. 游标: 容器,存储SQL语句影响行数。
2. 游标类型: 隐式游标,显示游标,REF游标。其中,隐式游标和显示游标属于静态游标(运行前将游标与SQL语句关联),REF游标属于动态游标(运行时将游标与SQL语句关联)。
3. ......
oracle 怎么来遍历一个树,相比较其他方法,oracle的connect语法更能很便利的解决问题。
语法格式:
select ...
from ...
start with...
connect by prior expr=expr
order siblings by ..
start with 的功能类似于where,指明从哪个分支开始便利;
connect by 指明父节点和子节点地连接方式,关键字prior放在父节 ......