>  기사  >  데이터 베이스  >  오라클에서 모든 테이블을 삭제하는 방법

오라클에서 모든 테이블을 삭제하는 방법

hzc
hzc원래의
2020-06-09 11:05:195585검색

오라클에서 모든 테이블을 삭제하는 방법

Oracle이 모든 테이블을 삭제하는 방법은

1. 모든 외래 키 제약 조건을 비활성화합니다.

pl/sql Developer에서 다음 명령문을 실행합니다.

SELECT 'ALTER TABLE ' || table_name || ' disable CONSTRAINT ' || constraint_name || ';' FROM user_constraints
 where CONSTRAINT_TYPE = 'R';

쿼리 결과를 pl /sql Developer is에 복사합니다. 실행.
pl/sql 개발자가 없는 경우 sqlplus에서 조작할 수 있습니다. 방법은 다음과 같습니다.
1. sqlplus를 열고 해당 사용자와 연결합니다.
2. 페이지 크기를 20000으로 설정하는 등 페이지 크기를 더 크게 설정합니다. 3. 스풀을 사용하여

SQL> spool /home/oracle/constraint.sql
SQL> SELECT 'ALTER TABLE ' || table_name || ' disable CONSTRAINT ' || constraint_name || ';' FROM user_constraints 
where CONSTRAINT_TYPE = 'R';
SQL> spool off

4와 같이 해당 결과를 파일로 가져옵니다. 그러나 첫 번째 및 If 마지막에 중복된 문장이 있으니 텍스트 편집기로 열고 쓸모없는 문장을 삭제하세요

5. 해당 사용자로 다시 sqlplus에 로그인하고 다음 명령을 실행하세요

SQL> @/home/oracle/constraint.sql

2. 테이블 내용

SELECT 'DELETE FROM '|| table_name || ';' FROM USER_TABLES
ORDER BY TABLE_NAME;

또는


SELECT 'TRUNCATE TABLE '|| table_name || ';' FROM USER_TABLES
ORDER BY TABLE_NAME;

은 첫 번째 단계와 비슷한 방식으로 작동합니다. 한 가지 주의할 점은 테이블의 데이터가 트리거와 연관되어 있는 경우 truncate 문만 사용할 수 있다는 점입니다. 그러나 truncate 문은 롤백할 수 없으므로 주의해야 합니다


3. 금지된 외래 키

SELECT 'ALTER TABLE ' || table_name || ' enable CONSTRAINT ' || constraint_name || ';' FROM user_constraints 
where CONSTRAINT_TYPE = 'R';

추천 튜토리얼: "

Oracle Tutorial"

위 내용은 오라클에서 모든 테이블을 삭제하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.