Sql Server 默认值

时间:2021-10-05 16:45:34
--1、取得数据库所有表的默认值:
select t3.name as 表名,t1.name as 字段名,t2.text as 默认值 ,t4.name
from syscolumns t1,syscomments t2,sysobjects t3 ,sysobjects t4
where t1.cdefault=t2.id and t3.xtype='u' and t3.id=t1.id
and t4.xtype='d' and t4.id=t2.id; --取得数据库中已有默认值的脚本
select 'ALTER TABLE [' + t3.name + '] ADD DEFAULT ' + t2.text + ' FOR [' + t1.name + '];'
from syscolumns t1,syscomments t2,sysobjects t3 ,sysobjects t4
where t1.cdefault=t2.id and t3.xtype='u' and t3.id=t1.id
and t4.xtype='d' and t4.id=t2.id ORDER BY t3.name, t1.name; --alter table MES_MOAppoint_ProdProcSteps add default (1) for ContainerChangeOut; --2、生成删除所有默认值的语句:
select 'ALTER TABLE [' + t3.name + '] DROP CONSTRAINT ' +t4.name +';'
from syscolumns t1,syscomments t2,sysobjects t3 ,sysobjects t4
where t1.cdefault=t2.id and t3.xtype='u' and t3.id=t1.id
and t4.xtype='d' and t4.id=t2.id ORDER BY t3.name, t1.name; --3、生成批量添加所有默认值的语句:
select 'alter table ' + t3.name + ' add default (1) for ' +t1.name +';'
from syscolumns t1,syscomments t2,sysobjects t3 ,sysobjects t4
where t1.cdefault=t2.id and t3.xtype='u' and t3.id=t1.id
and t4.xtype='d' and t4.id=t2.id ;