如何在oracle中编写触发器来检查一个特定的条件

时间:2015-07-14 15:16:38

标签: oracle

我有一个表名为user_count_details。此表中共有3列。

  1. msisdn =为一个特定用户唯一定义行
  2. user_count =存储用户数。
  3. last_Txn_id =存储用户已执行的txn的最后一次传输ID。
  4. 此表user_count_details的user_count列将随用户执行的每个事务进行更新。

    但是我的系统的逻辑是

    select sum(user_count ) from user_count_details
    

    总是给我们0,它被认为是系统处于稳定状态,一切都很好。

    现在我想写一个触发器,它将在更新user_count的新请求到来时首先检查,是否会妨碍总和(user_count)= 0,如果它妨碍msisdn详细信息将被捕获在单独的更新表中。

1 个答案:

答案 0 :(得分:0)

根据您上次的评论,检查一下是否有效。根据您的情况替换other_table_name

CREATE TRIGGER trgCheck_user_sum
  BEFORE INSERT
     ON user_count_details FOR EACH ROW
  BEGIN      
      IF (select sum(user_count) from user_count_details) > 0 THEN
          insert into other_table_name(msisdn) values(new.msisdn)
      END IF
END