[PL/SQL] 사용자정의 함수(Stored Function)

sleeee·2023년 5월 7일
0

SQL

목록 보기
16/19

사용자정의 함수(Stored Function)

  • 사용자가 만든 함수이며 어떤 연산을 수행한 뒤 결과값을 반환한다.
  • 형식)
CREATE OR REPLACE FUNCTION 함수명(파라미터,..)
RETURN 리턴형
IS
	변수선언;
BEGIN
	실행문장;
	..
	RETURN;
END;
/
  • 예1) 입력받은 값으로부터 10%의 세율을 구하는 함수
CREATE OR REPLACE FUNCTION TAX(N NUMBER)
RETURN NUMBER
IS
	VAL NUMBER(10,3);
BEGIN
	VAL := N*0.1;
    RETURN VAL;
END;
/

SELECT TAX(1000) FROM DUAL;

결과)

 TAX(1000)
----------
       100
  • Q1) 파라미터로 정수를 전달받아 그 수만큼 1부터 더해진 값을 리턴하는 함수를 만들고 사용해 보세요.

Q2) 두 수를 파라미터로 전달받아 두 수중 큰값을 리턴하는 함수를 만들고 사용해 보세요.

END;
/

SELECT MYMAX(1,2) FROM DUAL;

Q3) 파라미터로 사원번호를 전달받아 근무하는 부서명을 반환하는 함수를 만들고사용해 보세요.

CREATE OR REPLACE FUNCTION DEPTNAME(NUM EMP.EMPNO%TYPE)
RETURN VARCHAR2
IS
	E_DNAME VARCHAR2(20); --부서명이 저장될 변수
BEGIN
	SELECT D.DNAME INTO E_DNAME
    FROM EMP E,DEPT D
    WHERE E.DEPTNO=D.DEPTNO AND E.EMPNO=NUM;
    RETURN E_DNAME;
END;
/

SELECT DEPTNAME(7369) FROM DUAL;

결과

DEPTNAME(7369)   
---------------
RESEARCH
profile
개인 공부 기록 👩‍💻

0개의 댓글