业务的上的要求当然可以从程序或后台控制,如果老程序的代码没有,开发的人又已离开,这对于后来管理来说就是噩梦
今天有个系统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
可能不太完美,希望可以解决,sql server的trigger语法和oracle 区别还是瞒大的
今天有个系统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 区别还是瞒大的
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




