我正在使用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%
答案 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