After触发器附近的语法不正确

Tec*_*Guy 0 sql sql-server

我写了一个Create触发器,它向我显示了一些关于不正确的语法的错误

我的守则

CREATE  TRIGGER [dbo].[News_data] ON [dbo].[News]
AFTER INSERT
AS 
    declare @NID uniqueidentifier;
    select @NID = NEWID();


BEGIN
    SET NOCOUNT ON;

INSERT INTO [ABC].[News]( 
    @NID,
    [Name], //<-- Incorrect Syntax near [Name]
    [GeoLoc])

    SELECT
    [Name],
    [GeoLoc]
    FROM inserted

END
Run Code Online (Sandbox Code Playgroud)

Yog*_*rma 5

您的变量声明与列列表有误,如果news表具有您要引用的主列,@NID则使用该列名称:

INSERT INTO [dbo].[News] (PK, [Name], [GeoLoc])
    SELECT @NID, [Name], [GeoLoc]
    FROM inserted
Run Code Online (Sandbox Code Playgroud)