H
Hi,
ich habe die MSSQL Tabelle "TblData" mit den Spalten "ID", "V", "A", "B", und "C". ID enthält einen Daten-Identifier, V eine Versionsnummer, die zusammen mit ID den eindeutigen Identifier bildet. A, B und C sind Nutzdaten.
In einer zweiten Tabelle "TblVersion" werden die Versionsnummern mit Autor und Datum gelistet, welche als Fremdschlüssel für die V-Spalte dienen. Die Default-Werte für diese Tabelle sind so definiert, dass die Versionsnummer automatisch hochgezählt und der Autor vom Login eingetragen wird.
Wenn ich nun einen Datensatz in "TblData" einfüge oder ändere, wird über einen INSTEAD OF INSERT, UPDATE Trigger folgendes ausgeführt:
INSERT INTO TblVersion DEFAULT VALUES;
INSERT INTO TblData
SELECT
ID,
V = SCOPE_IDENTITY(),
A,
B,
C
FROM
inserted
Ich muss mich also nie um die Versionstabelle kümmern.
Jetzt möchte ich aber eine Spalte in der Versionstabelle gezielt mit einem bestimmten Wert belegen. Dabei geht es um ein Label. Da ich aber nie driekt auf die Versionstabelle zugreife und auch keine Spalten an die Datentabelle übergeben kann, die dort nicht vorhanden sind (um sie im Trigger zu verwenden), hab ich nun ein kleines Problem.
Hat jemand eine Idee, wie ich das lösen kann?