我正在努力更新列ListPrice
,将25
添加到名称为All-Purpose Bike Stands
的当前值,并将SellStartDate
更新为明天的日期在表Production.Product
中。
使用更新后的价格,我希望使用新的Production.ProductListHistory
在表ListPrice
中插入一行,并在明天更新名为Production.ProductHistory
的{{1}}列中的行#39;日期也是如此。
表格定义区域如下:
EndDate
:
Production.Product
ProductID int PK
Name varchar(50)
ProductNumber nvarchar(25)
ListPrice money
SellStartDate datetime
SellEndDate
:
Production.ProductListHistory
这是我到目前为止继续给我错误的内容:
ProductID int PK FK
StartDate datetime PK
EndDate datetime
ListPrice money
答案 0 :(得分:1)
如果我理解了您的问题,那么您的UPDATE
应该是这样的
您还可以创建一个表变量来存储已删除的定价,然后将其插入到历史记录表
中DECLARE @MyTableVar table(
ProductID int NOT NULL,
StartDate datetime,
EndDate datetime,
ListPrice money);
UPDATE AdventureWorks2008R2.Production.Product
Set ListPrice = 25 + AdventureWorks2008R2.Production.Product.ListPrice
OUTPUT inserted.ProductID,
inserted.SellStartDate,
inserted.SellEndDate,
deleted.ListPrice
INTO @MyTableVar
where AdventureWorks2008R2.Production.Product.Name Like 'All-Purpose%'
AND Listprice = AdventureProduct.Production.Listprice