我试图在将行插入数据库后触发触发器。该应用程序在禁用触发器的情况下可以正常运行,但是启用该功能后,该行将永远不会插入(从应用程序中)到数据库中,并且触发器不会触发存储过程。
AFTER INSERT
是否应触发触发器AFTER
数据库表行已插入?
ALTER TRIGGER [dbo].[trSendException]
ON [dbo].[Logs]
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
EXEC dbo.EmailExceptionAlerts
END
从应用程序向数据库中插入一行后,我需要触发器来执行存储过程。
答案 0 :(得分:0)
我在执行初始存储过程的应用程序中的方法中使用了try catch块(如建议的那样)来插入一行并得到异常:对对象'sp_send_dbmail',数据库'msdb'的EXECUTE权限被拒绝,架构“ dbo”。然后,我为用户授予了对msdb的访问权限,并在用户映射的用户映射下选中了DatabaseMailUserRole的选项,以供用户登录。现在可以正常工作了。谢谢!