2009-05-07 12 views
1

In SQL Server, was sind Instead Of Auslöser?Was sind "anstelle von" Auslösern?

+1

was? Was sind die Auslöser? –

+0

Sie wissen, dass SQL Server mit einem umfangreichen Hilfesystem ausgeliefert wird, auf das Sie durch Drücken von F1 zugreifen können, nicht wahr? Probieren Sie es aus und Sie sparen Zeit. – Sam

+0

Wow, das war eine schlechte Interpunktion und Satzbildung. – Sam

Antwort

6

Von Database Journal:

Was sind "anstelle von" Trigger?

In früheren Versionen von SQL Server, Trigger waren Codeabschnitte, dass Tabellen angebracht wurden und ausgeführt automatisch nach vordefinierten Updates erfolgte auf einem bestimmten Tisch. Diese existieren natürlich noch in SQL Server 2000 und höher. anstelle von Triggern werden in ähnlicher Weise zu einem Tisch befestigt, aber der Code in sie ist anstelle von die ursprünglichen Aktualisierung Anweisung ausgeführt.

+6

Ihr Google-Fu ist stark. +1 – ichiban

+1

Und niemand erkannte, dass es eine schlechte Idee war, sie so zu benennen? – sth

1

Statt Auslöser sind eigentlich sehr cool. In der Vergangenheit habe ich anstelle von Triggern auf eine 'schreibgeschützte' Ansicht verwendet, damit sie sich wie eine Tabelle verhält.

Das ist eigentlich sehr cool.

Sie können diese Trigger sogar in .NET schreiben, wenn T-SQL nicht zu Ihren Stärken gehört.

0

Auslöser werden grundsätzlich verwendet, um Business-Einschränkungen zu erzwingen. Die Business-Einschränkungen können in der folgenden Reihenfolge implementiert werden: Entitätsintegrität (Primärer/Eindeutiger Schlüssel), Domänenintegrität (Check-Integritätsregel), referenzielle Integrität (Fremdschlüssel) und schließlich Trigger.Trigger werden verwendet, um Geschäftsbeschränkungen zu erzwingen, die komplex sind.

Trigger sind wie gespeicherte Prozeduren, die basierend auf der Datenmanipulationsaktion automatisch ausgeführt werden. "Statt Trigger" werden verwendet, um Datenmanipulationen zu handhaben, die wir selbst behandeln wollen. Anstatt INSERT, UPDATE, DELETE sind auf einer Tabelle geschrieben, um die Daten zu studieren und die notwendigen Maßnahmen selbst zu ergreifen.

Eg. Wenn Sie nicht möchten, dass DELETE in der Tabelle vorkommt, und Benutzer überwachen möchten, die versuchen, Daten in der Tabelle zu löschen. Wir können INSTEAD OF TRIGGER schreiben und die currentuser Informationen in die Audit-Tabelle schreiben.

Eg. Wenn Sie benutzerdefinierte Nachrichten für eine Benutzeraktion ausgeben möchten. Wenn in einem Prüfungszeitplan ein Benutzer versucht, am Wochenende eine Prüfung abzulegen, können wir eine benutzerdefinierte Nachricht mit dem Inhalt "Es ist Wochenende.Aufnehmen"

z. Wenn wir eine Sicht auf mehrere Tabellen definiert haben und ein Insert darauf versucht wird, können wir anstelle des Triggers den entsprechenden Insert in den Basistabellen ausführen.

Verwandte Themen