我在数据库表中有一个关于update和insert的触发器。我试图将旧细胞与新细胞进行比较。
--Part of my table that is relevant
-------------------------------------------
ID
Changed_Date
Name_new
.
.
Name_old
旧数据和新数据在触发器中排在同一行和不同的单元格中,但每次将相同的客户群加载(更新)到我的数据库中时,我都会获得冗余重复数据。
我尝试了以下内容:
SELECT * FROM CUSTOMERS
WHERE Name_New <> Name_Old
ORDER BY Changed_Date DESC
不需要将具有相同新旧信息的客户加载到数据库中。我们将不胜感激。
更新 我将尝试通过示例说明使其更清晰
ID | Changed_Date | Name_New | Name_Old
|-----------------------------------------
--Loading my Application the 7th november and fetcing data to insert again
1| 2016-nov-7 etc | John Smith | John Smith
--Loading my Application 6th november and fetching data to insert into my Database
1| 2016-nov-6 etc | John Smith | Heather Smith
11月7日没有任何新内容,因此我无需显示任何内容。我上面的SELECT假设仅在Heather将名字改为John时于11月6日显示数据。
ALTER TRIGGER [dbo].[TRG_CreateRevision]
ON [dbo].[Main_Customers_Table] AFTER UPDATE AS
BEGIN
INSERT INTO Customers (
CustomerID,
ChangedDate,
Name_New,
Name_Old,
)
SELECT [Old].ID,
GETDATE(),
[New].Name,
[Old].Name,
FROM inserted AS [New]
CROSS JOIN
deleted AS [Old]
END