现在的要求是,
1、导出表,取得导出的数据件数;
2、用slecet count(*),取得数据库中的记录件数;
3、比较两个件数数否一致,一致则在Log中写入成功,反之则写入失败;
现在就是第一步没搞定,有没有什么方法?
3ks

解决方案 »

  1.   

    应该是@@rowcount所影响的行数吧.
      

  2.   


    ---try
     @@rowcount 应该是你的查询语句返回
    if @@rowcount = (select count(*) from tb )
      begin
        print '成功' 
      end
      

  3.   

    楼上的@@rowcount 不对。
    继续等
      

  4.   

    --导出数据
    select @cmd = 'bcp ' + @dbName + '..' + @tableName + ' out "' + @path+ @ymd + @tableName + '.csv" -c -T -S' 
    exec master..xp_cmdshell @cmd--检查导出件数和数据库中件数是否一致
    --select @@rowcount
    set @outcnt=@@rowcount 
    select @outcnt
    CREATE TABLE #tmpCnt (cnt int)
    set @cmd = 'select count(*) from '+ @dbName + '..' + @tableName
    insert into #tmpCnt exec(@cmd)
    set @dbcnt = (select cnt from #tmpCnt)
    select @dbcnt@outcnt=9
    @dbcnt= 2178