/ / Извикайте процедура SQLCLR от друга съхранена процедура и получавате 2 връщащи се стойности? - sql-сървър, sql-server-2008, съхранени процедури, sqlclr

Извикайте процедура SQLCLR от друга съхранена процедура и получавате 2 връщащи се стойности? - sql-сървър, sql-server-2008, съхранени процедури, sqlclr

Използвам съхранена процедура, която нарича друга SQLCLR съхранена процедура. Процедурата SQLCLR връща 2 стойности.

Как да получите 2 върнати стойности от процедурата SQLCLR в T-SQL съхранената процедура?

Знам, че обикновено от C # получава връщащата стойност, използвайки изходен параметър. Но обърквайки как да получавате и държите връщаната стойност в нормална запомнена процедура.

Отговори:

3 за отговор № 1

SQLCLR Процедура:

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

ПБ процедура

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

Може да има по-точен отговор от този,но един лесен начин е просто да поставите двете стойности в една и да ги разделите с някакъв знак като запетая, табулатора, тръбата и т.н. Така, че вие ​​просто връщате една стойност и можете да я разделите от другата страна обратно в 2 стойности въз основа на разделителя.