Как скрыть результаты от триггера?
Есть ли НАБОР НОРЕСУЛТОВ НА? или подобное?
У меня вместо триггера вставки у меня есть 2 выбора, как это
SELECT * INTO #tmpFinal FROM INSERTED WHERE pID is not NULL
SELECT * INTO #tmp FROM INSERTED WHERE pID is NULL
Проблема в том, что когда я делаю INSERT, который запускает триггер в окнах результатов, я вижу результат этих 2, выбранных из триггера ...
Я хочу запретить то, что делает SET NOCOUNT ON / OFF для счетчика строк
Возможно ли это?
UPDATE
Это полный код
CREATE TRIGGER [dbo].[TR_eElementDef1Insert] ON [dbo].[eElementDef1]
INSTEAD OF INSERT
AS
BEGIN
SET NOCOUNT ON
SELECT * INTO #tmpFinal FROM INSERTED WHERE pID is not NULL
SELECT * INTO #tmp FROM INSERTED WHERE pID is NULL
DECLARE rows_cursor CURSOR FOR SELECT * FROM #tmp
OPEN rows_cursor
FETCH NEXT FROM rows_cursor
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @entDef bigint
DECLARE @pID bigint
--SET @entDef = (SELECT aDefinition FROM tDefinition WHERE cDefinition=SUBSTRING('eElementDef1',2,LEN('eElementDef1')-1))
SET @entDef=1
EXEC NewInstance 0, @entDef, @pID OUTPUT
UPDATE #tmp SET pID=@pID
INSERT INTO #tmpFinal SELECT TOP 1 * FROM #tmp
DELETE TOP(1) FROM #tmp
FETCH NEXT FROM rows_cursor
END
INSERT INTO eElementDef1 SELECT * FROM #tmpFinal
drop table #tmp
drop table #tmpFinal
CLOSE rows_cursor
DEALLOCATE rows_cursor
SET NOCOUNT OFF;
END
большая проблема в том, что pID - это мой PK
NewInstance SP выглядит следующим образом
CREATE PROCEDURE [dbo].[NewInstance]
@version bigint,
@entdef bigint,
@Identity int OUT
AS
INSERT INTO tInstanceKey (pEntityDefinition) VALUES(@entdef)
SET @Identity = SCOPE_IDENTITY()
В нем есть вставка, поэтому его нельзя преобразовать в функцию ....