Вам не нужно указывать значение для параметра OUTPUT
, вам нужно указать, в какую локальную переменную выводятся выходные данные:
По умолчанию SQL Management Studio называет параметр и переменную одинаковыми, что может привести к путанице. Вот пример вашего SP, который называется:
DECLARE @InsertedEventId int
EXEC [dbo].[EventsINSERT]
@EventId = @InsertedEventId OUTPUT,
@EventDate = N'2009-08-05',
@Title = N'Some event',
@IsActive = 1
-- Display ID as result set
SELECT @InsertedEventId
Просто чтобы уточнить: ваша хранимая процедура в порядке. Я использовал его как есть.