我们有一个可以出现在许多表中的参考代码,需要更改一些引用。我已经制作了一份需要更新的所有表格和字段的列表:例如
Table1.Reference,
Table2.Ref_Code,
Table3.Reference_Code
并且需要更改所有上述实例中的引用,例如:
000123 to 00123 / 000456 to 00456
我原来的方法是创建一个巨大的列表:
UPDATE Table SET Reference = '00123' WHERE Reference = '000123'
我需要更新的每个字段,然后重复我需要更改的每个引用。但是,由于我需要更改24个引用,因此生成的~4000行查询效率不高。
我还必须处理这样一个事实,即某些表可能为空(返回结果'字符串或二进制数据将被截断')所以我可能需要考虑添加'如果存在。 ..'在那里。
答案 0 :(得分:0)
更好的解决方案是拥有一个映射表。该表应具有如下结构:
表名:ReferenceMap
OldReference | NewReference
000123 | 00123
000465 | 00465
Update Table
Set Reference = map.NewReference
From ReferenceMap map
Where reference = map.OldReference
希望有所帮助