SET NOCOUNT ON; USE tempdb; GO IF OBJECT_ID('dbo.T1') IS NOT NULL DROP TABLE dbo.T1; GO CREATE TABLE dbo.T1 ( id INT NOT NULL PRIMARY KEY, colSt VARCHAR(10) NOT NULL ); GO IF OBJECT_ID ('trig_T1_1', 'TR') IS NOT NULL DROP TRIGGER trig_T1_1 GO CREATE TRIGGER trig_T1_1 ON T1 AFTER INSERT, UPDATE AS DECLARE @n int; SET @n = @@rowcount; print(@n) --DECLARE @c VARCHAR(90); --SET @c = 'Tabulka T1 zmenena pomocou Insert alebo Update. Pocet ovplyvnenych riadkov je = '; -- pozri @c --IF @n=0 SET @c = @c + Cast(0 AS CHAR(10)) -- !!! bez tohto test a) odhali nespravne hlasenie --ELSE SET @c = @c + Cast(@n AS CHAR(10)); --RAISERROR (@c, 11, 1) -- cervena farba je od 11 GO ---- ---- Tri testy na trig_T1_1 trigger: ---- ---- ---- a) 0 riadok: ---- INSERT INTO dbo.T1 SELECT 1, 'A' WHERE 1 = 0; GO SELECT * FROM T1; ---- ---- b) 1 riadok: ---- INSERT INTO dbo.T1 SELECT 1, 'A'; SELECT * FROM T1; ---- ---- c) Viac riadkov: ---- INSERT INTO dbo.T1 SELECT 2, 'B' UNION ALL SELECT 3, 'C' UNION ALL SELECT 4, 'D'; GO SELECT * FROM T1; ---- ---- d) Update: ---- UPDATE dbo.T1 SET id = id + 10, colST = 'DDDD' WHERE id >= 3; SELECT * FROM T1; GO ------------------------------------------------------------- -- Koniec. -------------------------------------------------------------