多行SPLIT xml,用于RAISERROR插入触发器

时间:2014-07-29 14:48:21

标签: sql-server xml triggers

我的insert触发器中的以下代码返回单行中的值。如果用户一次输入1-10行,那么这很好,但是如果他们输入100,则raiserror输出变得太长而无法读取。请问最佳解决方案是什么?

TRIGGER CODE:

 DECLARE @level_name nvarchar(MAX) =
            (
            SELECT concat ([S_ID],'-', [l_NAME], '-')
             + '  '
            FROM inserted ic 
            where not EXISTS (SELECT 1 FROM [dbo].[LEVELS] c 
                  WHERE ic.[geo]=c.[GEO] and c.level_name=ic.[l_NAME] 
                            )
            FOR XML PATH('')
             );

        IF @level_name IS NOT NULL
            BEGIN
                RAISERROR('level name not found: %s', 16, 1, @level_name) with log;
            END;

输出:

100-A2001 101-A2001 102-A2001 .......

1 个答案:

答案 0 :(得分:0)

如果在每个级别后添加新行怎么办?