Hi Leute, hab da ein Problem mit diesem Trigger.
Er überwacht das Update einer bestimmten Tabelle. Falls diese Tabelle ein UPDATE Eregnis hat schreib er die das Produkt welches geändert wurde in die Triggertabelle. Nur schreib er 2mal die gleichen Werte in die Tabelle, habe also hinterher 2mal die gleichen Zeilen in der Tabelle. Könnt Ihr mir sagen warum.
Es handelt sich um die AdventureWorks Datenbank vom MS SQL 2005 Server. Danke euch...
ALTER TRIGGER [TriggerInventorychangesUpdate]
ON [Production].[ProductInventory] FOR UPDATE
AS
BEGIN
DECLARE @ProductID int;
DECLARE @LocationID int;
DECLARE @DatabaseUser sysname;
DECLARE @ModifiedDate datetime;
DECLARE @kindofchanges nvarchar(50);
SET @ProductID = (SELECT ProductID FROM inserted);
SET @LocationID = (SELECT LocationID FROM inserted);
SET @DatabaseUser = (SELECT CURRENT_USER);
SET @ModifiedDate = getdate();
SET @kindofchanges = 'UPDATE';
INSERT INTO dbo.ProductInventorychanges
(ProductID,LocationID,DatabaseUser,ModifiedDate,ki ndofchanges)
VALUES
(@ProductID,@LocationID,@DatabaseUser,@ModifiedDat e,@kindofchanges);
END;
Er überwacht das Update einer bestimmten Tabelle. Falls diese Tabelle ein UPDATE Eregnis hat schreib er die das Produkt welches geändert wurde in die Triggertabelle. Nur schreib er 2mal die gleichen Werte in die Tabelle, habe also hinterher 2mal die gleichen Zeilen in der Tabelle. Könnt Ihr mir sagen warum.
Es handelt sich um die AdventureWorks Datenbank vom MS SQL 2005 Server. Danke euch...
ALTER TRIGGER [TriggerInventorychangesUpdate]
ON [Production].[ProductInventory] FOR UPDATE
AS
BEGIN
DECLARE @ProductID int;
DECLARE @LocationID int;
DECLARE @DatabaseUser sysname;
DECLARE @ModifiedDate datetime;
DECLARE @kindofchanges nvarchar(50);
SET @ProductID = (SELECT ProductID FROM inserted);
SET @LocationID = (SELECT LocationID FROM inserted);
SET @DatabaseUser = (SELECT CURRENT_USER);
SET @ModifiedDate = getdate();
SET @kindofchanges = 'UPDATE';
INSERT INTO dbo.ProductInventorychanges
(ProductID,LocationID,DatabaseUser,ModifiedDate,ki ndofchanges)
VALUES
(@ProductID,@LocationID,@DatabaseUser,@ModifiedDat e,@kindofchanges);
END;
Comment