如何删除sql命令生成的csv文件中的Header

时间:2015-01-16 14:04:32

标签: sql sql-server

我正在使用sql脚本将数据从数据库获取到csv文件,因为我创建了批处理文件。当我运行批处理文件时,它会在表格下面生成结果 但结果是显示一些虚拟数据,例如"将数据库上下文更改为' KMSSource'。"和#34;(1行受影响)"。我只想要表而不是"将数据库上下文更改为' KMSSource'。"和#34;(1行受影响)"。

我正在使用此代码 注意:这是sql server查询。

创建TABLE TempTable (    IBS_Total int,    IBS_Active int,    IBS_InActive int,    IBS_Only int,    KMS_Active int,   KMS_InActive int ) INSERT INTO TempTable(IBS_Total,IBS_Active,IBS_InActive,IBS_Only,KMS_Active,KMS_InActive) 选择(@ IBS_Active + @ IBS_INActive),@ IBS_Active,@ IBS_INActive,@ KMS_DEVICENR,@ KMS_Active,@ KMS_OnlyTotal; 删除表#KMS_DEU

USE [KMSSource] 
select * from TempTable
go

我得到了这个结果

**Changed database context to 'KMSSource'.**
IBS_Total   IBS_Active  IBS_InActive IBS_Only    KMS_Active  KMS_InActive
----------- ----------- ------------ ----------- ----------- ------------
      41621        8632        32989          74       11916         3358

**(1 rows affected)**

BatchfileCode是: - >

@echo off   
echo script executing....
:begin
sqlcmd -S%server%  -b -i"Data\Report_IBS_KMS_KU_DUE.sql" -o"Extract\Report_IBS_KMS_KU_DUE.csv"
:end
Exit %ERRORLEVEL%

1 个答案:

答案 0 :(得分:0)

如果在删除USE语句时收到错误,则需要在查询中限定表名,如下所示。同时设置NO COUNT ON,您将收到有关受影响的行的消息。


设置NOCOUNT

CREATE TABLE KMSSource.dbo.TempTable (IBS_Total INT,IBS_Active INT,IBS_InActive INT,IBS_Only INT,KMS_Active INT,KMS_InActive INT) 插入KMSSource.dbo。#KMS_DEU (IBS_Total,IBS_Active,IBS_InActive,IBS_Only,KMS_Active,KMS_InActive) SELECT(@IBS_Active + @IBS_INActive),@ IBS_Active,@ IBS_INActive,@ KMS_DEVICENR,@ KMS_Active,@ KMS_OnlyTotal; DROP TABLE KMSSource.dbo。#KMS_DEU