私はOUTPUT
まだ句を見ません - しかし、あなたがそれを持っていた場合、あなたがする必要があるのは、このストアドプロシージャを、(SELECT
ステートメントから)結果セットを返すかのように実行することです:
using (SqlConnection conn = new SqlConnection(-your-connection-string-here-))
using (SqlCommand cmd = new SqlCommand("[xyz].[stored_proc]", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
conn.Open();
// execute your UPDATE statement with an OUTPUT clause into a SqlDataReader
using(SqlDataReader reader = cmd.ExecuteReader())
{
// read the values returned from the OUTPUT clause
while(reader.Read())
{
int insertedID = reader.GetInt32(0);
// do something with those values....
}
}
conn.Close();
}
これは、ストアド プロシージャ内の UPDATE ステートメントが次のようになると想定しています。
UPDATE ...
OUTPUT Inserted.ID -- or something else....
SET input1 = @input1
WHERE input2 = @input2
AND input3 NOT IN (123)