Wie verwenden Sie eingefügt\deleted-Tabelle in der gespeicherten Prozedur?

Ich erstellen Trigger für mehrere Tabellen. Die Trigger haben gleiche Logik. Ich wollen eine gemeinsame gespeicherten Prozedur.
Aber ich weiß nicht, wie die Arbeit mit eingefügt und gelöscht Tabelle.

Beispiel:

SET @FiledId = (SELECT FiledId FROM inserted)
begin tran
   update table with (serializable) set DateVersion = GETDATE()
   where FiledId = @FiledId

   if @@rowcount = 0
   begin
      insert table (FiledId) values (@FiledId)
   end
commit tran
  • Das können Sie nicht. die pseudo-Tabellen sind nur verfügbar, direkt in den Trigger. Und dein code ist fehlerhaft. inserted enthalten kann 0, 1 oder mehrere Zeilen - SET @FiledId = (SELECT FiledId FROM inserted) ist die Auswahl eines Wertes aus einer diese Zeilen und ignorieren die anderen
InformationsquelleAutor Mediator | 2014-01-22
Schreibe einen Kommentar