Я вставляю строку в таблицу, используя хранимую процедуру в SQL Server, и прошу ее вернуть обратно scope_identity()
, но она возвращает мне значение NULL? Итак, как я могу получить правильное значение?
ALTER PROCEDURE SALES.AddDiscount
@Description NVARCHAR(255),
@DiscountPct SMALLMONEY,
@Type NVARCHAR(50),
@Category NVARCHAR(50),
@StartDate DATETIME,
@EndDate DATETIME,
@MinQty INT,
@MaxQty INT,
@NewProductID INT OUT
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO SALES.SpecialOffer
VALUES (@Description, @DiscountPct, @Type, @Category, @StartDate, @EndDate, @MinQty, @MaxQty);
SELECT SCOPE_IDENTITY() AS scopeIdentity
END
DECLARE @productnewid INT
EXECUTE SALES.AddDiscount 'THIS IS SQL SERVER', 1234, 'D', 'E', '1989-01-01', '1989-12-29' , 5 , 10, @productnewid OUT