列の値を変更しますこんにちは、私はそれがは、Oracle
CREATE OR REPLACE TRIGGER livraisonfinie
BEFORE UPDATE ON Expedition
FOR EACH ROW
DECLARE
BEGIN
IF :NEW.date_livraison <> TO_DATE('3000/01/01 00:00:00', 'yyyy/mm/dd hh24:mi:ss')
THEN
INSERT INTO Commande (etat) VALUES ('livree');
DELETE FROM cmdalivrer CMD WHERE :NEW.numero_commande=CMD.id_cmd WHERE :NEW.numero_commande= Commande.numero_commande;;
END IF ;
END;
/
私は遠征テーブルの値を更新しようとすると、私はこのエラー
ORA-01400: cannot insert NULL into ("HAMZA"."COMMANDE"."NUMERO_COMMANDE")
ORA-06512: at "HAMZA.LIVRAISONFINIE", line 10
ORA-04088: error during execution of trigger 'HAMZA.LIVRAISONFINIE'
を取得し、私は、この更新要求を使用しているをコンパイルトリガーをしましたINSERT INTOやUPDATEを使用しなければならないかどうか、そして多くのマニュアルを読んだ後でもどうすればよいかはわかりません。
はここでテーブル
Expedition(Id_Expedition ,#id_chauffeur,#Immatriculation, #Id_Itineraire,Date_Deb_Expedition , Date_Livraison)
Commande (numero_commande,Date_commande,adresse_livraison,id_part,ville_livraison,code_postal_livraison,etat,id_expedition)
編集:私は追加することによって、それを解決し、 "ここでNEW.numero_commande = Commande.numero_commande;"私の引き金に ありがとう
テーブルCOMMANDEの構造を教えてください。それは問題です。 –