如何在oracle中写入触发器以检查特定条件

如何在oracle中写入触发器以检查特定条件,oracle,Oracle,我有一个表名作为user\u count\u details。此表中共有3列 msisdn=为一个特定用户唯一定义行的 user\u count=存储用户计数的 last_Txn_id=存储用户已执行的Txn的最后传输id 此表user\u count\u details的user\u count列将随用户执行的每个事务而更新 但我的系统的逻辑是 select sum(user_count ) from user_count_details 将始终为我们提供0,这被视为系统处于稳定状态,一切正

我有一个表名作为user\u count\u details。此表中共有3列

  • msisdn=为一个特定用户唯一定义行的
  • user\u count=存储用户计数的
  • last_Txn_id=存储用户已执行的Txn的最后传输id
  • 此表user\u count\u details的user\u count列将随用户执行的每个事务而更新

    但我的系统的逻辑是

    select sum(user_count ) from user_count_details
    
    将始终为我们提供0,这被视为系统处于稳定状态,一切正常


    现在我想写一个触发器,当更新用户计数的新请求到来时,它将首先检查,这将妨碍总和(用户计数)=0或否,如果它妨碍msisdn细节将被捕获到单独的更新表中。

    根据您最后的评论,检查这是否有效。根据您的场景替换
    其他\u表\u名称

    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
    

    请将你的问题重新格式化为要点,很难理解你在问什么。还包括您已经编写的代码/查询,以避免出现问题。请澄清。从您对用户计数列何时设置为非零值以及如何返回到0的描述中不清楚。我以前在这种情况下使用的一种方法是设置add db trigger,它为正在调试的条件抛出异常。异常可以指向目前正在更新tablsThanks 6 ton的代码,以获得您的帮助。但是你能帮我写一个触发器,它会检查新的更新请求是否会违反sum(user\u count)列是否为0,如果不是0,它会在单独的表中插入该用户的新更新请求。如果你想要更多的细节,我可以提供。你好,尼米什和6ton,我已经更新了我的问题。