儲存過程 是否返回行數資訊

2021-06-08 21:29:46 字數 623 閱讀 5847

當 set nocount 為 on 時,不返回計數(表示受transact-sql 語句影響的行數)。

當 set nocount 為 off 時,返回計數(預設為off)。

即使當 set nocount 為 on 時,也更新 @@rowcount 函式。

當 set nocount 為 on 時,將不給客戶端傳送儲存過程中的每個語句的 done_in_proc 資訊。當使用 microsoft® sql server™ 提供的實用工具執行查詢時,在 transact-sql 語句(如 select、insert、update 和 delete)結束時將不會在查詢結果中顯示"nn 行受影響"。

如果儲存過程中包含的一些語句並不返回許多實際的資料,則該設定由於大量減少了網路流量,因此可顯著提高效能。

set nocount 設定是在執行或執行時設定,而不是在分析時設定。

注釋當set nocount 為on 時,不返回計數(表示受transact-sql 語句影響的行數)。當set nocount 為off 時,返回計數。 ...

結論:我們應該在儲存過程的頭部加上set nocount on 這樣的話,在退出儲存過程的時候加上set nocount off這樣的話,以達到優化

ORACLE 儲存過程 返回行數超過查詢行數

oracle建立了乙個儲存過程 就是簡單的通過id 返回 名字 但是總是報錯返回行數超過查詢行數 原因如下 存在錯誤 create orreplace procedure show proc deptno int,v name out varchar is begin select d.dname ...

儲存過程返回記錄總數

在網上找了很長時間,經過個人總結,終於得到如願的 create procedure recordcount tablename nvarchar 100 strwhere nvarchar 500 as declare flag int declare sqlstr nvarchar 1000 se...

儲存過程返回值

alter procedure dbo.spdelstudentbyid id int,result int output parameter1 int 5,parameter2 datatype output asset nocount on 不返回計數當 set nocount 為 on 時,不...