各位大虾,你们好:
我现在有个问题,我将excel的数据通过ODBC中的"Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\tmp.xls"读入到数据缓存DataTable中,我现在想根据SQL中的一条批量更新的语句将缓存中的表tmp 的一个字段更新到数据库相应的列.
例如:缓存表tmp
colmnA colmnB
001 AB
002 BC
003 CD
数据库中的表MBC是:
colA colC
001
002
003通过缓存表tmp中的colmnA,和MBC中的colA 把TMP中的列colC更新过来!!!
想问大家是否可以通过一条SQL语句:
update MBC SET colC=(select colmnB from temp where temp.colmnA=MBC.colA group by colmnA,colmunB)
WHERE colA in (select colmnA from tmp)
直接执行更新,而不需要循环每条语句,也不能把缓存表tmp导入到数据库在执行更新!!!!!请大虾求救!!!!
我现在有个问题,我将excel的数据通过ODBC中的"Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\tmp.xls"读入到数据缓存DataTable中,我现在想根据SQL中的一条批量更新的语句将缓存中的表tmp 的一个字段更新到数据库相应的列.
例如:缓存表tmp
colmnA colmnB
001 AB
002 BC
003 CD
数据库中的表MBC是:
colA colC
001
002
003通过缓存表tmp中的colmnA,和MBC中的colA 把TMP中的列colC更新过来!!!
想问大家是否可以通过一条SQL语句:
update MBC SET colC=(select colmnB from temp where temp.colmnA=MBC.colA group by colmnA,colmunB)
WHERE colA in (select colmnA from tmp)
直接执行更新,而不需要循环每条语句,也不能把缓存表tmp导入到数据库在执行更新!!!!!请大虾求救!!!!
群体更新
update MBC
SET MBC.colC = temp.colmnB
from temp
where MBC.colA = temp.colmnA