我试图在' 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
答案 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;
或其他。