2016-09-15 8 views
0

に私はこれらの2つのクエリを一緒に実行しようとしているではない:SQL Server 2012の - 作業クエリが1対1を実行しますが、グループ

ALTER TABLE afm.owned_properties_rpt_table 
ALTER COLUMN bl_id CHAR(8) NOT NULL; 

ALTER TABLE afm.owned_properties_rpt_table 
ADD CONSTRAINT owned_properties_rpt_table_PK PRIMARY KEY (bl_id); 

をしかし、私はこのエラーを取得しています:

Mens. 8111, Nivel 16, Estado 1, Línea 3
Cannot define PRIMARY KEY constraint on nullable column in table 'owned_properties_rpt_table'.

Mens. 1750, Nivel 16, Estado 0, Línea 3
Could not create constraint. See previous errors.

どういうわけか、最初の行が終了する前に2行目が実行されているようです。

begin transaction/commitトランザクション構造を使用してセミコロンを変更しようとしましたが、bl_idでデータをコピーしてから古い列を削除した補助列を作成しました。

SQLスクリプトはクライアントのサーバー上で実行する必要があります(介入することはできません)。そのため、コードを分割する方法はありません。

私は何か初心者が欠けている場合は申し訳ありませんが、私はまた、成功しなかった数時間の間に同じ問題を探しました。

ありがとうございました。

+0

を試してみてください。 'ALTER TABLE afm.owned_properties_rpt_table ALTER COLUMN bl_id CHAR(8)NOT NULL DEFAULT 'ABC'; ' – Hiten004

答えて

0

はPKがbl_id列にデフォルトを追加し,, nullにすることはできません。この

ALTER TABLE afm.owned_properties_rpt_table ALTER COLUMN bl_id CHAR(8) NOT NULL default 'sometest'; 
GO 
ALTER TABLE afm.owned_properties_rpt_table ADD CONSTRAINT owned_properties_rpt_table_PK PRIMARY KEY (bl_id); 
+0

上記のコードはテスト済みですか? 'bl_id'のデフォルト値が必要です! – Hiten004

+0

デフォルトを追加する必要はありませんでした(すでにnullでないbl_idのテーブルのすべての値)。それを使用して完全に働いた質問の間に行く、ありがとう! – fernius

関連する問題