로컬이나 개발계에서 테스트를 하거나 초기개발구축 단계라면 나처럼 모든 테이블을 삭제하거나, 모든 데이터를 날릴 일이 생길 수 있다. 그런사람들은 아래를 참고하자.
ex1) SELECT 'DROP TABLE ' + SCHEMA_NAME(schema_id)+'.'+name AS TableToDrop FROM sys.objects WHERE type='U'
전체 테이블을 drop 하고자 한다면 ex1 처럼 sql문을 실행시켜 나온 결과목록을 복사해서 실행시키면 된다.
의도에 따라 alter, delete 등으로 활용할 수 있을 것 같다.
그외 삭제 쿼리 추출용 sql문은 아래와 같다.
--Table
SELECT 'DROP TABLE ' + SCHEMA_NAME(schema_id)+'.'+name AS TableToDrop FROM sys.objects WHERE type='U'
--VIEW
SELECT 'DROP VIEW ' + SCHEMA_NAME(schema_id)+'.'+name AS ViewToDrop FROM sys.objects WHERE type='V'
--PROCEDURE
SELECT 'DROP PROCEDURE ' + SCHEMA_NAME(schema_id)+'.'+name AS procedureToDrop FROM sys.objects WHERE type='P'
--FUNCTION
SELECT 'DROP FUNCTION ' + SCHEMA_NAME(schema_id)+'.'+name AS functionToDrop FROM sys.objects WHERE type='FN'
================================================================================
// 190402 추가
--모든 시퀀스 조회
SELECT sch.name + '.' + seq.name AS [Sequence schema and name]
FROM sys.sequences AS seq
JOIN sys.schemas AS sch
ON seq.schema_id = sch.schema_id ;
--모든 시퀀스 삭제
SELECT 'DROP SEQUENCE ' + sch.name + '.' + seq.name AS [Sequence schema and name]
FROM sys.sequences AS seq
JOIN sys.schemas AS sch
ON seq.schema_id = sch.schema_id ;
'IT > DB' 카테고리의 다른 글
[mssql] TOP, OFFSET 또는 FOR XML을 함께 지정하지 않으면 뷰, 인라인 함수, 파생 테이블, 하위 쿼리 및 공통 테이블 식에서 ORDER BY 절을 사용할 수 없습니다. (0) | 2019.04.01 |
---|---|
mssql 나누기 소수점이 안나올때 (정수로만 보여질때) (2) | 2019.04.01 |
[MSSQL] Microsoft SQL Server 2012 서버에 연결 중 오류 (0) | 2018.07.02 |
[MSSQL] 데이터 가져오기 시 엑셀 데이터 잘림 현상 (0) | 2018.07.02 |
[oracle/toad] ORA-01017 Invalid username/password;logon denied (0) | 2018.07.02 |