달력

112024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30


-- STEP 1 테스트 테이블 생성
CREATE TABLE TEST_A (
TEST_CN VARCHAR2(100)
);
-- STEP 2 테스트 데이터 생성
INSERT INTO TEST_A ( TEST_CN ) VALUES ('AAA');
-- STEP 3 테이블 및 데이터 생성 확인
SELECT * FROM  TEST_A;
-- STEP 4 프로시저 생성 
CREATE OR REPLACE PROCEDURE TEST_AA (
IN_TABEL_NM IN VARCHAR2
)
IS
  V_STR VARCHAR2(500);
  V_RESULT  VARCHAR2(500);
BEGIN 

FOR  REC  IN  (
  SELECT OBJECT_NAME
   FROM   SYS.ALL_OBJECTS
   WHERE  OBJECT_TYPE = 'TABLE'
     AND  OBJECT_NAME = IN_TABEL_NM
   )LOOP
    
    V_STR := 'SELECT TEST_CN FROM '|| REC.OBJECT_NAME ;
EXECUTE IMMEDIATE V_STR INTO V_RESULT;

DBMS_OUTPUT.PUT_LINE('TABLE 명 : ' || REC.OBJECT_NAME || ', ' || V_RESULT );
    
    V_STR := 'DELETE FROM ' || REC.OBJECT_NAME;
    EXECUTE IMMEDIATE V_STR;


END LOOP;
END;


-- STEP 5 프로시저 실행.
   EXEC TEST_AA('TEST_A');

 

-- STEP 6 테스트 데이터 삭제 확인.
   SELECT * FROM  TEST_A;

 

-- STEP 7 테스트 테이블 삭제    
   DROP TABLE TEST_A;

Posted by 한설림
|