2017-01-16 5 views
0

依存関係を削除する方法を教えてもらえますか?Msg 5074、レベル16、状態1、行4オブジェクト 'SO_Not_Null'は列 'SO'に依存します

Alter Table NYM_Player_Stats 
    Alter Column SO char(38) 

メッセージ5074、レベル16、状態1、行4
オブジェクトは 'SO_Not_Null' 'SO]列に依存しています。

メッセージレベル4922、レベル16、状態9、行4
1つ以上のオブジェクトがこの列にアクセスしたため、ALTER TABLE ALTER COLUMN SOが失敗しました。

表構造:

Team (PK, nchar(10), not null) 
Year (nchar (10), not null) 
SO (numeric (18,0) 
AB (char (38), not null) 
Runs (char (38) not null) 
Hits (char(38) not null) 
+0

から定義と<STATEMENT>を置き換える、ALTER TABLE NYM_PLAYER_STATS ADD CONSTRAINT SO_NOT_NULL CHECK (<STATEMENT>)を実行することにより、元の制約を再作成し、この外部キー 'SO_Not_Null'か? –

+0

いいえ、外部キーはありません。 –

+0

'SO_Not_Null'とは何ですか? –

答えて

1

はNAME = 'so_not_null'、結果はタイプ1 C Cindicates

タイプであるsys.objectsから選択タイプを実行されたことSO_NOT_NULLはcheck constraintです。列定義を変更するには、最初に制約を削除する必要があります。この制約は、列が変更された後に再作成できます。これを行うには、次の手順を完了するために、

  1. 制約定義を取得するためにSELECT DEFINITION FROM SYS.CHECK_CONSTRAINTS WHERE NAME='so_not_null'を実行します。出力を保存します。
  2. 制約を削除するには、文ALTER TABLE NYM_PLAYER_STATS DROP CONSTRAINT SO_NOT_NULLを実行します。
  3. 元の質問にALTER TABLE文を実行して列定義を更新します。
  4. 所望であれば、ステップ1
+0

これはうまくいきました。 –

関連する問題