数据库中有一张人员信息表tableA
表中有很多字段,其中ID为主键
现在我手上有一张excel表,指明哪些信息有了变化,如
ID     变化字段      新值
003    Department  IT
005    Room        A707
009    City        Shanghai
...不知道是否能写这么个语句,把tableA按照对应ID,更新变化字段的值为新值谢谢!

解决方案 »

  1.   


    在SQL SERVER里查询Excel数据:
    -- ======================================================
    SELECT * 
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
    'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
    下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。
    SELECT * 
    FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
      

  2.   

    ID     变化字段      新值  
    003    Department  IT  
    005    Room        A707  
    009    City        Shanghai  
    ---------------------------麻烦,得循环用动态SQL来完成了.
      

  3.   

    excel先导出或不导select 'update tablea set '+ 变化字段 +'= '''+ ltrim(新值)+''' where id = ' + ltrim(id)
    from tablename运行生成的SQL语句