希望简单的SQL问题,用于根据另一列的值强制执行列的不变性

时间:2011-01-04 20:02:54

标签: sql-server-2008 database-integrity

我有一个包含Value列和Status列的表。

执行以下操作的最简单,最有效的方法是什么?我们的想法是将货币值输入数据库,然后有人说“最终”,之后我需要保证不会因为结算流程开始而发生变化。

  1. 新行有Status ='New'(否则失败)
  2. 只有在Status ='New'
  3. 时才能更新值
  4. 状态可以恰好一次更改为“最终”,之后整行有效只读。

1 个答案:

答案 0 :(得分:1)

触发器是强制执行此操作的最佳方式。