17

私は次の鍵を持っています:

ALTER TABLE dbo.Table ADD  CONSTRAINT PK_ID PRIMARY KEY CLUSTERED 
(
ID ASC
)

だから私はID列にクラスター化インデックスと主キーを持っています。次に、クラスター化インデックスを削除する必要があります(別の列に新しいクラスター化インデックスを作成したい)が、主キーは保持します。出来ますか?

4

2 に答える 2

20

1つのステートメントでは不可能ですが、DDLはMSSQLではトランザクションであるため、トランザクション内ですべてを実行するだけで、主キーがないときに他のセッションがテーブルにアクセスするのを防ぐことができます。

begin tran
alter table dbo.[Table] drop constraint pk_id
alter table dbo.[Table] add constraint pk_id primary key nonclustered (id)
commit tran
于 2010-07-28T10:04:46.247 に答える
3

インデックスは制約の物理的な実装であるため、これは不可能です。

于 2010-07-28T07:26:10.650 に答える