在表上绑一个inserted of 触发器 create trigger triggername on table instead of delete as begin ..... end go
select * from ta /* Type ----- 1,2 3,4 1,2,3(所影响的行数为 3 行)*/create trigger triggername on ta instead of delete as begin RAISERROR ('你企图删除表ta 中的 %d 条记录,根据业务规则,是不允许的.', 16, 1, @@rowcount) ROLLBACK TRANSACTIONend godelete from ta/*服务器: 消息 50000,级别 16,状态 1,过程 triggername,行 6 你企图删除表ta 中的 3 条记录,根据业务规则,是不允许的. */ select * from ta /* Type ----- 1,2 3,4 1,2,3(所影响的行数为 3 行)*/
楼主不知道这儿是mssql ? --try :CREATE TRIGGER t_del BEFORE DELETE ON ta FOR EACH ROW BEGIN rollback; END;// delimiter ;
create trigger triggername
on table
instead of delete
as
begin
.....
end
go
/*
Type
-----
1,2
3,4
1,2,3(所影响的行数为 3 行)*/create trigger triggername
on ta
instead of delete
as
begin
RAISERROR ('你企图删除表ta 中的 %d 条记录,根据业务规则,是不允许的.',
16, 1, @@rowcount)
ROLLBACK TRANSACTIONend
godelete from ta/*服务器: 消息 50000,级别 16,状态 1,过程 triggername,行 6
你企图删除表ta 中的 3 条记录,根据业务规则,是不允许的.
*/
select * from ta
/*
Type
-----
1,2
3,4
1,2,3(所影响的行数为 3 行)*/
--try :CREATE TRIGGER t_del BEFORE DELETE ON ta
FOR EACH ROW
BEGIN
rollback;
END;//
delimiter ;