SET NOCOUNT (Transact-SQL)
適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMicrosoft Fabric のウェアハウス
Transact-SQL ステートメントまたはストアド プロシージャで処理された行数を示すメッセージを結果セットの後に返すかどうかを制御します。 このメッセージは追加の結果セットです。
構文
SET NOCOUNT { ON | OFF }
Note
SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。
解説
このON
値を指定するとSET NOCOUNT
、カウントは返されません。 次OFF
の値を指定するとSET NOCOUNT
、カウントが返されます。
関数は @@ROWCOUNT
、次の場合 SET NOCOUNT
でも更新されます ON
。
SET NOCOUNT ON
では、ストアド プロシージャ内の DONEINPROC
ステートメントごとにクライアントにメッセージを送信できなくなります。 実際のデータがあまり返されない複数のステートメントを含むストアド プロシージャ、または Transact-SQL ループを含むプロシージャの場合は、SET NOCOUNT
ON
ネットワーク トラフィックが大幅に削減されるため、パフォーマンスを大幅に向上させることができます。
指定された SET NOCOUNT
設定は、実行時または実行時に有効であり、解析時には有効ではありません。
この設定の現在の設定を表示するには、次のクエリを実行します。
DECLARE @NOCOUNT VARCHAR(3) = 'OFF';
IF ((512 & @@OPTIONS) = 512)
SET @NOCOUNT = 'ON';
SELECT @NOCOUNT AS NOCOUNT;
アクセス許可
ロール public のメンバーシップが必要です。
例
次の例では、影響を受けた行数に関するメッセージを表示しないようにします。 次の例では、 (5 rows affected)
最初 SELECT
のステートメントからクライアントにのみ返されます。
USE AdventureWorks2022;
GO
SET NOCOUNT OFF;
GO
-- Display the count message.
SELECT TOP (5) LastName
FROM Person.Person
WHERE LastName LIKE 'A%';
GO
-- SET NOCOUNT to ON to no longer display the count message.
SET NOCOUNT ON;
GO
SELECT TOP (5) LastName
FROM Person.Person
WHERE LastName LIKE 'A%';
GO
-- Reset SET NOCOUNT to OFF
SET NOCOUNT OFF;
GO
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示