1) FUNCTION 특징
- 반드시 하나의 반환값이 존재해야됨
2) 구조:
CREATE OR REPLACE FUNCTION [함수명]([매개변수명] IN [매개변수 타입])
RETURN [반환타입]
IS
[변수명] [변수타입];
BEGIN
[실행 로직]
RETURN [변수명];
END;
/
예시:
밑변과 높이를 입력하면 삼각형 넓이가 반환되는 함수
CREATE OR REPLACE FUNCTION Nulbi(v_mit IN NUMBER, v_nopi IN NUMBER) --외부에서 들어오는 매개변수
RETURN NUMBER --function은 무조건 return 있어야됨
IS --이 함수 내에서 사용할 변수
v_nulbi NUMBER;
BEGIN --실제 함수 시작
v_nulbi := (v_mit * v_nopi)/2; --:= 오른쪽의 값을 왼쪽에 대입
RETURN (v_nulbi);
END; --함수 종료
/
--사용 방법
SELECT '삼각형의 넓이는 '||Nulbi(100,20) FROM dual;
결과: 삼각형의 넓이는 1000
Q)부서아이디를 입력하여 해당 부서 급여의 평균 급여를 출력하는 function을 작성하시오
CREATE OR REPLACE FUNCTION salary_deptid_func(v_department_id IN employees.department_id%type)
RETURN employees.salary%type
IS
v_avg_salary employees.salary%type;
BEGIN
SELECT avg(salary) INTO v_avg_salary
FROM employees
WHERE department_id=v_department_id;
RETURN (v_avg_salary);
END;
/
SELECT salary_deptid_func(100) FROM dual;
'[오라클] > PL-SQL' 카테고리의 다른 글
[PL/SQL] TRIGGER (0) | 2020.12.25 |
---|---|
[PL/SQL] PROCEDURE (0) | 2020.12.24 |
[PL/SQL] Anonymous Block (0) | 2020.12.24 |
[PL/SQL] PL/SQL란? (0) | 2020.12.24 |