Hej!Trigger med fel
Jag försöker få in värden från inserted till logtable. Det ska fungera hur få kolumner jag än väljer att ta med när jag lägger till värden i personal.
Men jag får null i logtable.Ny_värde om antalet kolumner som udateras inte är rätt antal som i triggern..... Om jag däremot har rätt antal(dsv samma som jag sätter in) så får jag ut värdena som en sträng i logtable.Ny_värde.
Hur ordnar jag det prolemet?
Triggen:
CREATE Trigger trigex
ON dbo.personal
FOR insert, update,delete
AS
INSERT INTO logtable (Innan_värde, Ny_värde)
SELECT
rtrim(cast(d.personal_id as varchar)+', '+cast(d.chef_id as varchar)+', '+rtrim(d.efternamn)+', '+ rtrim(d.fornamn)+ ', '+ rtrim(d.titel)),
(cast(i.personal_id as varchar)+', '+cast(i.chef_id as varchar)+', '+rtrim(i.efternamn)+', '+ rtrim(i.fornamn)+ ', '+ rtrim(i.titel))
FROM inserted i full join deleted d on i.personal_id = d.personal_id
INSERT INTO Personal (personal_id, fornamn,efternamn ,chef_id)
VALUES (40, 'Arne', 'Arnsson' ,10) RESULTAT i logtable.Ny_värde=NULL
INSERT INTO dbo.personal
(personal_id, chef_id,fornamn, efternamn,Titel)
VALUES
(40, 100, 'Malin', 'Markusson','Chef' ) RESULTAT i logtable.Ny_värde=alla värden sätts in....
Tabellen:
CREATE Table logtable
(Innan_värde varchar(max) ,
Ny_värde varchar(max))
Tack! :)