PLSQL触发器引发应用程序错误不起作用

时间:2019-04-23 09:34:40

标签: oracle plsql triggers

我正在尝试创建一个触发器,如果​​总行数超过10,则会引发错误。plsql代码已成功编译,但未生成任何错误。 这是plsql代码:

SQL> CREATE OR REPLACE TRIGGER customer_count_check
  2  BEFORE INSERT OR UPDATE ON customer2
  3  FOR EACH ROW
  4  DECLARE
  5  count_customer NUMBER;
  6  max_customer NUMBER := 10;
  7  BEGIN
  8  SELECT COUNT(*) INTO count_customer FROM customer2 WHERE cusid = :new.cusid;
  9  IF count_customer >= max_customer THEN
 10  RAISE_APPLICATION_ERROR (-20000,'Customer Table capacity exceeded');
 11  END IF;
 12  END;
 13  /

1 个答案:

答案 0 :(得分:2)

我会说您的触发器无法按预期工作,因为内部的select语句始终返回一行。

您过滤了主键!

应该起作用

pd.concat([rep1]*5)