Les triggers

Bonjour,
svp est ce que vous pouvez m'expliquer: comment je peux faire la mise à jour en cascade par un trigger ?

on peut prendre comme exemple les 2 tables suivantes:
table1(num1 number,nom varchar)

et

table2(num2 number,#num1 number)

et merci...
Configuration: Windows XP Internet Explorer 7.0

5 réponses

  1. Cette question mon ami nous a été poser dans l'exam, j serais interessé aussi par la réponse ...
    1. Salut,
      tu peux essayer cela:
      CREATE OR REPLACE TRIGGER upd
      AFTER UPDATE
      OF num1
      ON table1
      REFERENCING NEW AS NEW OLD AS OLD
      FOR EACH ROW
      DECLARE
      BEGIN

      UPDATE table2 SET num1=:NEW.num1 WHERE num1=:OLD.num1;
      EXCEPTION
      WHEN OTHERS THEN
      -- Consider logging the error and then re-raise
      RAISE;
      END upd;
      Si c'est sur oracle, sinon sur mysql tu as une clause on update cascade
      J'espere ca pourra t'aider!!
      @+
      1. merci...mais j'ai constater que tu as utilisé declare dans le trigger est ce que ça est possible ??
        et merci ebcore une fois.
        1. Salut,
          Le declare, c'est juste si tu as des variables à declarer et que tu va utiliser dans ton trigger...
          Et c'est possible!! Etant donnée que le bloc est un bloc PL/SQL, rien ne t'empeche d'avoir des variables que tu vas utiliser dans le trigger!!
          @+