Just nu i M3-nätverket
Jump to content

Problem med trigger i SQL-server 2000


Anders Malm

Recommended Posts

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

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

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...