我想创建两个相关的表。 ITEM
表的主键为ItemNumber
,另一个重要列为UnitPrice
。第二个表再次有UnitPrice
。我想从UnitPrice
ORDER_LINE_ITEM
列中的值填充ITEM
表格中的UnitPrice
列,但不确定如何执行此操作。我需要在第二个表中使用UnitPrice
,因此我可以拥有ExtendedPrice
的计算列,除非有办法让计算列包含来自另一个表的值。
CREATE TABLE ITEM
(
ItemNumber int IDENTITY(1,1) Not NULL PRIMARY KEY,
ItemName varchar(30) NOT NULL,
OrderDate datetime NOT NULL,
UnitPrice money NOT NULL,
Description text NOT NULL,
);
CREATE TABLE ORDER_LINE_ITEM
(
OrderId int FOREIGN KEY REFERENCES ORDERS(OrderID),
LineNumber int NOT NULL,
ItemNumber int FOREIGN KEY REFERENCES ITEM(ItemNumber) NOT NULL,
Quantity int Not NULL,
UnitPrice money NOT NULL,
ExtendedPrice money AS (Quantity * UnitPrice),
CONSTRAINT pk_OrderLineItem PRIMARY KEY (OrderID,LineNumber)
);
答案 0 :(得分:0)
让我们从手头的问题开始,根据您的要求,您只需要提供外键和参考ITEM(UnitPrice)
。
Insert into table ORDER_LINE_ITEM
CONSTRAINT FK_ORDER_LINE_ITEM_ITEM FOREIGN KEY(UNITPRICE) REFERENCE ITEM(UNITPRICE)
您需要处理的第二件事是整体编码风格,因为您有两种不同的方式来约束外键和主键。这将有助于未来的编码工作,如果您正在与项目的其他编码人员合作。