我在DeZign上为数据库生成了以下代码但是它没有按照我的预期工作,它确实创建了表,一切似乎工作正常,直到我在OrderDetails表中插入信息,我需要它自动填充“来自“OrderDetails”表的unitPrice“字段,其值存储在”Products“表的”unitPrice“字段中... 有没有办法实现这个目标?
CREATE TABLE [Products] (
[productID] NUMERIC IDENTITY(1,1) NOT NULL,
[productName] VARCHAR(40),
[unitPrice] DOUBLE PRECISION NOT NULL,
[unitsInStock] INTEGER,
CONSTRAINT [PK_Products] PRIMARY KEY ([productID], [unitPrice])
)
GO
CREATE TABLE [OrderDetails] (
[orderID] NUMERIC IDENTITY(1,1) NOT NULL,
[productID] NUMERIC NOT NULL,
[unitPrice] DOUBLE PRECISION NOT NULL,
CONSTRAINT [PK_OrderDetails] PRIMARY KEY ([orderID], [productID], [unitPrice])
)
GO
ALTER TABLE [OrderDetails] ADD CONSTRAINT [Products_OrderDetails]
FOREIGN KEY ([productID], [unitPrice]) REFERENCES [Products] ([productID],[unitPrice])
GO
提前致谢。
答案 0 :(得分:0)
您可以使用INSERT触发器,但为什么要这样做呢?
如果您要查找商品的价格,您是否根本不想根据商品的productID在OrderDetails和Products表之间进行连接?
SELECT p.unitPrice FROM orderDetails AS od
JOIN Products AS p ON od.productId=p.productId