2009-12-30 47 views
0

我有一个数据库已分区到各种yyyymmdd聚合视图。每个分区视图中都有一列称为速度。如果今天的速度值大于昨天,是否有办法主动监视分区视图中的速度值,并与前一天的最大值进行比较并插入另一个表中?在视图中动态监视SQL列值的最佳方法?

+0

什么数据库,你能提供示例数据和预期输出吗? – 2009-12-30 07:21:13

+0

您的唯一工具(从数据库中)做这种事情是触发器。触发器是非常依赖平台的,所以这会影响你的选择。您可能还想考虑您是否不希望进行有效的查询,以根据需要从源数据中提取所需的结果集。使用触发器将派生数据添加到另一个表是重复的,您必须根据对源表的更改来维护该数据 - 这往往容易出错。 – 2009-12-30 09:21:05

回答

2

如果您正在寻找所有使用SQL的数据库平台的通用解决方案,那么答案是否定的,至少不在数据库中。

但是,大多数数据库都有触发机制。他们是否支持视图取决于您正在使用的数据库。 SQL Server,例如,does allow triggers on views

如果您愿意使用特定于数据库的解决方案,那么这是我建议首先向下看的方向。

对于所有数据库的一般解决方案,您必须依赖应用程序代码,定期轮询该值,然后在执行操作之前将其与您的条件进行比较。

相关问题