DB/Oracle
[ORACLE] FUNCTION
Plone
2020. 9. 29. 16:13
오라클에서는 메서드(함수)와 비슷한 기능을 가진것이 2가지 존재하는데
PROCEDURE와 FUNCTION입니다
PROCEDURE : 반환값이 없음
FUNCTION : 반환값이 있음
함수 생성 방법
//함수 생성
CREATE OR REPLACE FUNCTION FREEBOARD_FUNC(xBOARDNUM IN NUMBER)//매개변수
RETURN VARCHAR2//반환할 타입
IS//선언부
xBOARDID VARCHAR2(30) := '';
BEGIN//수행부
//BOARD테이블에서 BOARDID가 FREEBOARD인 행의 갯수를 반환
SELECT BOARDID //반환 할 값
INTO xBOARDID //반환 값을 넣을 변수
FROM BOARD //테이블
WHERE BOARDNUM = xBOARDNUM; //조건
EXCEPTION//예외처리
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('예외발생');//화면에 출력, print문과 같은 개념
RETURN xBOARDID;//반환
END;//종료
위에서 작성한 함수 사용 방법
SELECT * FROM BOARD
WHERE BOARDID = FREEBOARD_FUNC(10)//boardNum이 10번인 보드의 boardId을 찾는 함수
함수 삭제
DROP FUNCTION 함수명
DROP FUNCTION FREEBOARD_FUNC