SQL Management Studio中的触发器无法正常工作

时间:2016-03-02 09:35:08

标签: sql sql-server ssms

我试图在' CabecDoc'中创建一个触发器。表格,以便它为“测试”添加一个字段。表(该字段为' Artigo')。

我认为这个触发器可以解决问题,但它并没有!它什么都不做!它不会在我的测试'上创建任何记录。表。你能帮忙吗?

USE [PRICLONEPRJ]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE TRIGGER [dbo].[CriarContrato] 
   ON  [dbo].[CabecDoc] 
   AFTER INSERT
AS 
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    set ansi_warnings on 
    set ansi_nulls on
    SET NOCOUNT ON;

    INSERT INTO Test (Artigo)
    select LinhasDoc.Artigo
    from inserted   INNER JOIN
                  LinhasDoc ON inserted.Id = LinhasDoc.IdCabecDoc 

END

1 个答案:

答案 0 :(得分:2)

  

有没有办法在SMSS中调试此代码?

尝试插入此行

EXEC xp_logevent 60000, 'CriarContrato works', informational;
触发器身体的开始。然后你应该在SSMS中看到这个日志 - 对象资源管理器 - 管理 - Sql Server日志 - 当前

如果有效,可以在INSERT后添加:

declare @log varchar(2048) = CONCAT('CriarContrato inserted ', @@ROWCOUNT, ' rows');
EXEC xp_logevent 60000, @log, informational;

或其他。