湖中仙人 2023-04-06 08:38 采纳率: 11.8%
浏览 13

监控向表TEST插入特殊记录的存储过程

有张表TEST;里面的字段cola出现了负数的特殊记录,我想找到是那个存储过程插入的;现在要通过触发器实现,在触发器里面如何获取对应的存储过程名称?

  • 写回答

3条回答 默认 最新

  • 湖中仙人 2023-04-06 10:01
    关注

    我刚才写了个触发器如下test_insert,还有个存储过程 testinsert20230406JK,但是在下面的@procname中每次都是获取到的为触发器名test_insert,而不是存储过程的名称,这个应该如何修改

    ALTER TRIGGER [dbo].[test_insert]
       ON  [dbo].[Test]
       AFTER insert
    AS 
    BEGIN
        -- SET NOCOUNT ON added to prevent extra result sets from
        -- interfering with SELECT statements.
        SET NOCOUNT ON;
        declare @colval int
        declare @procname nvarchar(100)=''
        select @colval=s.colval from inserted s ;
        SELECT @procname=OBJECT_NAME(@@PROCID) ;
        if(@colval>10)
        begin
          insert into TestLog(logval,logprocename)
          values(@colval,@procname)
        end
    
    END
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 4月6日