1. ホーム
  2. sql

[解決済み] ストアドプロシージャが影響を与えるレコードの数を取得するにはどうすればよいですか?

2023-03-28 16:27:42

質問

質問 INSERT , UPDATEDELETE データベースに対して直接実行される SQL 文の場合、ほとんどのデータベースプロバイダーは影響を受ける行の数を返します。ストアドプロシージャの場合、影響を受けるレコードの数は常に -1 .

ストアドプロシージャによって影響を受けるレコードの数を取得するにはどうすればよいでしょうか。

どのように解決するのですか?

ストアドプロシージャにoutパラメータを登録し、その値を @@ROWCOUNT に基づいて値を設定します。 使用方法 SQL%ROWCOUNT を使用します。

もし、複数の INSERT/UPDATE/DELETE からの結果を格納する変数が必要になります。 @@ROWCOUNT の結果を格納する変数が必要です。