I am new hand in PL/SQL and seek help here. I created the following trigger. The purpose of the trigger is to insert one row count number and one row summarized amount into a audit table. After I insert or update new rows into the mutating table, it always insert more rows than one count row into table. Please help me to identify the problems in my code. Thanks. Here is the code.

CREATE OR REPLACE TRIGGER BOPSUMARRY
AFTER INSERT OR UPDATE ON NDW_BOP_DETAIL_M_TEST
DECLARE

STG_ROWS NUMBER;
STG_AMOUNT NUMBER;
RENEW_DATE DATE;


BEGIN
SELECT COUNT(NDW_TRANS_NO)STG_ROWS, SUM(AMOUNT)STG_AMOUNT, SYSDATE
INTO STG_ROWS, STG_AMOUNT, RENEW_DATE
FROM NDW_BOP_DETAIL_M_TEST;

INSERT INTO BOP_DETAIL_AUDIT (AUDIT_NUM, STG_ROWS, STG_AMOUNT,
RENEW_DATE)
VALUES (BOP_SEQ.NEXTVAL, STG_ROWS, STG_AMOUNT, RENEW_DATE);

END BOPSUMMARRY;