日期:2014-05-18  浏览次数:21011 次

SQL Server 修改某个表的全部字段允许为NUll
1.用 SELECT * INTO TempTable FROM Table1 创建表时,新生成的表字段都是不允许为 NULL的,有什么办法可以让生成的字段都允许为NULL.
2.或者有什么办法可以修改一个表的所有字段允许为NULL值,前提是不知道这个表中所有字段的字段类型

------解决方案--------------------
表面上很简单的问题


如果要实际可行的通用脚本, 则必须考虑不少因素
1. 如果本来就允许 NULL, 则不需要设置
2. 如果列上有依赖的索引/默认值等, 则要删除, 改列后再重建(如果有外键约束则更麻烦)
3. 要准确地写出原来的列类型定义(类型名称/长度/精度/小数位)
4. 不能修改标识列

第2点最复杂, 第3点还稍好