假如你的表Table_name有一个字段叫做status,你希望这个字段在更新的时候不能为负数,并且更新的时候如果这个字段是负数,自动更新为0,那么你可以看一下下面这段代码哦。
创建触发器。新建查询,复制以下代码,按照自己的需要修改一下代码。
if exists(select * from sysobjects where name='tg_update_status') -- 查询数据库是否存在触发器tg_update_status,如果存在,则删除
drop trigger tg_update_status
go
create trigger tg_update_status -- 创建触发器tg_update_status,名称可以自己改
on Table_name -- 改成你的表名
for update -- 在数据库执行更新的时候触发
as
declare @id int --把id改成你这个表里的标识列的列名,如果类型不一样的话,把int类型也改一下。。
select @id = id from inserted
if((select status from inserted where id = @id)<0)
update Table_name set status=0 where id = @id