/ / Chamar procedimento SQLCLR de outro procedimento armazenado e obter 2 valores de retorno? - sql-server, sql-server-2008, procedimentos armazenados, sqlclr

Chamar o procedimento SQLCLR de outro procedimento armazenado e obter 2 valores de retorno? - sql-server, sql-server-2008, procedimentos armazenados, sqlclr

Eu estou usando um procedimento armazenado que chama outro procedimento armazenado SQLCLR. O procedimento SQLCLR retorna 2 valores.

Como obter 2 valores de retorno do procedimento SQLCLR para o procedimento armazenado T-SQL?

Eu sei que normalmente a partir de C # obtendo o valor de retorno usando o parâmetro de saída. Mas confuso como obter e manter o valor de retorno no procedimento armazenado normal.

Respostas:

3 para resposta № 1

Procedimento SQLCLR:

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

Procedimento 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
}

Estou obtendo o resultado adequado. Obrigado por postar.


1 para resposta № 2

Pode haver uma resposta mais "correta" do que isso,mas uma maneira fácil é simplesmente colocar os dois valores em um e separá-los com algum caractere como vírgula, tabulação, pipe, etc. Assim, você está retornando apenas um valor e pode dividi-lo do outro lado 2 valores com base no delimitador.