스키마 테이블 모두 삭제

2024. 5. 30. 16:42DBMS/PLSQL

반응형
BEGIN
  FOR cur_rec IN (SELECT object_name, object_type
                  FROM user_objects
                  WHERE object_type IN ('TABLE', 'VIEW', 'INDEX', 'SEQUENCE', 'SYNONYM')) LOOP
    BEGIN
      IF cur_rec.object_type = 'TABLE' THEN
        EXECUTE IMMEDIATE 'DROP ' || cur_rec.object_type || ' "' || cur_rec.object_name || '" CASCADE CONSTRAINTS';
      ELSE
        EXECUTE IMMEDIATE 'DROP ' || cur_rec.object_type || ' "' || cur_rec.object_name || '"';
      END IF;
    EXCEPTION
      WHEN OTHERS THEN
        DBMS_OUTPUT.put_line('Error dropping ' || cur_rec.object_type || ' "' || cur_rec.object_name || '": ' || SQLERRM);
    END;
  END LOOP;
END;
/
반응형

'DBMS > PLSQL' 카테고리의 다른 글

특정 부서 번호를 입력받아 삭제  (1) 2024.06.03
부서 ID의 최대값 조회 및 새로운 부서 ID 생성  (0) 2024.06.03
bind 변수 사용  (0) 2024.05.24
fetch row 가 2건 이상일 때 오류  (0) 2024.05.24
PL/SQL 기본 구조  (0) 2024.04.18