나는 COMMANDE 테이블과 REGROUPE 테이블이 있습니다. 내가 하나 개 이상의 항목을 포함 할 수있는 명령의 세금 총 가격을 업데이트 할 것을 founction를 사용하여 트리거를 만들려고ORACLE SQL 트리거 및 SUM()
CREATE OR REPLACE PROCEDURE multiplicateur(a NUMBER, taxes NUMBER, c OUT NUMBER)
IS
BEGIN
c := a * taxes ;
END multiplicateur;
/
: 그 기능을 가지고있다. 나는 이것을 시도했지만 일하고 싶지 않다 :
create or replace TRIGGER MAJ_PRIX_COMMANDE
AFTER INSERT OR UPDATE OR DELETE ON REGROUPE
FOR EACH ROW
DECLARE
resultat NUMBER;
BEGIN
UPDATE COMMANDE
SET COMMANDE.prixTotal = multiplicateur((CAST((SELECT SUM(prixRegroupe)FROM REGROUPE WHERE REGROUPE.numCommande = :NEW.numCommande)AS NUMBER)),1.15,resultat)
WHERE COMMANDE.numCommande = :NEW.numCommande;
END;
나를 도울 수있는 누군가?
쿼리에서 값을 사용하려면 함수를 만들어야합니다. –
당신은 이미 가지고있는 것 이외의 다른 것을 의미합니까? 내가 이해할 수 있을지 모르겠다. –
@XavierSavage - 현재 프로 시저가 있는데 함수가 아니다. 프로 시저를 먼저 호출 한 다음 업데이트에서'resultat'를 사용할 수 있습니다. 그래도 간단한 계산을하기 위해 sepearate 절차/기능을 갖는 것이 가치가 있습니까? 그리고 방아쇠가 여기에 적합한 메커니즘이라고 확신합니까? –