Jump to content

rogman

Members
  • Gesamte Inhalte

    1
  • Registriert seit

  • Letzter Besuch

Fortschritt von rogman

Newbie

Newbie (1/14)

  • Erste Antwort
  • Erster eigener Beitrag
  • Eine Woche dabei
  • Einen Monat dabei
  • 1 Jahre dabei

Neueste Abzeichen

0

Reputation in der Community

  1. 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.... ;)
×
×
  • Neu erstellen...