Порядок и детали заказа - PullRequest
0 голосов
/ 15 апреля 2011

Если я собираюсь сохранить запись OrderDetails, мне нужен OrderId (внешний ключ) из таблицы Order. Вопрос при сохранении записи Order, автоматически генерируется OrderId

Итак, как мне обратиться к этому конкретному OrderId при вставке записи в OrderDetails? Это очень смутило меня.

Я использую Microsoft SQL Server 2005

Таблица заказов

OrderId
CustomerId
Date
Total

Детали_Заказов

OrderDetailId
OrderId
ProductId
Quantity
UnitPrice

Ответы [ 2 ]

2 голосов
/ 15 апреля 2011
2 голосов
/ 15 апреля 2011

Ответ будет зависеть от типа данных вашего OrderID. Предполагая, что это int идентификатор, вы можете вызвать SCOPE_IDENTITY (), чтобы вернуть идентификатор последней добавленной строки.

Например

INSERT INTO dbo.Orders (CustomerId, Date, Total)
VALUES (@CustomerId, @Date, @Total);

DECLARE @OrderID int
SET @OrderID = SCOPE_IDENTITY()
...