SQL Server

@@ROWCOUNTで処理した件数を取得する

投稿日:2014/03/04 更新日:

@@ROWCOUNTは直前に処理した件数を取得するための関数

SQLServerでは実行したSQLで影響を与えた処理件数を
@@ROWCOUNTを使用することで取得できます。

@@ROWCOUNTで処理件数を取得する

まずはInsertした処理件数を取得します。

上記のSQLを実行すると

となり、INSERTで最後のステートメントの影響を受けた処理件数は1件になります。

当たり前ですね。

でも、1行のINSERT文で複数のデータを挿入する方法のように
1行のINSET文で複数行データを挿入すると

の実行結果は

のようにちゃんと挿入した処理件数を@@ROWCOUNTが取得してくれます。

@@ROWCOUNTで更新件数を取得する

更新でも同様に

になります。

@@ROWCOUNTで削除件数を取得する

削除も

になり、処理件数が取得できます。

@@ROWCOUNTの注意事項

@@ROWCOUNTは直前のステートメントで影響を受けた件数なので

とすると2行目のPRINTで表示されている@@ROWCOUNTは1行目のPRINTを
表示した時点でクリアされるので

と0になってしまいます。
あとで「@@ROWCOUNT」の値を利用したい場合は
他の変数に保存しておく必要があります。

スポンサーリンク

当サイトのおすすめ記事

パソコン 1

初心者でも失敗しないレンタルサーバーの選び方ですが、最近ではブログを立ち上げて、そこから広告収入を得る「アフィリエイト」が随分一般的になりました。 私の周りでも実際にやっている人が多くいます。 アフィ ...

プログラミング 2

SQLでIFを書けばWHERE句の内容を変えて検索できますが、条件ごとに同じようなSQLを 複数回書くのは面倒なので、1行で分岐できないかと言う事でSQLを作って見ました。 SQLでIFを使わずに条件 ...

SQLServer 3

SQLServerで発生するエラーコードをSQLで取得する SQLServerで発生したエラーコードの内容を メッセージが定義されているテーブルから取得します。 エラーコードを取得するSQL SQLs ...

4

SQLServerでは「ユーザー定義型」と呼ばれる独自のテーブル型をした戻り値を返す関数を作成することができます。 その作り方と使い方を解説します。 SQLServerでテーブル型を戻り値とする関数を ...

5

アフィリエイトでいきなり成果を出すのは難しいです。 でも、成果がないとレンタルサーバー代やドメイン代がペイできません。 しかも長い間、結果がでないとやる気もなくなってしまいます。 そういったことを防ぐ ...

-SQL Server
-,

Copyright© ソフトウェア開発日記 , 2018 All Rights Reserved.