[표현법]
CREATE PROCEDURE 프로시저명
(
매개변수1 [IN/OUT] 데이터타입 [:=DEFAULT 값],
매개변수2 [IN/OUT] 데이터타입 [:=DEFAULT 값],
...
)
IS [AS]
선언부
BEGIN
실행부
EXCEPTION
예외처리부
END [프로시저명];
/
[실행방법]
EXECUTE(EXEC) 프로시저명[(매개값1, 매개값2, ...)];
1) 매개변수가 있는 프로시저
프로시저 실행 시 매개변수로 인자값을 전달해야 한다.
2) IN/OUT 매개변수가 있는 프로시저
IN 매개변수 : 프로시저 내부에서 사용될 변수
OUT 매개변수 : 프로시저 호출부(외부)에서 사용될 값을 담아줄 변수
[표현법]
CREATE [OR REPLACE] 함수명
(
매개변수1 타입,
매개변수2 타입,
...
)
RETURN 데이터타입
IS
선언부
BEGIN
실행부
RETURN 반환값; -- 프로시저랑 다르게 RETURN 구문이 추가된다.
EXCEPTION
예외처리부
END [함수명];
/
[커서 속성]
커서명%NOTFOUND : 커서 영역에 남아있는 ROW 수가 없다면 TRUE, 아니면 FALSE
커서명%FOUND : 커서 영역에 남아있는 ROW 수가 한 개 이상일 경우 TRUE, 아니면 FALSE
커서명%ISOPEN : 커서가 OPEN 상태인 경우 TRUE, 아니면 FALSE
커서명%ROWCOUNT : SQL 처리 결과로 얻어온 행(ROW)의 수
[사용 방법]
1) CURSOR 커서명 IS .. : 커서 선언
2) OPEN 커서명; : 커서 오픈
3) FETCH 커서명 INTO 변수, ... : 커서에서 데이터 추출(한 행씩 데이터를 가져온다.)
4) CLOSE 커서명 : 커서 닫기
[표현법]
CURSOR 커서명 IS [SELECT 문]
OPEN 커서명;
FETCH 커서명 INTO 변수;
...
CLOSE 커서명;