我正致力于将SQL Server 2008 R2数据库迁移到SQL Server 2014.遇到以下触发器时遇到问题。新版本中不支持RAISEERROR
的内容。
ALTER TRIGGER [dbo].[Route_ITrig]
ON [dbo].[Route]
FOR INSERT AS
/*
* PREVENT NULL VALUES IN 'RouteName'
*/
IF (SELECT Count(*) FROM inserted WHERE RouteName IS NULL) > 0
BEGIN
RAISERROR 44444 'Field ''RouteName'' cannot contain a null value.'
ROLLBACK TRANSACTION
END
这是我遇到的错误
Msg 102,Level 15,State 1,Procedure Route_ITrig,Line 15
附近的语法不正确
' 44444'
答案 0 :(得分:1)
这是一个SQL函数,因此必须在括号中传递所有必需的变量,如下所示:
RAISERROR(44444, 'Field ', 'RouteName', ' cannot contain a null value.')