Microsoft SQL Server Management Studio,使用来自其他字段的值自动填充字段?

时间:2014-07-27 01:13:43

标签: sql sql-server-2008

我在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

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用INSERT触发器,但为什么要这样做呢?

如果您要查找商品的价格,您是否根本不想根据商品的productID在OrderDetails和Products表之间进行连接?

SELECT p.unitPrice FROM orderDetails AS od
JOIN Products AS p ON od.productId=p.productId