Trigger MS SQL Server

tschueepp

Grünschnabel
Hallo,

Kann man ein Trigger Parameter übergeben?

Ich habe folgende Code geschrieben, bekomme aber immer eine Fehlermeldung
" Variable id_parent muss deklariet werden"

Create Trigger Kategorie_Trigger_Insert
On dbo.Kategorie

(@id_parent INT) /*Parameter */

For Insert
As
/* Variable */
DECLARE @root_parent INT
DECLARE @l_parent INT
DECLARE @r_parent INT

SELECT @root_parent = Kategorie.root FROM Kategorie WHERE Kategorie.id = @id_parent
SELECT @l_parent = Kategorie.l FROM Kategorie WHERE Kategorie.id = @id_parent
SELECT @r_parent = Kategorie.r FROM Kategorie WHERE Kategorie.id = @id_parent


UPDATE Kategorie
SET l = l + 2
WHERE root = @root_parent AND l > @r_parent

UPDATE Kategorie
SET r = r + 2
WHERE root = @root_parent AND r >= @r_parent

UPDATE inserted
SET root = @root_parent, l = @r_parent, r = @r_parent + 1
 
Noch etwas:

Der Fehler ist in der 4ten Zeile

(@id_parent INT)

Immer wenn ein neuer Datensatz in die Tabelle Kategorie eingetragen wird, soll die andere Datensätze aktualisiert werden, dafür brauche ich die Primärschlüssel von einem bestimmtem Feld. Die Primärschlüssel möchte ich mit einem Parameter den Trigger übergeben.

Vielen Danke
 
Zurück