1. IN 변수만 있는 프로시저
CREATE OR REPLACE PROCEDURE [프로시저명]
(
[파라미터 명] IN VARCHAR2,
[파라미터 명] IN VARCHAR2
)
IS
[변수명] VARCHAR(100);
[변수명] VARCHAR(100);
CURSOR [커서명] IS
SELECT [컬럼명],[컬렴명],[컬럼명] FROM [테이블 명];
BEGIN
OPEN [커서명];
LOOP FETCH [커서명]
INTO [변수 명], [변수 명], [변수 명];
EXIT WHEN [커서명]%NOTFOUND;
END LOOP;
CLOSE [커서명];
DBMS_OUTPUT.PUT_LINE('결과값 ::: ' );
END;
위는 일반적인(IN 변수 만 있는) 프로시저 작성 예시이다.
위와 같이 프로시저에 IN 변수만 있는 경우 프로시저를 호출 할 때
EXECUTE [프로시저명](변수,변수);
이렇게 사용 할 수 있다.
-----------------------------------------------------------------------------------------------------------------------------------
2. IN 변수가 없는 프로시저
CREATE OR REPLACE PROCEDURE [프로시저명]
IS
[변수명] VARCHAR(100);
[변수명] VARCHAR(100);
CURSOR [커서명] IS
SELECT [컬럼명],[컬렴명],[컬럼명] FROM [테이블 명];
BEGIN
OPEN [커서명];
LOOP FETCH [커서명]
INTO [변수 명], [변수 명], [변수 명];
EXIT WHEN [커서명]%NOTFOUND;
END LOOP;
CLOSE [커서명];
DBMS_OUTPUT.PUT_LINE('결과값 ::: ' );
END;
만약 프로시저가 변수를 받지 않는다면
EXECUTE [프로시저명]();
위와 같이 호출 할 수 있다.
-----------------------------------------------------------------------------------------------------------------------------------
3. OUT 변수가 있는 프로시저
CREATE OR REPLACE PROCEDURE [프로시저명]
(
[파라미터 명] IN VARCHAR2,
[파라미터 명] OUT VARCHAR2
)
IS
[변수명] VARCHAR(100);
[변수명] VARCHAR(100);
CURSOR [커서명] IS
SELECT [컬럼명],[컬렴명],[컬럼명] FROM [테이블 명];
BEGIN
OPEN [커서명];
LOOP FETCH [커서명]
INTO [변수 명], [변수 명], [변수 명];
EXIT WHEN [커서명]%NOTFOUND;
END LOOP;
CLOSE [커서명];
DBMS_OUTPUT.PUT_LINE('결과값 ::: ' );
END;
OUT변수가 있는 프로시저의 경우
DECLARE
OUT_VAR VARCHAR(100);
BEGIN
[프로시저명]('1'OUT_VAR);
COMMIT;
END;
위와 같이 DECLARE에 OUT변수를 선언 후 프로시저에 OUT변수를 넣어 실행시켜야 한다.
-----------------------------------------------------------------------------------------------------------------------------------
4. 프로시저에서 로그 찍기
DBMS_OUTPUT.PUT_LINE('로그찍기' || OUT_VAR);
위와 같이 로그를 찍어 확인 할 수 있다.
'DB (데이터베이스) > Tibero (티베로)' 카테고리의 다른 글
[TIBERO] FLASHBACK 복구 (0) | 2022.02.24 |
---|---|
[TIBERO] TIBERO 접속 session 확인 (0) | 2021.06.02 |
[TIBERO] 티베로(Tibero) 인스턴스(instance) 추가하기 (멀티인스턴스) (리눅스) (0) | 2021.04.20 |
[TIBERO] JDBC-5072:Failure converting NUMBER to or from a native type.라는 티베로 오류가 발생할 때 (0) | 2021.04.05 |
[TIBERO] tbexport, tbimport사용방법 (0) | 2021.04.05 |