2016-06-07 2 views
0

Microsoft SQL Server Management Studio를 사용하고 있습니다. 테이블이 지워지고 새로운 삽입으로 업데이트되도록 내가이 전에 뭔가를 추가 할 수 있습니다 경우이삽입하기 전에 표 지우기

SET IDENTITY_INSERT [dbo].[Cars] ON 
..... 
Many insert statements 
..... 
SET IDENTITY_INSERT [dbo].[Cars] OFF 

질문처럼

나는, 스크립트 파일이?

+1

'TRUNCATE TABLE '? 이렇게하면 _all_ 레코드가 테이블에서 삭제됩니다. –

+0

와우는 쉽고 빠릅니다. 감사합니다. –

답변

4

당신은 TRUNCATE TABLE를 사용할 수 있습니다

TRUNCATE TABLE [dbo].[Cars] 
SET IDENTITY_INSERT [dbo].[Cars] ON 
..... 
Many insert statements 
..... 
SET IDENTITY_INSERT [dbo].[Cars] OFF 

이 빠른 테이블에서 모든 기록을 제거하고 DELETE을 적은 시스템 자원을 사용.

+0

거래 내에서 처리 할 수 ​​없습니다. * (OP에 중요 할 수도 있고 그렇지 않을 수도 있음) * – MatBailie

3

당신은 사용할 수 있습니다

TRUNCATE TABLE [dbo].[Cars] 

지정된 테이블의 모든 레코드를 삭제할 것이다.

TRUNCATE TABLEIDENTITY 열의 카운터를 CREATE TABLE 문에서 초기 값으로 재설정합니다. 그렇게하고 싶지 않다면 다음을 사용할 수 있습니다 :

DELETE FROM [dbo].[Cars] 
+0

거래 내에서 처리 할 수 ​​없습니다. * 문제가 될 수도 있고 중요하지 않을 수도 있습니다. OP) * – MatBailie

+0

@MatBailie [실제로는 올바르지 않습니다] (http://blog.sqlauthority.com/2010/03/04/sql-server-rollback-truncate-command-in-transaction/). 기록 삭제로 기록되지 않습니다. 페이지 할당 해제로 기록됩니다. 그러나 롤백 할 수 있기 때문에 * 기록됩니다. –

관련 문제