过程是这样的1。从oracle数据库生成csv文件
2。把sqlserver里表中和csv文件里相同key的数据删除
3。把csv文件导入sqlserver数据库我现在只会把sqlserver里的数据全部删除然后导入,我不知道怎么删除一部分再导入
请高人指点一下,不胜感激就这点分了、我想很多朋友不是为分而来

解决方案 »

  1.   

    oracle中表如果少的话,可以用plsql导出sql,这样在运行到sqlserver里面
      

  2.   


    这样的话就可以直接更新sqlserver里的数据不用先删除吗
      

  3.   

    可以直接使用EXP/IMP工具,两种方法,指定indexfile参数和show=y,不过都需要处理一下,indexfile会在语句前产生REM;而show=y,产生的语句每行开始和结束的地方会有双引号,而且简单的删除双引号会使命令在不适当的地方断行;一般多数建议使用indexfile参数
      

  4.   

    谢谢回答,
    我是先把csv文件里的主键都取出来放在删除sqlserver的表的条件里处理的
    setlocal enabledelayedexpansion
        for /f "usebackq  tokens=1 delims=," %%b in (".\csv\CONSTRUCT.csv") do (
            set sdel=!sdel!'%%b', 
        )
    set sdel=%sdel:~,-2%   这个是去掉最后的那个逗号,因为是放在in条件里