Можно присвоить значение переменной возвращаемого из exec @sql
:Присвоение значения переменной в SQL Exec
set @var= exec calculate 'param' are this true
Можно присвоить значение переменной возвращаемого из exec @sql
:Присвоение значения переменной в SQL Exec
set @var= exec calculate 'param' are this true
Вы должны использовать выходные параметры для хранимой процедуры:
DECLARE @output1 INT
EXEC [proc] @input, @output1 OUTPUT
PRINT @output1
DECLARE @ret INT
DECLARE @output INT
EXEC @ret = [proc] @input, @output OUTPUT
SELECT @ret, @output
@ret
является возвращаемым значением: RETURN -1
@output
является назначаемым variab le любого типа: SET @output = 123
Функция - хорошее место для выполнения широко используемых вычислений.
CREATE FUNCTION dbo.ufnAddIntegers
(@pint1 as int, @pint2 as int)
RETURNS int
AS
BEGIN
return @pint1 + @pint2
END
go
declare @intResult int
set @intResult = dbo.ufnAddIntegers(3, 4)
select Result = @intResult
/*
Result
-----------
7
*/
спасибо @peterellis его хорошее решение.путь что различается между функциями и хранимой процедурой – shmandor