別の SQLCLR ストアド プロシージャを呼び出すストアド プロシージャを使用しています。SQLCLR プロシージャは 2 つの値を返します。
SQLCLRプロシージャからT-SQLストアドプロシージャへの2つの戻り値を取得する方法は?
出力パラメータを使用して戻り値を取得するC#から通常は知っています。しかし、通常のストアド プロシージャで戻り値を取得して保持する方法がわかりにくい。
別の SQLCLR ストアド プロシージャを呼び出すストアド プロシージャを使用しています。SQLCLR プロシージャは 2 つの値を返します。
SQLCLRプロシージャからT-SQLストアドプロシージャへの2つの戻り値を取得する方法は?
出力パラメータを使用して戻り値を取得するC#から通常は知っています。しかし、通常のストアド プロシージャで戻り値を取得して保持する方法がわかりにくい。
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
}
適切な結果が得られています。投稿ありがとうございます。
これよりも「正しい」答えがあるかもしれませんが、簡単な方法の1つは、2つの値を1つにまとめ、コンマ、タブ、パイプなどの文字で区切ることです。これにより、1つを返すだけです。値を設定すると、もう一方の端で、デリメータに基づいて2つの値に分割できます。