如何批量修改表字段 把允许为空修改为 不允许为空 40bean_sql]

发布时间:2014-1-1 0:09:47
来源:分享查询网

有6张表, 每张表都有超过50个字段, 请教如何批量把他们设置为 不允许为空。

关联系统表,游标遍历。 不过对此种设计表示不敢恭维

查系统表 拼alter table...   alter column 语句 其他也没什么快捷的

在vs 中将几张表的定义打开,去掉“允许空”即可。比写语句快得多!

以前的列里存在NULL的话 就更加烦了 先把之前的NULL update掉 楼主要淡定 慢慢搞

引用 4 楼 happy_stone 的回复:以前的列里存在NULL的话 就更加烦了 先把之前的NULL update掉 楼主要淡定 慢慢搞

1.查询系统视图,sys.tables,sys.columns,sys.types得到表名,字段名,数据类型。 2.把1中的数据插入临时表,用游标遍历 3.在游标中拼动sql(alter table @tb_name alter @col_name @data_type not null)并执行

系统表遍历,最好加个默认值,否则无法修改

同上,大概如下 select 'alter table t alter column ' +name+' varchar(20) not null' ,* from syscolumns where OBJECT_ID('t')=id and isnullable=1

淡定哟

本帖最后由 roy_88 于 2011-11-21 18:42:55 编辑

这种操作不可取,用自动的方式更不好. 因为,你不知道现有的那么多值得用程序来批量更改的表中,有没有一个行中的一个列值它就是NULL,如果有,那你的程序肯定会出错. 建议还是在表设计器中一个个改.

返回顶部
查看电脑版