1:alter table tableName drop DF_ZB_ZZB_JFLXDM_740841F9 --删除默认值2:alter table zb_zzb alter column jflxdm varchar(40)
动态:declare @name varchar(20)select @name=b.name from syscolumns a,sysobjects b where a.id=object_id('tablename') and b.id=a.cdefault and a.name='field1' and b.name like 'DF%'exec('alter table tablename drop constraint '+@name) alter table tablename drop column field1
不是,我不是写了个动态删除的吗?declare @name varchar(20)select @name=b.name from syscolumns a,sysobjects b where a.id=object_id('tablename') and b.id=a.cdefault and a.name='field1' and b.name like 'DF%'exec('alter table tablename drop constraint '+@name) alter table tablename drop column field1 你把表名列名改改就行了。
declare @约束名 varchar(100) select @约束名=name from sysobjects where xtype='d' and id = (select cdefault from syscolumns where id=object_id('tablename') and name='jflxdm') select @约束名 利用此方法找出约束名,来修改
他在他那里安装的数据库中,也是同样的名称DF_ZB_ZZB_JFLXDM_740841F9 吗?
前面所讲我已经尝试过了
现在的问题是,
我的脚本要给我们的代理用
他在他那里安装的数据库中,也是同样的名称DF_ZB_ZZB_JFLXDM_740841F9 吗?
请帮忙回答一下
你把表名列名改改就行了。
他在他那里安装的数据库中,也是同样的名称DF_ZB_ZZB_JFLXDM_740841F9 吗?
你代理那得数据库就不一定是DF_ZB_ZZB_JFLXDM_740841F9
你可以在创建表时候加上约束名,你代理电脑得约束名就和你得一样啦,约束名就固定下来啦
例如
create table aaaa(i int,ii varchar(100) constraint df_aaaa default('1'))
2台电脑得约束名都为df_aaaa啦
你要是不加约束名系统会自动加约束名,随机加入的
select @约束名=name from sysobjects
where xtype='d'
and id = (select cdefault from syscolumns where id=object_id('tablename') and name='jflxdm')
select @约束名
利用此方法找出约束名,来修改