Anders Malm Posted October 14, 2004 Share Posted October 14, 2004 Hej jag håller på att utforska möjligheten med triggers i SQL-server. Jag har börjat med att hålla mig i en och samma tabell för att få grepp på hur det fungerar. Trots detta så lyckas jag inte och förstår inte varför det går snett. Jag har en tabell med ett automatgenrerat ID fält, ett bigint fält ForalderID och två fält uppsatta som char Posnr och Bet. Vad jag försöker göra med triggern är att när en ny post skapas ta textsträngen som matas in i Posnr och skriva den till Bet. Det fungerar så långt att det jag skriver in i Posnr skrivs till Bet men samtidigt skrivs NULL i ForalderID och i Posnr. Är det någon som kan förklara vad jag gör för fel. Min trigger ser ut så här: ALTER TRIGGER Pos2_Trigger1 ON dbo.Pos2 FOR INSERT AS DECLARE @Posnr CHAR(10) SELECT @Posnr = Posnr FROM inserted INSERT INTO dbo.Pos2(Bet) VALUES(@Posnr) Alla tips mottages med tacksamhet. Anders Malm Link to comment Share on other sites More sharing options...
Anjuna Moon Posted October 14, 2004 Share Posted October 14, 2004 Du ska inte göra en insert, den är redan utförd när du kommer till triggern. Du får göra en update istället. DECLARE @Posnr CHAR(10) DECLARE @id [color="#0000ff"]IN[/color]t [color="#0000ff"]SELECT[/color] @id=ID,@Posnr = Posnr [color="#0000ff"]FROM[/color] inserted [color="#0000ff"]UPDATE[/color] Pos2 SET Bet=@PosNr [color="#0000ff"]WHERE[/color] ID=@id VALUES(Posnr) Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.