Ich habe noch nie wirklich mit Triggern in MSSQL gearbeitet, aber ich denke, es wird das sein, was ich für diese Aufgabe brauche.Spaltenwert nach INSERT ändern, wenn der Wert den Kriterien entspricht?
Die Struktur der Tabelle ist als solche:
ID|****|****|****|****|****|****|****|TOUROPERATOR
Die Tour Operator Code ist der Code, der uns sagt, was Unternehmen den Flug im Besitz wir für sie durchgeführt wird. Zwei dieser Codes (insgesamt 24) sind veraltet. Unsere Benutzer haben angefordert, dass diese beiden geändert werden, aber der Reiseveranstalter-Code wird aus einer Datenbank gezogen, die wir nicht kontrollieren. Die FlightData-Tabelle steuern wir jedoch. Ich dachte also, ein Auslöser könnte den Reiseveranstaltercode ändern, wenn er einer der beiden veralteten ist, und zwar zu den richtigen, bzw. wenn sie eingefügt wurden.
Also ging ich in gutes altes SQL Management Studio und fragte nach einem Trigger. Es gab mir einige Code-Beispiel und hier ist mein Pseudo-Code unten:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER ChangeProvider
ON FlightData
AFTER INSERT
AS
BEGIN
IF(TheInsertedValue == Criteria)
UPDATE FlightData
SET TheInsertedValue = NewValue
ENDIF
END
GO
Ich bin nicht so gut mit dieser Art von Datenbankprogrammierung so meine Fehler entschuldigen.
Wie würde ich das machen?
Mögliche Duplikat von [Wie kann ich Werte eines INSERT in einem Trigger bearbeiten auf SQL Server?] (Http://stackoverflow.com/questions/3580123/how-can-i-edit-values-of-an-insert-in-a-trigger-on-sql-server) –
Warum aktualisieren Sie die Tabelle nach dem Einfügen? Warum nicht den Code des Reiseveranstalters vor dem Einfügen bearbeiten und den richtigen Anbietercode eingeben? –
Da der Code aus einer Datenbank gezogen wird, kontrollieren wir nicht. Wir haben nur Sichtzugriff auf diese Datenbank, wir können sie nicht manipulieren. – OmniOwl