1
我想问为什么(尝试捕获)不能正确工作,因为何时是人为错误2触发器显示问题。不要询问表人和表人2之间的差异,这只是示例问题。尝试捕获不正常T-SQL
CREATE TRIGGER Example
ON Person
after INSERT
AS
BEGIN TRY
INSERT INTO [Person2]
SELECT
inserted.Name,
inserted.Surname,
inserted.Age,
inserted.Street
FROM inserted
END TRY
BEGIN CATCH
END CATCH
插入工作正确的,如果触发delated
INSERT INTO Person
Values
('Jhon', 'Kowalsky', '12', null)
错误
(0行(S)的影响)
消息3616,级别16,状态1,行1在执行触发器 期间发生错误。该批次已被中止,并且用户事务(如果有 any)已被回滚。
表的人 - 在这里你可以看到人与人2街之间的一个区别允许空值
表2个人 - 在这里你可以看到人和人的2个街道没有按”之间的一个区别牛逼允许空值
'XACT_ABORT'隐含在内部触发器上。 –
@Martin Smith你能写这个答案吗?因为现在工作正确。感谢您的帮助。 –