首页 » SQL Server » sql server trigger Solve a problem
sql server trigger Solve a problem
业务的上的要求当然可以从程序或后台控制,如果老程序的代码没有,开发的人又已离开,这对于后来管理来说就是噩梦
今天有个系统sql server数据库,要控制数据的录入(一个时间段内只允许填第一志愿),所以其它的应该禁止,开发的走了,表只能一个个拿来看,还好sql sql 用事件跟踪器,前台修改后台捕捉sql,减少一部份时间,才找到了那个表
create table test (username varchar,wishid int,hpid varchar)
人员-志愿ID-志愿所报单位ID
insert into test(wishid,hpid) values(1,1101)
insert into test(wishid,hpid) values(2,1121)
insert into test(wishid,hpid) values(3,2322)
制作测试数据
要求:只允许填第一志愿(wishid=1)
解决:下面建个trigger
create trigger tri_wish_val on test for update as begin declare @plid int declare @php varchar select @plid = wishid,@php=hpid from inserted if(@plid!=1 and @php!='') begin RAISERROR ('sorry,这段时间不允许填第一志愿以外的!', 10, 1) ROLLBACK TRANSACTION end end
可能不太完美,希望可以解决,sql server的trigger语法和oracle 区别还是瞒大的
目前这篇文章有1条评论(Rss)评论关闭。