读书人

存储过程中字段更新的有关问题

发布时间: 2012-03-14 12:01:12 作者: rapoo

存储过程中字段更新的问题
我有2个表:
表A:
productcode,value100,value105,value110.....value300,content100,content105....content300((名字中数值以5递增)
aaa 200 150 200.... 300
bbb 100 100 100.... 100
ccc 200 200 200.... 200

表B:
productcode,name1from,name1value,name2from,name2value,name3from,name3value
aaa 100 20 null null null null
bbb 100 10 110 9 null null
ccc 100 12 200 11 280 10


name1from~name3from表示表A中字段value后面的数字

根据productcode更新a表字段:

aaa:content100~content300字段 对应 表B中的name1value,为20
bbb: content300~content110字段 对应 表B中的name1value,为10
content115~content300字段 对应 表B中的name2value,为9
ccc: content100~content200字段 对应 表B中的name1value,为12
content205~content280字段 对应 表B中的name2value,为11
content285~content300字段 对应 表B中的name3value,为10

我现在在存储过程中是根据a中的productcode,取出b中所有对应的记录,然后遍历b中结果,更新a表中的字段,可是这样感觉效率比较低,有没有更好的方法呢?谢谢




[解决办法]
就得用case when这个了,一定写得很长,要不就动态写SQL了
[解决办法]
用动态SQL。
[解决办法]
up。
[解决办法]
动态sql好维护,但是效率比 when case更低吧!

读书人网 >SQL Server

热点推荐