我在 SQL Server 2005 中有以下查询:
DECLARE @issueid numeric(10,0)
DECLARE @domain nvarchar (255)
SET @issueid = (SELECT issueid FROM issues WHERE issueid = 4850)
SET @domain = (SELECT fielddata FROM customfielddata WHERE issueid = @issueid AND customfieldid = 99)
PRINT CONVERT(NVARCHAR, @issueid) + ': ' + @domain
它按预期输出结果:
4850: www.domain.com
当我在触发器中有相同的查询时,它会@issueid
在第一列中正确插入值,而NULL
不是@section_name
在第二列中:
CREATE TRIGGER trigger_website_sections
ON gemini_issues
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
IF (SELECT issuetypeid FROM inserted) = 58 BEGIN
DECLARE @issueid numeric(10,0)
DECLARE @domain nvarchar (255)
SET @issueid = (SELECT issueid FROM inserted)
SET @domain = (SELECT fielddata FROM customfielddata WHERE issueid = @issueid AND customfieldid = 99)
INSERT INTO website_sections VALUES (@issueid, @domain);
END
END
有人可以帮忙找出原因吗?