尝试编写测试触发器,但显然存在语法错误。
我的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
关键字' CHECK'附近的语法不正确。
我尝试过几种不同的格式,但没有找到金票。有什么建议? CP_CHECK
表格包含ID
,CHECK
,updated_at
和created_at
列。
答案 0 :(得分:2)
将语句写为
CP_CHECK (`CHECK`) VALUES ('Y');
保留关键字是保留的,所以你需要以某种方式逃避它。
<强> - 编辑 - 强>
正如@GurV指出的那样,自SQL Server以来,您可以使用方括号[]
来转义关键字CHECK
,如
CP_CHECK ([CHECK]) VALUES ('Y');