Это, кажется, простой вопрос, но тем не менее я еще не нашел ответа.Получить значение, выводимое из хранимой процедуры SQL Server, в переменную
У меня есть следующая хранимая процедура
CREATE PROCEDURE [dbo].[AllocateId]
AS
BEGIN TRANSACTION
UPDATE TOP(1) IdReservation
SET IsAllocated = 1
OUTPUT DELETED.Id
WHERE IsAllocated = 0
COMMIT TRANSACTION
GO
Он был использован в C# + код EF без проблем с помощью ExecuteFunction
из ObjectContext
ObjectResult<int> objectResult = ExecuteFunction<int>("AllocateId");
Однако, когда я пытаюсь вызвать его непосредственно из SQL скрипта он, похоже, не работает
declare @Id int
EXEC @Id = [dbo].[AllocateId]
@Id
всегда 0. Как мне получить значение в переменной @Id в sql-скрипте?
Я заметил после того, как прокомментировал. Однако неясно, за исключением вашего комментария, который делает его намного понятнее :) – MatBailie