0

2つのInsertクエリと1つのUpdateクエリを含むストアドプロシージャを作成しました。これらすべてのうち、挿入クエリまたは更新クエリのいずれかが一度に実行されます。今私の問題はROWCOUNT、それぞれの場合に取得することです。挿入操作が実行された場合、ストアドプロシージャを@@ROWCOUNT呼び出し元のアプリケーションに戻して、必要な操作が正しく実行されたかどうかをアプリケーションが認識できるようにするとします。ストアドプロシージャの影響を受ける行を取得する方法を誰かに提案/教えてもらえますか?

4

1 に答える 1

0

ストアド プロシージャで出力パラメーターを使用して、挿入/更新の RowCount を返します。

出力パラメーターの使用方法の詳細については、MSDN リンクを参照してください。

複数の出力パラメーターを使用できるため、2 つの異なる出力パラメーターを挿入用に 1 つずつ、更新ステートメント用に 3 番目を使用できます。

例:

CREATE PROCEDURE GetEmployeeData
   @employeeID INT,
   @managerID INT **OUTPUT**
AS
BEGIN
....
....

さらに、区切り記号を使用して 2 つの挿入/更新の行数をいつでも連結し、それらを 1 つの値として返すことができます (例: "10;0")。

また、テーブル変数を作成し、行 = 挿入/更新の数と列の値 = 影響を受ける RowCount を持つテーブルを返すこともできます。

于 2010-09-16T08:26:19.803 に答える