Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过使用SQL Server执行查询,在一行中创建两个或多个触发器_Sql_Sql Server - Fatal编程技术网

通过使用SQL Server执行查询,在一行中创建两个或多个触发器

通过使用SQL Server执行查询,在一行中创建两个或多个触发器,sql,sql-server,Sql,Sql Server,通过使用SQL Server执行查询来在一行中创建两个或多个触发器,哪种语法正确 我尝试了以下方法: GO CREATE TRIGGER TRG_MyTable_UpdatedAt ON dbo.MyTable AFTER UPDATE AS UPDATE dbo.MyTable SET UpdatedAt = GETDATE() WHERE ID IN (SELECT DISTINCT ID FROM Inserted) END GO CREATE TRIGGER T

通过使用SQL Server执行查询来在一行中创建两个或多个触发器,哪种语法正确

我尝试了以下方法:

GO
CREATE TRIGGER TRG_MyTable_UpdatedAt
ON dbo.MyTable
AFTER UPDATE
AS
    UPDATE dbo.MyTable
    SET UpdatedAt = GETDATE()
    WHERE ID IN (SELECT DISTINCT ID FROM Inserted)
END

GO
CREATE TRIGGER TRG_MyTable_CreatedAt
ON dbo.MyTable
AFTER INSERT
AS
    UPDATE dbo.MyTable
    SET CreatedAt = GETDATE()
    WHERE ID IN (SELECT DISTINCT ID FROM Inserted)
END

但是它返回一个错误:
靠近“END”的语法不正确。

您缺少匹配的BEGIN,因此错误接近END。比如,

CREATE TRIGGER TRG_MyTable_UpdatedAt
ON dbo.MyTable
AFTER UPDATE
AS
BEGIN
    UPDATE dbo.MyTable
    SET UpdatedAt = GETDATE()
    WHERE ID IN (SELECT DISTINCT ID FROM Inserted)
END
GO 
CREATE TRIGGER TRG_MyTable_CreatedAt
ON dbo.MyTable
AFTER INSERT
AS
BEGIN
    UPDATE dbo.MyTable
    SET CreatedAt = GETDATE()
    WHERE ID IN (SELECT DISTINCT ID FROM Inserted)
END

GO
CREATE TRIGGER TRG_MyTable_UpdatedAt
ON dbo.MyTable
AFTER UPDATE
AS
BEGIN
    UPDATE dbo.MyTable
    SET UpdatedAt = GETDATE()
    WHERE ID IN (SELECT DISTINCT ID FROM Inserted)
END

您缺少匹配的开始,因此错误接近结束。比如,

CREATE TRIGGER TRG_MyTable_UpdatedAt
ON dbo.MyTable
AFTER UPDATE
AS
BEGIN
    UPDATE dbo.MyTable
    SET UpdatedAt = GETDATE()
    WHERE ID IN (SELECT DISTINCT ID FROM Inserted)
END

您缺少匹配的开始,因此错误接近结束。比如,

CREATE TRIGGER TRG_MyTable_UpdatedAt
ON dbo.MyTable
AFTER UPDATE
AS
BEGIN
    UPDATE dbo.MyTable
    SET UpdatedAt = GETDATE()
    WHERE ID IN (SELECT DISTINCT ID FROM Inserted)
END

您缺少匹配的开始,因此错误接近结束。比如,

CREATE TRIGGER TRG_MyTable_UpdatedAt
ON dbo.MyTable
AFTER UPDATE
AS
BEGIN
    UPDATE dbo.MyTable
    SET UpdatedAt = GETDATE()
    WHERE ID IN (SELECT DISTINCT ID FROM Inserted)
END

你忘了写“开始”

CREATE TRIGGER TRG_MyTable_UpdatedAt
ON dbo.MyTable
AFTER UPDATE
AS
Begin
    UPDATE dbo.MyTable
    SET UpdatedAt = GETDATE()
    WHERE ID IN (SELECT DISTINCT ID FROM Inserted)
END

GO
CREATE TRIGGER TRG_MyTable_CreatedAt
ON dbo.MyTable
AFTER INSERT
AS
Begin
    UPDATE dbo.MyTable
    SET CreatedAt = GETDATE()
    WHERE ID IN (SELECT DISTINCT ID FROM Inserted)
END
GO

你忘了写“开始”

CREATE TRIGGER TRG_MyTable_UpdatedAt
ON dbo.MyTable
AFTER UPDATE
AS
Begin
    UPDATE dbo.MyTable
    SET UpdatedAt = GETDATE()
    WHERE ID IN (SELECT DISTINCT ID FROM Inserted)
END

GO
CREATE TRIGGER TRG_MyTable_CreatedAt
ON dbo.MyTable
AFTER INSERT
AS
Begin
    UPDATE dbo.MyTable
    SET CreatedAt = GETDATE()
    WHERE ID IN (SELECT DISTINCT ID FROM Inserted)
END
GO

你忘了写“开始”

CREATE TRIGGER TRG_MyTable_UpdatedAt
ON dbo.MyTable
AFTER UPDATE
AS
Begin
    UPDATE dbo.MyTable
    SET UpdatedAt = GETDATE()
    WHERE ID IN (SELECT DISTINCT ID FROM Inserted)
END

GO
CREATE TRIGGER TRG_MyTable_CreatedAt
ON dbo.MyTable
AFTER INSERT
AS
Begin
    UPDATE dbo.MyTable
    SET CreatedAt = GETDATE()
    WHERE ID IN (SELECT DISTINCT ID FROM Inserted)
END
GO

你忘了写“开始”

CREATE TRIGGER TRG_MyTable_UpdatedAt
ON dbo.MyTable
AFTER UPDATE
AS
Begin
    UPDATE dbo.MyTable
    SET UpdatedAt = GETDATE()
    WHERE ID IN (SELECT DISTINCT ID FROM Inserted)
END

GO
CREATE TRIGGER TRG_MyTable_CreatedAt
ON dbo.MyTable
AFTER INSERT
AS
Begin
    UPDATE dbo.MyTable
    SET CreatedAt = GETDATE()
    WHERE ID IN (SELECT DISTINCT ID FROM Inserted)
END
GO