SQL 插入触发器的语法无效
SQL invalid syntax for insert in a trigger
正在尝试编写测试触发器,但显然存在语法错误。
我的SQL:
CREATE TRIGGER [dbo].[TR_TRIGGER_TEST]
ON [dbo].[CP_TEST]
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO CP_CHECK (CHECK) VALUES ('Y');
END
GO
我收到此错误:
Msg 156, Level 15, State 1, Procedure TR_TRIGGER_TEST, Line 7
Incorrect syntax near the keyword 'CHECK'.
我试过用几种不同的方式格式化它,但没有找到金票。有什么建议么? CP_CHECK
table 包含 ID
、CHECK
、updated_at
和 created_at
列。
将语句写成
CP_CHECK (`CHECK`) VALUES ('Y');
CHECK 是保留关键字,因此您需要以某种方式对其进行转义。
--编辑--
正如@GurV 所指出的,由于其 SQL 服务器,您可以使用方括号 []
来转义关键字 CHECK
like
CP_CHECK ([CHECK]) VALUES ('Y');
正在尝试编写测试触发器,但显然存在语法错误。
我的SQL:
CREATE TRIGGER [dbo].[TR_TRIGGER_TEST]
ON [dbo].[CP_TEST]
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO CP_CHECK (CHECK) VALUES ('Y');
END
GO
我收到此错误:
Msg 156, Level 15, State 1, Procedure TR_TRIGGER_TEST, Line 7
Incorrect syntax near the keyword 'CHECK'.
我试过用几种不同的方式格式化它,但没有找到金票。有什么建议么? CP_CHECK
table 包含 ID
、CHECK
、updated_at
和 created_at
列。
将语句写成
CP_CHECK (`CHECK`) VALUES ('Y');
CHECK 是保留关键字,因此您需要以某种方式对其进行转义。
--编辑--
正如@GurV 所指出的,由于其 SQL 服务器,您可以使用方括号 []
来转义关键字 CHECK
like
CP_CHECK ([CHECK]) VALUES ('Y');