Update-Trigger in SQL Server 2008
Habe ich eine Sicht in SQL server 2008, das aus der Verbindung von über 5 verschiedene Tabellen für den Zugriff auf die Daten, die ich brauche.
Wie würde ich ein update-trigger zum aktualisieren eines Feldes innerhalb dieser Ansicht? So zum Beispiel, wenn ich wollte zu aktualisieren, alle Vornamen peter, wenn der Nachname ist smith.
If Fname = peter
update Sname to Smith
end if
Vielen Dank im Voraus
UPDATE
dies ist, was ich bisher
CREATE TRIGGER SurName
ON ViewCustomer
AFTER UPDATE
AS
if FName= 'Peter'
BEGIN
update ViewCustomer set SName= 'Smith'
SET NOCOUNT ON;
END
GO
Was habt Ihr bisher ausprobiert und was bestimmtes problem haben Sie? Haben Sie gelesen, was die Dokumentation sagt zum erstellen von Trigger auf views?
hi Pondlife habe ich aktualisiert meine Frage mit dem code habe ich versucht, aber es zeigt eine Fehlermeldung, die es finden kann meine Ansicht", ViewCustomer'. "Das Objekt 'ViewCustomer' existiert nicht oder ist ungültig für diesen Vorgang."
Können Sie uns zeigen, anzeigen
Sie müssen die Verwendung eines instead of-triggers und die Aktualisierung der zugrunde liegenden Tabellen in Abhängigkeit von den Zeilen in die virtuellen Tabellen "inserted" und "deleted"
Wie ich schon sagte, haben Sie gelesen, was die Dokumentation sagt über das hinzufügen von Triggern, sichten? Es besagt eindeutig, dass nur
hi Pondlife habe ich aktualisiert meine Frage mit dem code habe ich versucht, aber es zeigt eine Fehlermeldung, die es finden kann meine Ansicht", ViewCustomer'. "Das Objekt 'ViewCustomer' existiert nicht oder ist ungültig für diesen Vorgang."
Können Sie uns zeigen, anzeigen
ViewCustomer
?Sie müssen die Verwendung eines instead of-triggers und die Aktualisierung der zugrunde liegenden Tabellen in Abhängigkeit von den Zeilen in die virtuellen Tabellen "inserted" und "deleted"
Wie ich schon sagte, haben Sie gelesen, was die Dokumentation sagt über das hinzufügen von Triggern, sichten? Es besagt eindeutig, dass nur
INSTEAD OF
Trigger erstellt werden können, auf Ansichten, so sollten Sie nicht erwarten, eine AFTER
trigger zu arbeiten. Was passiert, wenn Sie wieder schreiben Sie Ihre trigger als INSTEAD OF
auslösen? Haben Sie auch gelesen, was die Dokumentation sagen zu aktualisierbaren sichten?InformationsquelleAutor Annoscia | 2012-11-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser sollte den job tun.
Tabellen-und view-Definitionen.
Trigger-definition.
Sample-Daten
Diesem update wird die Ursache der Auslöser zum aktualisieren des SName, 'Smith'
Hier ist ein SQLFiddle.
InformationsquelleAutor ShyJ
Erstellen Sie einen INSTEAD OF-trigger für views. Sie können überprüfen auf:
http://msdn.microsoft.com/en-us/library/ms188601.aspx
InformationsquelleAutor vkamayiannis