2021년 10월 16일 토요일

오라클 PLSQL 강좌, 일회성 프로시저(ONE TIME ONLY PROCEDURE)

 오라클 PLSQL 강좌, 일회성 프로시저(ONE TIME ONLY PROCEDURE) 

 

일회성 프로시저(ONE TIME ONLY PROCEDURE) 


실습을 통해 일회성 프로시저가 패키지 호출시 최초 짝 한번 호출된다는 것을 확인해 보겠습니다.


P_ONE_TIME_TEST  패키지 명세를 작성 하세요.


-- P_ONE_TIME_TEST 패키지는 PROC1 프로시저와 FUNC1 함수로 구성됩니다.

CREATE OR REPLACE PACKAGE P_ONE_TIME_TEST

AS

   PROCEDURE PROC1;

   FUNCTION  FUNC1 RETURN NUMBER;

END P_ONE_TIME_TEST;


<실행결과>

Package P_ONE_TIME_TEST이(가) 컴파일되었습니다.


P_ONE_TIME_TEST 패키지 바디를 작성 하세요.


CREATE OR REPLACE PACKAGE BODY P_ONE_TIME_TEST

IS

   -- 저장 함수를 작성 합니다.

   FUNCTION FUNC1 RETURN NUMBER

   AS

   BEGIN 

      -- 999를 리턴 합니다.

      RETURN 999;

   END FUNC1;


   -- 저장 프로시저를 작성 합니다.

   PROCEDURE PROC1

   IS

      V_NUM   NUMBER;

   BEGIN

      -- FUNC1 함수를 호출하고 리턴하는 999를 V_NUM 변수에 담습니다.

      SELECT FUNC1 INTO V_NUM FROM DUAL;

      

      DBMS_OUTPUT.PUT_LINE ('in proc1, v_num : ' || V_NUM);

   END PROC1;

   --one time only procedure 정의

   BEGIN ❶

      DBMS_OUTPUT.PUT_LINE ('one time only procedure called...');


END P_ONE_TIME_TEST;


<실행결과>

Package Body P_ONE_TIME_TEST이(가) 컴파일되었습니다.


작성한 P_ONE_TIME_TEST 패키지의 PROC1 프로시저를 호출하세요.


SET SERVEROUTPUT ON;

EXEC P_ONE_TIME_TEST.PROC1;


<실행결과>

one time only procedure called...

in proc1, v_num : 999


❶최초 호출이므로 ome time only procedure가 호출 되는 것을 확인할 수 있습니다.


다시한번  P_ONE_TIME_TEST 패키지의 PROC1 프로시저를 호출하세요.


EXEC P_ONE_TIME_TEST.PROC1;


<실행결과>

in proc1, v_num : 999


반복되는 호출이므로 ome time only procedure가 호출 되지 않습니다.

 

 

댓글 없음:

댓글 쓰기

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...