EDIT: Ich fand später heraus, es ist nicht notwendig, die Existenz von Tabellen, Trigger usw. zu überprüfen, wenn Sie Visual Studio DB-Projekte verwenden.Erstellen einer Triggeranweisung in einer IF OBJECT_ID ('TableName', 'U'): Falsche Syntax in der Nähe von 'BEGIN'. EXTERN erwartet
Wie kann ich einen Trigger erstellen? Der folgende Fehler gibt mir den folgenden Fehler:
IF OBJECT_ID('SomeSchema.tableName', 'U') IS NOT NULL
BEGIN
CREATE TABLE SomeSchema.tableName (...
);
END
GO
IF OBJECT_ID('SomeSchema.tableName', 'U') IS NOT NULL
BEGIN
CREATE TRIGGER [SomeSchema].[triggername]
ON [SomeSchema].[tableName]
FOR UPDATE
AS
BEGIN
IF @@ROWCOUNT = 0 RETURN
SET NOCOUNT ON
UPDATE SomeSchema.tableName
SET SomeColumn = GETUTCDATE(),
OtherColumn = HOST_NAME()
FROM SomeSchema.SomeTable INNER JOIN INSERTED ON INSERTED.ID =
SomeSchema.SomeTable.Id
END
END
Error:
SQL80001: Incorrect syntax near 'BEGIN'. Expecting EXTERNAL.
Dies ist in einem visuellen Studio-Datenbank-Projekt. Nein, das ist kein Clr-Trigger. Es gibt mir nur diesen Fehler, wenn der Create-Trigger innerhalb einer if-Anweisung ist.
ist dies ein clr Trigger, bitte – TheGameiswar
gesamten Code googeln der Fehlertext zeigte mindestens 2 verschiedene Gründe für diesen Fehler posten. Wir müssen mehr Code sehen. –
Das Problem ist in einem der 4 Punkte zwischen dem Beginn Ende. Für detailliertere Informationen müssen Sie die Punkte heranziehen, damit wir lesen können, was in ihnen ist. – GuidoG