У меня есть база данных для ресторана. таблицу для элемента (itemid, itemname, price) и таблицу для заказов (orderid, itemid, количество, цена). У меня есть поле цены в таблице заказов только потому, что если цена в таблице элементов была изменена, то значение заказа, конечно, не должно быть изменено. Есть ли способ автоматизировать цену, которая будет установлена? я не могу показаться, чтобы сделать это:SQL-поле как результат запроса
CREATE TABLE ORDER(
OrderID INT IDENTITY(1,1) PRIMARY KEY,
ItemID INT NOT NULL,
Quantity INT NOT NULL,
Price MONEY AS (SELECT Price FROM ITEM)
);
Я бы просто посмотрел текущую цену, когда вы создаете новый заказ. В SQL нет чистого способа сделать это, кроме * возможно * триггера, который все еще некрасиво. –
Заказы Yup - это, как правило, то, что вам нужно для денормализации, если вы используете реляционную базу данных. – phoebus
хорошо, в моей процедуре добавления мне придется искать и назначать ее. нет простого выхода –