oracle寫函式(一)

2021-07-04 16:50:55 字數 1144 閱讀 3067

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...