Jump to content
rogman

SELECT * FROM Inserted mit Spalte "timestamp" und Fehlermeldung

Empfohlene Beiträge

Guten Tag allerseits, folgender Code gibt mir den Fehler ...

 

Nachricht 273, Stufe 16, Status 1, Prozedur TR_UPDATE, Zeile 16 [batchstartzeile 0]
Ein expliziter Wert kann nicht in eine timestamp-Spalte eingefügt werden. Verwenden Sie INSERT mit einer Spaltenliste, um die timestamp-Spalte auszuschließen, oder fügen Sie einen DEFAULT-Wert in die timestamp-Spalte ein.
 

CREATE TRIGGER TR_UPDATE ON tb_Adresse

INSTEAD OF UPDATE

AS

BEGIN

 

-- letzten gültigen Datensatz inaktivieren

UPDATE tb_Adresse SET

       Gültig_Bis = GETDATE(),

       Ist_Gültig = 0

FROM tb_Adresse INNER JOIN Inserted ON tb_Adresse.ID = Inserted.ID

WHERE tb_Adresse.Ist_Gültig=1

;

 

-- neuen Datensatz einfügen

INSERT INTO tb_Adresse

SELECT * FROM Inserted

;

END;

 

 

Wenn ich eine Spaltenliste detailliert aufsetze kommt folgende Fehlermeldung, weil ich wie angegeben die Spalte mit dem "timestamp" auslasse....

Ein Defaultwert gemäss erster Fehlermeldung kann, gemäss meinen Recherchen auf timestamp auch nicht gesetzt werden 

 

Insert mit Tabellenliste: 

SELECT ID, Gültig_Ab,Gültig_Bis,Ist_Gültig,ZHd_Name,Strasse,StrasseZusatz,PLZ,

Ort,Land,Bearbeitet_Durch,KundeID FROM Inserted

 

Nachricht 213, Stufe 16, Status 1, Prozedur TR_UPDATE, Zeile 16 [batchstartzeile 0]

Der Spaltenname oder die Anzahl der bereitgestellten Werte entspricht nicht der Tabellendefinition.
 
Kann mir da jemand weiter helfen? Bin ein SQL und SSMS newbi.... ;)

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo

 

Wie schaut dein Insert-Statement aus mit dem der Trigger ausgelöst wird.

 

Kann es sein dass du gar nicht alle Spalten befüllst obwohl das vielleicht nötig wäre und daher der Trigger auf einen Fehler läuft?

Gruß MDD

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

×