多行带条件的触发器?

yrdbyhpb  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(186)

我目前正在我的模式的表上实现一些触发器,以确保导入数据的质量。
更具体地说,一列(我们称之为 fraction )应该只包含百分比,即介于0和1之间的值,但有时可能略高于1。
问题是,在原始数据文件中,这些值用百分比表示,即80%表示为0.8,等等。
因此,数据库的一些用户有可能以错误的数量级导入数据,即导入70或80而不是0.7或0.8。
为了防止出现这种情况,我选择了以下标准:如果用户尝试导入的所有行的平均值大于2,我希望软件得出结论,用户导入的是百分比而不是小数,从而通过将所有新值除以100来纠正此错误。
以下 BEFORE INSERT 触发器检查每行的值是否大于2,如果大于2,则将值除以100:

CREATE DEFINER=`admin`@`localhost` TRIGGER `myschema`.`percentage_trigger` BEFORE INSERT ON `mytable` FOR EACH ROW
BEGIN
     IF NEW.fraction > 2
     THEN 
          SET NEW.fraction = NEW.fraction/100 ;
     END IF;
END

但我的问题是:如何让一个标准听起来像“所有新值的平均值大于2”而不是“这个值大于2”?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题