1).宣告
create or replace
function get_report_emp_count(in_deptno varchar2,
in_emp_office varchar2,
in_datum_date varchar2,
in_post_no varchar2, --職級名稱
in_dept_distinguish_no varchar2
)return varchar2 is
v_param_value varchar2(30);
然後裡面的架構都是
begin
end這種包含。
裡面的判斷
if in_emp_office = '15120' then --離職
begin
select a into v_a from dual;
end;
els if --否則
else --最後否者的話
end;
end if;
注意一點的是,如果傳過來的引數是空『』 就要用 is null判斷。
2)拼寫sql語句執行
execute immediate
' select ar_shift010.datatype ' ||
' from ar_shift010, ar_schedule_' || in_cpny_id || ' ar_schedule ' ||
' where ar_shift010.shift_no = ar_schedule.shift_no ' ||
' and ar_schedule.person_id = :person_id ' ||
' and to_date(ar_schedule.ar_date_str,''yyyy-mm-dd'') = to_date(:ar_date_str,''yyyy-mm-dd'') '
into var_datetype
using in_person_id, in_ar_date_str ;
3)根據測試,列印出值
dbms_output.put_line(var_sql_str);
oracle中如何寫函式 oracle技術
在oracle資料開發中函式是必不可少的。函式可以一般是可以完成某一功能而編寫的,他儲存在資料中執行也是在資料庫中,有明確的歸屬。比如 使用者a建立了乙個函式,如果a不公開這個函式,那麼oracle中的其他使用者是不能看到該函式的,除非有dba許可權的使用者的。end 我這個例子是比較全面的,當然你...
自己寫的 ORACLE 函式的解讀
declare maxwritno integer 宣告了2個變數,變數型別是integer linety integer begin 表示進入方法體 for rec in select 01 02 17 and a.iseffect 0 loop 這個loop表示迴圈開始,實際上會查詢多條記錄出來...
自寫簡單oracle資料庫函式
1 返回兩個數中較大者 create or replace function choosemax v1 in number,v2 in number return number is v max number begin if sign v1 v2 0 then v max v1 elsif sig...