。--------------------自定義函式開始--------------------
create or replace function fn_wftemplateidget
(templatecategoryid number,
organid number,
templatemode number
) return number
istemplateid 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
select count(*) into recordcount from vw_employee
where f_loginname = loginname
and f_rowflag = 0;
select count(*) into recordcount from vw_employee
where f_loginname = loginname
and f_password = password
and f_rowflag = 0;
select f_employeeid into employeeid
from vw_employee
where f_loginname = loginname
and f_password = password
and f_rowflag = 0;
end up_loginvalidate;
--功能:獲取記錄集
procedure up_visitlogshow
(visityear number, --年
visitmonth number, --月
objrs out currecordset)is
begin
open objrs for
select
c.f_customername as f_organname,
a.f_visitlogid,
a.f_employeeid,
a.f_employeename,
a.f_ipaddress,
to_char(a.f_visittime,'yyyy-mm-dd hh24:mi:ss') as f_visittime,
a.f_visitpage
from vw_visitlog a
left join vw_employee b on b.f_employeeid = a.f_employeeid
left join vw_customer c on c.f_customerid = b.f_organid
where extract(year from a.f_visittime) = visityear
and extract(month from a.f_visittime) = visitmonth
order by f_visitlogid desc;
end up_visitlogshow;
--獲取查詢結果
procedure up_queryshow
(organid number,
linekey varchar2,
objrs out currecordset)is
begin
open objrs for
select
a.*,
case nvl(b.f_typeid ,0)
when 0 then '無型別'
when 1 then '型別1'
else '型別2'
end as f_typename,
b.f_doublelinecode
from vw_lineorgandnshow a
left join vw_linedistributiongroup b on a.f_linegroupid = b.f_linegroupid
where (f_linekey like linekey||'%' or f_linename like linekey ||'%')
and a.f_organid = organid
and rownum < 20;
end up_linequeryshow;
--功能:游標迴圈
procedure up_wfconfigcopy
(templateid number, --源模版id
newtemplatename varchar2, --新模版名稱
newremark varchar2, --新模版說明
neworganid number --新模版機構id)is
templatecategoryid number; --源模版分類id
newtemplateid number; --新模版id
end pkg_temp;
--------------------包體結束--------------------
Oracle儲存過程呼叫儲存過程
oracle儲存過程呼叫有返回結果集的儲存過程一般用光標的方式,宣告乙個游標,把結果集放到游標裡面,然後迴圈游標 declare newcs sys refcursor cs1 number cs2 number cstype table rowtype table列的個數和newcs返回的個數一樣...
Oracle 儲存過程
create or replace procedure p 有就替換,沒有就建立 iscursor c is select from emp for update begin for v emp in c loop if v emp.deptno 10 then update emp2 set sa...
Oracle儲存過程
1 在plsql中新建包,在包中定義儲存過程 create or replace package l image core is 功能說明 取消次品單資訊 修改次品單總資訊及次品單詳細資訊的有效狀態為 y 如果是缺少的檔案,則需要修改單類影像檔案索引表 image doc index 中有效狀態為 ...