Table of Contents
함수(Function)란? #
데이터베이스 오브젝트로 정의해서 만들어 둔 후에 필요할 때마다 호출해서 사용할 수 있도록 해둔 것
내장함수 #
- 데이터베이스에서 자체 제공되는 함수로 정식명칭은 sql 함수
Oracle 내장함수의 종류 #
함수명 | 기능 |
---|---|
Decode | If .. Then .. Else을 처리 |
Greatest(값,값) | 두 값중 큰 것을 return |
Least(값,값) | 두 값중 작은 것을 return |
Sign(값) | 값이 +면 1, -면 -1을, 0면 0을 return |
Floor(값) | 소수점 이하를 절사하여 return |
Ceil(값) | 소수점 이상을 절상하여 return |
ascii(문자 | 해당 문자의 핵사 데시멀 값을 return |
abs(값) | 절대값을 return |
max(값) | 가장 큰 값을 return |
rpad(값,길이,문자) | 값내의 데이터 길이가 주어진 길이 이하면 우측에 문자을 채워 고정길이을 return |
lpad(값,길이,문자) | 값내의 데이터 길이가 주어진 길이 이하면 좌측에 문자을 채워 고정길이을 return |
replace(값,문1,문2) | 값=문1면 문2로 교체하여 return |
min(값) | 가장 작은 값을 return |
count(값) | 값의 건 수를 return |
to_number(값) | 값을 숫자로 변환하여 return |
사용자 정의 함수 #
- 개잘자나 DBA등 오라클 사용자들이 필요에 따라 정의한 함수
Oracle 사용예제 #
CREATE OR REPLACE function CODA4.GET_RSRCH_TASK return TASK_TYPE_TBL pipelined
is
v_obj TASK_TYPE;
begin
for obj in
(SELECT b.EXPC_EFFECT
,b.RSRCH_CN
,b.RSRCH_GOAL
,b.RSRCH_TASK_ID
FROM T_CODA_REF_TASK a
, T_CODA_RSRCH_TASK b
WHERE a.REF_TASK_ID=b.REF_TASK_ID
)
loop
v_obj:=TASK_TYPE(
obj.EXPC_EFFECT
,obj.RSRCH_CN
,obj.RSRCH_GOAL
,obj.RSRCH_TASK_ID
);
pipe row(v_obj);
end loop;
end;