日期:2014-05-18  浏览次数:20381 次

请进来看下......没试过的...
sql2000的数据库里有一个表mydb.
      表里有个列名为temp   类型为int,初始值为0
      通过.net的一个aspx页面访问加1.
      但我想每天temp列最多能增加200~~如果每天增加的值大于200,就给出提示并阻止写入.不足的话就不作处理.应该如何做?就好像访问量的每天上限限制一样...

------解决方案--------------------
给mydb表创建insert触发器
------解决方案--------------------
不过最好在程序里做,否则数据库表里必须有个字段来记录修改的次数..
------解决方案--------------------
需要增加两个列分别存储当天时间以及当天 列 temp 被更新的次数,
不防设列名为,

LastUpdateDateForTempColumn

LastUpdateTimesForTempColumn


每次欲更新 temp 列的时候,
先根据当前时间 与 LastUpdateDateForTempColumn 比较,
若 LastUpdateDateForTempColumn 不是当天时间,则直接更新 (当天第一次更新),同时更新
LastUpdateTimesForTempColumn 为 1

若 LastUpdateDateForTempColumn 是当天时间,则继续判断 LastUpdateTimesForTempColumn 是否小于限定值(这里是 200 ), 若满足,直接更新 ,同时更新 LastUpdateTimesForTempColumn ,否则返回错误,或者不执行更新

至于,由应用程序还是 Trigger 处理,看自己需求以及功力,我的基本思路是这样了

Hope helpful!
LastUpdateTimesForTempColumn 为 1
------解决方案--------------------
同意楼上的

本来想增加一点的,不过想想还是不恰当。

所以还是做个专业JF的