我的“项目”表中有一个“StoreNumber”列,我想将其更改为“NOT NULL”。我最近清理了所有旧数据,以便不存在空条目。但是,当我执行以下语句时,由于对各种视图、索引和统计信息的多重依赖,它失败了
ALTER TABLE [Project]
ALTER COLUMN StoreNumber VARCHAR(9) NOT NULL
GO
删除所有这些视图/索引/统计信息然后运行 alter 语句,然后再次重新创建所有视图/索引/统计信息的最快方法是什么?我知道我可以一一复制所有 drop 和 create 语句,但我更愿意在单个查询中生成脚本。
附带说明一下,为什么 SQL Server 会关心我是否使该列更具限制性?数据不包含空值,并且我不会更改数据类型或列的大小。这种类型的更改将如何破坏依赖视图、索引或统计信息?我确信我没有看到合理的推理,但我想要一个例子。
只是想;如果先设置默认值会起作用吗? (我自己没有检查语法)
ALTER TABLE Project
ADD CONSTRAINT col_sn_def
DEFAULT '' FOR StoreNumber;
GO
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)