programing

모든 테이블 삭제 sql 개발자

mailnote 2023. 7. 20. 22:05
반응형

모든 테이블 삭제 sql 개발자

이름이 "TBL_*"로 시작하는 테이블이 있지만 한 번의 명령으로 모든 테이블을 삭제할 수는 없습니다.

이 테이블을 어떻게 떨어뜨릴 수 있습니까?

user_tables에서 Table_name을 선택하고 이 루프를 반복하는 스크립트, 특히 루프를 작성하고 "execute immediate" 명령을 사용하여 해당 루프를 삭제할 수 있습니다.

하지만 저는 이것을 제안하고 싶습니다 - in sql tool do.

  select 'drop table ' || table_name || ';' from user_tables where table_name like 'TBL_%'

그런 다음 이 쿼리의 출력을 복사하여 SQL 편집기에 붙여넣고 실행합니다.sql+가 편집기인 경우 모든 편집기를 붙여넣으면 실행이 시작됩니다.메모장을 사용하여 먼저 검토하고 편집할 수 있습니다.

그러나 하나의 명령으로 둘 이상의 테이블을 삭제할 수는 없습니다.드롭 테이블 http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_9003.htm 과 관련된 다른 옵션은 이 링크에서 확인하십시오.

BEGIN

  --Bye Tables!
  FOR i IN (SELECT ut.table_name
              FROM USER_TABLES ut) LOOP
    EXECUTE IMMEDIATE 'drop table '|| i.table_name ||' CASCADE CONSTRAINTS ';
  END LOOP;

END;

언급URL : https://stackoverflow.com/questions/18030140/drop-all-tables-sql-developer

반응형