SQLserver에서 데이터베이스의 모든 테이블 삭제

4843 단어
데이터베이스에 있는 모든 데이터 테이블을 편리하게 삭제하고 데이터베이스를 비웁니다. 제약이 있어서 직접 delete할 수 없습니다. 먼저 라이브러리에 있는 제약을 삭제해야 합니다. 코드는 다음과 같습니다.
--      
DECLARE c1 cursor for
select'alter table ['+ object_name(parent_obj)+'] drop constraint ['+name+']; '
from sysobjects
where xtype ='F'
open c1
declare @c1 varchar(8000)
fetch nextfrom c1 into@c1
while(@@fetch_status=0)
begin
exec(@c1)
fetch nextfrom c1 into@c1
end
close c1
deallocate c1
--
declare @tname varchar(8000)
set@tname=''
select@tname=@tname+Name+','from sysobjects where xtype='U'
select@tname='drop table '+ left(@tname,len(@tname)-1)
exec(@tname)

 
그리고 데이터베이스에 있는 모든 테이블을 비웁니다: 저장 프로세스를 삭제하려면 위에서 아래와 같이 수정하면 됩니다.where xtype='U'는where xtype='P',drop table는drop Procedure로 변경하십시오
sysobjects의 xype은 다음과 같은 의미를 나타냅니다.
데이터베이스에 만들어진 모든 대상(제약, 기본값, 로그, 규칙, 저장 프로세스 등)은 표에서 한 줄을 차지한다.tempdb에서만 임시 대상이 이 테이블에서 한 줄을 차지합니다.열 이름 데이터 형식 설명name sysname 객체 이름입니다.Id int 객체 식별 번호xtypechar(2) 객체 유형입니다.C = CHECK 구속조건 D = 기본값 또는 DEFAULT 구속조건 F = FOREIGN KEY 구속조건 L = 로그 FN = 스칼라 함수 IF = 인라인 테이블 함수 P = 저장 프로세스 PK = PRIMARY KEY 구속조건 (유형 K) RF = 복제 필터링 저장 프로세스 S = 시스템 테이블 TF = 서신수 TR = 트리거 U = 사용자 테이블 UQ = UNIQUE 구속조건 (유형 K)V = 뷰 X = 확장 스토리지 프로세스 uid smallint 소유자 객체의 사용자 ID입니다.info smallint 예약내부 전용입니다.status int 예약.내부 전용입니다.base_schema_ ver int 보존.내부 전용입니다.replinfo int 예약.복제용으로 사용할 수 있습니다.parent_obj int 부모 객체의 객체 식별 번호(예: 트리거 또는 구속조건의 경우 테이블 ID)입니다.crdate datetime 객체가 작성된 날짜입니다.ftcatid smallint는 전체 텍스트 인덱스에 등록된 모든 사용자 테이블의 전체 텍스트 디렉터리 식별자입니다. 등록되지 않은 모든 사용자 테이블은 0입니다.schema_ver int 버전 번호, 이 버전 번호는 테이블의 구조가 바뀔 때마다 증가합니다.stats_schema_ ver int 보존.내부 전용입니다.type char(2) 객체 유형입니다.C = CHECK 제약 D = 기본값 또는 DEFAULT 제약 F = FOREIGN KEY 제약 FN = 스칼라 함수 IF = 인라인 테이블 함수 K = PRIMARY KEY 또는 UNIQUE 제약 L = 로그 P = 저장 프로세스 R = 규칙 RF = 복제 필터 저장 프로세스 S = 시스템 테이블 TF = 테이블 함수 TR = 트리거 U = 사용자 테이블 V = 보기 X = 확장 저장 프로세스 userstat smallint 보존.sysstat smallint 내부 상태 정보입니다.indexdel smallint 예약refdate datetime는 나중에 사용하도록 남겨 둡니다.version int는 나중에 사용하도록 남겨 둡니다.deltrig int 예약instrig int 예약updtrig int 예약.seltrig int 예약category int는 게시, 구속 및 식별에 사용됩니다.cache smallint 예약   
옮겨 싣다http://blog.163.com/ny_lonely/blog/static/188924273201192781427313/

좋은 웹페이지 즐겨찾기