Ich möchte einen Prozess wie unten erstellen, aber er hat einen Syntaxfehler. Könnte jemand auf das Problem hinweisen?
Create PROCEDURE [dbo].[my_proc] AS
BEGIN
DISABLE TRIGGER dbo.tr_name ON dbo.table_name
-- some update statement
ENABLE TRIGGER dbo.tr_name ON dbo.table_name
END
** Error Message : Incorrect syntax near 'ENABLE'.
sql-server
triggers
Stich
quelle
quelle
DISABLE TRIGGER [dbo].[tr_name] on [schema].[table_name]
gearbeitet;
! Ich benutze lieberENABLE Trigger
. Es ist auf allen SQL Servern ab 2008 anwendbar.Die vorherige Zeile muss mit einem enden,
;
da in SQLDISABLE
kein Schlüsselwort ist . Beispielsweise:quelle
Wie Mark erwähnt hat, sollte die vorherige Aussage in einem Semikolon beendet werden. So können Sie verwenden:
quelle
Nachdem Sie in einer neuen Zeile den TRIGGER AKTIVIEREN ODER DEN TRIGGER DEAKTIVIEREN, schreiben Sie GO. Beispiel:
quelle
Unten finden Sie das dynamische Skript zum Aktivieren oder Deaktivieren der Trigger.
quelle
Wenn Sie ENABLE TRIGGER direkt von der Quelle ausführen möchten:
wir können nicht so schreiben:
Stattdessen können wir schreiben:
quelle
Unten ist der einfachste Weg
Probieren Sie den Code aus
ALTER TRIGGER trigger_name DISABLE
Das ist es :)
quelle