Я хочу создать триггер, который не выполняет вставку, если в таблице уже существует вставка для столбца 2, а значение для столбца 1 в таблице отличается от значения, введенного для столбца 1 . Я сделалтриггер с условием выбора
create trigger tr1
on dbo.table
after insert, update
as
begin
declare @col1 varchar(20)
declare @col2 varchar(20)
if (
exists(
select column2 from table
where column2='@col2'
)
and @col1 <> select column1 from table
where column2='@col2'
)
begin
RAISERROR('Error', 16, 1);
ROLLBACK
end
end
Посмотрите на 'ВМЕСТО OF' вставки триггеров. Вот хороший пример http://stackoverflow.com/questions/15372794/simple-t-sql-instead-of-trigger – adrianm