/ / Wywołaj procedurę SQLCLR z innej procedury składowanej i uzyskaj 2 wartości zwracane? - sql-server, sql-server-2008, zapisane-procedury, sqlclr

Wywołać procedurę SQLCLR z innej procedury przechowywanej i uzyskać 2 wartości zwracane? - sql-server, sql-server-2008, zapisane-procedury, sqlclr

Używam procedury przechowywanej, która wywołuje inną procedurę przechowywaną SQLCLR. Procedura SQLCLR zwraca 2 wartości.

Jak uzyskać 2 wartości zwracane z procedury SQLCLR do procedury składowanej T-SQL?

Wiem normalnie z C # uzyskanie wartości zwracanej przy użyciu parametru wyjściowego. Ale mylące, jak uzyskać i zachować wartość zwrotu w normalnej procedury przechowywanej.

Odpowiedzi:

3 dla odpowiedzi № 1

Procedura SQLCLR:

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

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

Otrzymuję właściwy wynik. Dzięki za wpis.


1 dla odpowiedzi nr 2

Może być bardziej "poprawna" odpowiedź niż ta,ale jednym z łatwych sposobów jest po prostu umieszczenie dwóch wartości w jednym i oddzielenie ich jakimś znakiem, na przykład przecinkiem, tabulatorem, rurą itp. W ten sposób zwracasz tylko jedną wartość i możesz podzielić ją na drugi koniec z powrotem na 2 wartości oparte na ograniczniku.