create trigger tr_name on A for insert as begin if exists(select 1 from inserted where content like '%A%') rollback end
if object_id('a') is not null drop table a go create table a ( id int, content varchar(10) ) go if object_id('tr_a_insert') is not null drop trigger tr_a_insert go create trigger tr_a_insert on a for insert as if exists(select 1 from inserted where content like '%abc%') rollback go insert into a select 1,'123' insert into a select 2,'6abc6' select * from a /* id content ----------- ---------- 1 123(1 行受影响)*/
create trigger test on a for insert as if exists(select 1 from inserted where content like '%abc%') rollback go
insert into a select 1,'123' insert into a select 2,'6abc6' insert into a select 3,'1231212' 这样的话,最后一条也插入不进去的
create trigger tr_name on A for insert as begin if exists(select 1 from inserted where content like '%ABC%') rollback end
能改下这个触发器,让不包含ABC的插入进去,不包含的排除在外面吗。有这样的办法吗?
看有办法让不包含 ABC 内容的 插入成功,不包括的排除在外面吗?
看有办法让不包含 ABC 内容的 插入成功,不包括的排除在外面吗?
create trigger test on a for insert as if exists(select 1 from inserted where content like '%abc%') rollback else insert into a(content) select @content go
for insert
as
begin
if exists(select 1 from inserted where content like '%A%')
rollback
end
if object_id('a') is not null
drop table a
go
create table a
(
id int,
content varchar(10)
)
go
if object_id('tr_a_insert') is not null
drop trigger tr_a_insert
go
create trigger tr_a_insert on a
for insert
as
if exists(select 1 from inserted where content like '%abc%')
rollback
go
insert into a select 1,'123'
insert into a select 2,'6abc6'
select * from a
/*
id content
----------- ----------
1 123(1 行受影响)*/
for insert
as
if exists(select 1 from inserted where content like '%abc%')
rollback
go
insert into a select 2,'6abc6'
insert into a select 3,'1231212'
这样的话,最后一条也插入不进去的
for insert
as
begin
if exists(select 1 from inserted where content like '%ABC%')
rollback
end
for insert
as
if exists(select 1 from inserted where content like '%abc%')
rollback
else
insert into a(content) select @content
go