1. SQLPLUS에서 호출
SQL> VARIABLE RTN VARCHAR2(1000);
SQL> EXECUTE :RTN := TEST.MAIN('TEST');
PL/SQL procedure successfully completed.
SQL> PRINT RTN;
RTN
--------------------
20120307102713 TEST
SQL> VARIABLE RTN_CURSOR REFCURSOR;
SQL> EXECUTE PK_CODE.SEL_CODE('P013', 'AUTH', :RTN_CURSOR);
PL/SQL procedure successfully completed.
SQL> PRINT RTN_CURSOR;
RTN_CURSOR
-------------------------------------------------------------------------------------------
CODE NAME
---------------------------------------- --------------------------------------------------
ADMIN_Level2 MES Semi 관리자
ADMIN_Level1 MES 관리자
BST 경영시스팀 사용자
NORMAL 일반사용자
2. SQL DEVELOPER에서 호출 (블록지정후 F5)
VARIABLE RTN VARCHAR2(1000);
EXECUTE :RTN := TEST.MAIN('TEST');
PRINT RTN;
VARIABLE RTN_CURSOR REFCURSOR;
EXECUTE PK_CODE.SEL_CODE('P013', 'AUTH', :RTN_CURSOR);
PRINT RTN_CURSOR;
3. 프로시저 호출(예외발생 처리)
CREATE OR REPLACE
PROCEDURE SP_TEST ( P_A IN NUMBER
, P_B IN NUMBER
, P_RTN OUT NUMBER)
AS
V_RESULT NUMBER;
BEGIN
V_RESULT := P_A / P_B;
P_RTN := V_RESULT;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('예외발생 : ' || SQLERRM);
RAISE_APPLICATION_ERROR (-20100,'예외발생 : ' || SQLERRM);
END;
VARIABLE RTN NUMBER;
EXECUTE SP_TEST(2, 0, :RTN);
PRINT RTN;
명령의 21 행에서 시작하는 중 오류 발생:
EXECUTE sp_test(2, 0, :RTN)
오류 보고:
ORA-20100: 예외발생 : ORA-01476: 제수가 0 입니다
ORA-06512: "ESS.SP_TEST", 줄 15에서
ORA-06512: 줄 1에서
RTN
------
4. SQL DEVELOPER에서 익명 블록 실행하기 (블록지정후 F5)
DECLARE
C VARCHAR2(3 CHAR);
BEGIN
C := 'ABC';
SYS.DBMS_OUTPUT.PUT_LINE(C);
END;
------------------------------
ABC