【发布时间】:2016-05-11 08:18:50
【问题描述】:
是否可以更改decimal 列的精度而不删除和重新创建它的依赖关系?
我尝试了以下方法:
EXEC sp_MSforeachtable @command1="ALTER TABLE ? NOCHECK CONSTRAINT ALL"
ALTER TABLE dbo.MyTable
ALTER COLUMN MyColumn DECIMAL(10, 3) NULL
EXEC sp_MSforeachtable @command1="ALTER TABLE ? CHECK CONSTRAINT ALL"
当我执行此查询时,我收到错误消息:
消息 5074,第 16 级,状态 1,第 8 行
对象“MyView”依赖于列“MyColumn”。消息 5074,第 16 级,状态 1,第 8 行
索引“MyIndex”依赖于列“MyColumn”。消息 4922,第 16 级,状态 9,第 8 行
ALTER TABLE ALTER COLUMN MyColumn 失败,因为一个或多个对象访问此列。
是否可以在不删除和重新创建依赖项的情况下更改它?
提前致谢
【问题讨论】:
-
不,不可能这样做。
标签: sql-server sql-server-2008 tsql