3

別の SQLCLR ストアド プロシージャを呼び出すストアド プロシージャを使用しています。SQLCLR プロシージャは 2 つの値を返します。

SQLCLRプロシージャからT-SQLストアドプロシージャへの2つの戻り値を取得する方法は?

出力パラメータを使用して戻り値を取得するC#から通常は知っています。しかし、通常のストアド プロシージャで戻り値を取得して保持する方法がわかりにくい。

4

2 に答える 2

3

SQLCLR手順:

public static void SendMailSP(out string Status, out string Message)
{
    Status = "hi:";
    Message = "Hello";
}

DB手順

CREATE PROCEDURE [dbo].udpTestOutParameter
{
DECLARE @Status varchar(100);
DECLARE @Message varchar(100);
EXECUTE dbo.SendMailSP @Status = @Status OUTPUT,@Message = @Message OUTPUT;
PRINT @Status
PRINT @Message
RETURN
}

適切な結果が得られています。投稿ありがとうございます。

于 2012-06-02T06:34:15.717 に答える
1

これよりも「正しい」答えがあるかもしれませんが、簡単な方法の1つは、2つの値を1つにまとめ、コンマ、タブ、パイプなどの文字で区切ることです。これにより、1つを返すだけです。値を設定すると、もう一方の端で、デリメータに基づいて2つの値に分割できます。

于 2012-06-02T06:10:39.537 に答える