0

以下に構造を示す2つのテーブルmasterTblとdetailTblがあります...

--PRIMARY TABLE
CREATE TABLE masterTbl (
id INT IDENTITY(1,1) CONSTRAINT pk_id PRIMARY KEY, 
name VARCHAR(100) NOT NULL, 
description VARCHAR(max))

--FORIGN TABLE
CREATE TABLE detailTbl (
id INT IDENTITY(1,1) PRIMARY KEY,
m_id INT NOT NULL CONSTRAINT fk_mid FOREIGN KEY REFERENCES masterTbl(id) ON DELETE CASCADE,
details VARCHAR(MAX))

出演したい

TRUNCATE TABLE masterTbl 

しかし、「FOREIGN KEY制約によって参照されているため、テーブル 'testDB.dbo.masterTbl'を切り捨てることができません」というエラーが発生しています。

masterTblでTRUNCATEコマンドを使用するにはどうすればよいですか??

4

1 に答える 1

3

FK 制約を削除する必要がありますfk_mid。ただし、FK Constraint が尊重されない場合は、元に戻すことができません。これは、発生しCASCADE REMOVEないためです (孤立のリスク)。

またはDELETEの代わりに使用しTRUNCATEます。これは動作を維持しDELETE CASCADEます。

編集

DELETE FROM dbo.masterTbl;
DBCC CHECKIDENT ('dbo.masterTbl', RESEED, 0) -- will set IDENTITY count back to 0
于 2012-06-27T08:31:14.350 に答える