- Код: Выделить всё
CREATE TABLE Pages (
PageId int IDENTITY (1, 1) PRIMARY KEY,
PageLogin varchar(50) NOT NULL,
) ON [PRIMARY]
Хранимой процедурой создаю новый элемент и получаю значение ключа нового элемента:
- Код: Выделить всё
CREATE PROCEDURE Page_Create (@PageId int OUTPUT, @PageLogin varchar(50)) AS
INSERT INTO dbo.Pages (PageLogin) VALUES (@PageLogin)
SELECT @PageId = PageId FROM dbo.Pages WHERE (PageLogin = @PageLogin)
GO
Естественно, решение неправильное, т.к. если есть несколько записей с одинаковым логином, то вернется ключь первой (вернее последней записи).
Как правильно получить новый ключ?