- 테이블 A (GEDDFILES)에 새 행을 삽입하면 테이블 B (GEDDIRS)의 숫자 필드가 증가합니다 .오라클 트리거가 작동하지 않습니다
코드가 오류없이 컴파일되지만 작동하지 않습니다. 코드 노호이다
CREATE OR REPLACE TRIGGER "A"."TRGMAJNRFIC" AFTER
INSERT ON "A"."GEDFILES" FOR EACH ROW DECLARE
wtmpnrfic number;
BEGIN
SELECT MAX(OBJNRFICHIERS) INTO wtmpnrfic from GEDDirs WHERE ID= :new.ID;
UPDATE GEDDirs SET OBJNRFICHIERS = wtmpnrfic+1 WHERE ID=:new.id;
END;
테이블 GEDDIRS (필드 ID) 테이블 GEDFILES에서 FK (필드 ID) 문제, 심지어 인 곳
는알아낼 수 없다에서 정규화 PK있다 어린이.
테이블 GEDFILES의 OBJNRFICHIERS 필드가 null입니다. 가치를 높이려고 할 때이 문제가 될 수 있습니까?
테이블에 "레코드 수"를 유지하려고하는 것 같습니다. 같은'GEDDirs.ID'에 대해'GEDFILES'에 새로운 행을 추가하는 동시 세션이있을 때 이것이 작동하지 않는다는 것을 알아야합니다. 'OBJNRFICHIERS'의 데이터는 쓰레기가 될 가능성이 있습니다. –
네, 맞습니다! 어떻게 해결해야합니까? 대체 솔루션을 줄 수 있습니까? 안부 인사, – RBA
추가 DBMS_OUTPUT.PUT_LINE ('tirgger works'); 당신의 방아쇠를 당기고 dmbs 출력에 연결하십시오. – deathangel908