Мне по курсовику надо написать много триггеров для MSSQL Server 2005 EE. Начал с самого простого, но не получается. Есть табличка:
Код:
CREATE TABLE [dbo].[articles](
[iid] [int] IDENTITY(1,1) NOT NULL,
[name] [varchar](50) COLLATE Cyrillic_General_CI_AS NULL,
(
А триггер такой написал:
Код:
CREATE TRIGGER trigger1 ON dbo.articles
AFTER INSERT
AS
DECLARE @article_id int
select @article_id = 0
SELECT TOP 1 @article_id = A.iid FROM dbo.articles A, inserted i WHERE A.name = i.name
IF @article_id > 0
BEGIN
RAISERROR ('MyError', 16,1)
ROLLBACK TRANSACTION
END
GO
Чтоб одинаковые строки не добавлять. Он срабатывает теперь для любого инсерта.