一个标准触发器的书写形式
create trigger trg_T1_i ON T1 FOR INSERT
AS
DECLARE @rc AS INT;
SET @rc = @@rowcount;
IF @rc = 0 RETURN;
DECLARE @keycol AS INT, @datacol AS VARCHAR(10);
IF @rc = 1 -- single row
BEGIN
SELECT @keycol = keycol, @datacol = datacol FROM inserted;
PRINT 'Handling keycol: '
+ CAST(@keycol AS VARCHAR(10))
+ ', datacol: ' + @datacol;
END
ELSE -- multi row
BEGIN
SELECT * INTO #I FROM inserted;
CREATE UNIQUE CLUSTERED INDEX idx_keycol ON #I(keycol);
SELECT @keycol = keycol, @datacol = datacol
FROM (SELECT TOP (1) keycol, datacol
FROM #I
ORDER BY keycol) AS D;
WHILE @@rowcount > 0
BEGIN
PRINT 'Handling keycol: '
+ CAST(@keycol AS VARCHAR(10))
+ ', datacol: ' + @datacol;
SELECT @keycol = keycol, @datacol = datacol
FROM (SELECT TOP (1) keycol, datacol
FROM #I
WHERE keycol > @keycol
ORDER BY keycol) AS D;
END
END
GO

浙公网安备 33010602011771号