有人可以告诉我如何删除依赖项。
Alter Table NYM_Player_Stats
Alter Column SO char(38)
Msg 5074,Level 16,State 1,Line 4
对象'SO_Not_Null'依赖于列'SO'。Msg 4922,Level 16,State 9,Line 4
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 :(得分:1)
从sys.objects中选择TYPE,其中NAME =' so_not_null'结果是Type 1 C
一种C
indicates,其中SO_NOT_NULL是check constraint。要更改列定义,您需要先删除约束。可以在更改列后重新创建约束。
为此,请完成以下步骤:
SELECT DEFINITION FROM SYS.CHECK_CONSTRAINTS WHERE NAME='so_not_null'
以获取约束定义。保存输出。ALTER TABLE NYM_PLAYER_STATS DROP CONSTRAINT SO_NOT_NULL
。ALTER TABLE
语句以更新列定义。ALTER TABLE NYM_PLAYER_STATS ADD CONSTRAINT SO_NOT_NULL CHECK (<STATEMENT>)
重新创建原始约束,并使用步骤1中的定义替换<STATEMENT>
。