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 № 1Procedimento 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.