1.函式:
function fun_buyernameget(ps_cardno in varchar2) return varchar2
isvs_result varchar2(80);
begin
--如果存在該業務員的工號,則返回他的姓名,否則返回空
if exist('select full_name from kxstepiii.ba_person_info where card_no = ''' || ps_cardno || '''') then
begin
select full_name into vs_result from kxstepiii.ba_person_info where card_no = ps_cardno;
end;
else
vs_result := '';
end if;
return vs_result;
end fun_buyernameget;
2.儲存過程
a.插入操作:
procedure pro_stockins(ps_suppliername in varchar2,
pn_itemqty in number,
ps_itemdesc in varchar2,
ps_comedate in varchar2,
ps_attachedfile in varchar2,
ps_supaddress in varchar2,
ps_supphone in varchar2,
ps_supfax in varchar2,
ps_supemail in varchar2,
ps_userno in varchar2,
ps_hkstockitemno out varchar2)
isvn_count number; --記錄新生成的發布存貨單號是否存在
begin
end pro_stockins;
b.更新操作:
end pro_claimstock;
c.查詢操作:
包頭裡面定義:
type t_cursor is ref cursor; ----ref cursor
procedure pro_stockqry(ps_hkstockitemno in varchar2,
ps_status in varchar2,
ps_suppliername in varchar2,
ps_itemdesc in varchar2,
ps_begindate in varchar2,
ps_enddate in varchar2,
returncur out t_cursor)
isvs_hkstockitemno varchar(22); --存貨號
vs_suppliername varchar(202); --**商名稱
vs_itemdesc varchar(402); --貨物描述
vs_status varchar(12); --存貨狀態
vs_sql varchar(3000); --儲存動態sql語句
begin
--構造模糊查詢的變數
vs_hkstockitemno := '%' || ps_hkstockitemno || '%';
vs_suppliername := '%' || ps_suppliername || '%';
vs_itemdesc := '%' || ps_itemdesc || '%';
--當存貨狀態為空時,查出所有狀態下的存貨記錄
if ps_status = 'all' then
vs_status := '%';
else
vs_status := ps_status;
end if;
--組織動態sql語句
vs_sql := 'select a.hkstockitem_no, a.supplier_name, a.item_desc, a.item_qty, pu_codeinfo.code_desc as status,
a.attached_file, (kxstepiii.ba_person_info.full_name || a.buyer) as buyer
from pu_hk_stock a
left join pu_codeinfo on pu_codeinfo.code_type = ''存貨狀態'' and a.status = pu_codeinfo.en_code_desc
left join kxstepiii.ba_person_info on a.buyer = kxstepiii.ba_person_info.card_no
where (a.status like ''' || vs_status || ''') and (a.hkstockitem_no like ''' || vs_hkstockitemno || ''')
and (a.supplier_name like ''' || vs_suppliername || ''')
and (a.item_desc like ''' || vs_itemdesc || ''')';
--根據開始時間和結束時間來新增查詢條件
if ps_begindate is not null then --開始時間是否為空
vs_sql := vs_sql || ' and (a.creation_date >= to_date(''' || ps_begindate || ''', ''yyyy-mm-dd''))';
end if;
if ps_begindate is not null then --結束時間是否為空
vs_sql := vs_sql || ' and (a.creation_date < to_date(''' || ps_enddate || ''', ''yyyy-mm-dd'') + 1)';
end if;
--查詢資料
open returncur for vs_sql;
end pro_stockqry;
函式模板和模板函式
1.函式模板的宣告和模板函式的生成 1.1函式模板的宣告 函式模板可以用來建立乙個通用的函式,以支援多種不同的形參,避免過載函式的函式體重複設計。它的最大特點是把函式使用的資料型別作為引數。函式模板的宣告形式為 template 返回型別 函式名 參數列 其中,template是定義模板函式的關鍵字...
函式模板和模板函式
1.函式模板的宣告和模板函式的生成 1.1函式模板的宣告 函式模板可以用來建立乙個通用的函式,以支援多種不同的形參,避免過載函式的函式體重複設計。它的最大特點是把函式使用的資料型別作為引數。函式模板的宣告形式為 template 返回型別 函式名 參數列 其中,template是定義模板函式的關鍵字...
函式模板和模板函式
1.函式模板的宣告和模板函式的生成 1.1函式模板的宣告 函式模板可以用來建立乙個通用的函式,以支援多種不同的形參,避免過載函式的函式體重複設計。它的最大特點是把函式使用的資料型別作為引數。函式模板的宣告形式為 template 返回型別 函式名 參數列 其中,template是定義模板函式的關鍵字...