首页 > 代码库 > CRM2011 更改字段类型,又不删除原有数据

CRM2011 更改字段类型,又不删除原有数据

场景:导入解决方案时,如果一个实体的字段属性类型,发生了变化,则解决方案导入失败;

解决办法:

方案一:直接更改数据库的数据类型

select * from new_MSCRM.MetadataSchema.AttributeTypes

select * from new_MSCRM.MetadataSchema.Entity where Name=‘EntityName‘

select * from new_MSCRM.MetadataSchema.Attribute where EntityId=‘EntityId‘ and Name=‘attributeName‘

update new_MSCRM.MetadataSchema.Attribute set AttributeTypeId=‘属性类别Id‘ where EntityId=‘EntityId‘ and Name=‘AttributeName‘

注:有的CRM环境修改过后,不好用,则可以用方案二

方案二:

1、创建一个冗余字段,用来暂时存放数据;

2、给冗余字段赋值

update a
set a.new_s =b.new_evaluate
from default_MSCRM..new_evaluatetaskExtensionBase a
inner join default_MSCRM..new_evaluatetaskExtensionBase b
on a.new_evaluatetaskId=b.new_evaluatetaskId

3、删除要替换的字段,新建一个英文名称完全一样的字段,按照第2步的sql语句,把值更新回去;