2012-11-06 15 views
2

我嘗試使用OSQL爲了將查詢結果保存在文本文件中,並稍後將這些文本文件批量插入到表中。 OSQL部分是可以的,但是,在批量插入時,查詢結果影響的行數會導致錯誤。這是一個例子;當我運行簡單的select查詢時,是否有可能不顯示最後影響的行數?

select item_number, description, price from item 

3536114 Fruit mix  $3.99 

3536229 DO 20 liquid $9.99 

3536251 Peppermint $7.99 

(3 rows affected) ------> I do not need this line. 
+2

設置NoCount On? – Laurence

+0

可能重複... http://stackoverflow.com/questions/1377067/how-to-stop-sqlserver-writing-extraneous-stuff-eg-1-rows-affected – SteveC

回答

3

在查詢的頂部將這個:

SET NOCOUNT ON

當SET NOCOUNT爲ON時,不返回計數。當SET NOCOUNT爲 OFF時,返回計數。

即使SET NOCOUNT爲ON,也會更新@@ ROWCOUNT函數。

SET NOCOUNT ON禁止將DONE_IN_PROC消息發送到存儲過程中的每個語句的 客戶端。對於包含幾個不返回太多實際數據的語句的存儲過程 或 或包含Transact-SQL循環的過程,將SET NOCOUNT 設置爲ON的存儲過程可以顯着提高性能,因爲網絡 流量大大降低。

SET NOCOUNT指定的設置在執行或運行 時生效,而不是在解析時。

http://msdn.microsoft.com/en-us/library/ms189837.aspx

2

您可以實現這一目標: -

SET NOCOUNT ON 

當SET NOCOUNT爲ON時,不返回計數(表示受一個Transact-SQL語句的行數) 。 SET NOCOUNT爲OFF時,返回計數。

入住這Documentation

6

使用SET NOCOUNT像這樣:

SET NOCOUNT ON; 

這將:

停止指示從受着 Transact-SQL語句的行數的消息作爲結果的一部分返回。

相關問題