Trigger for delete

Miss Unknown -  
g-bd-oracle Messages postés 1 Statut Membre -
Bonjour,

Je voulais créer un trigger sur une table, dés que je supprime une ligne de cette table je voulais qu'il sera copié dans une autre table que je vais l'appeler table historique, SVP aidez moi.. J'ai besoin de votre aide..

Je comprend pas les triggers , voila le debut:

create trigger on TABLE for delete
as
select * from deleted
insert into historique values('CHAMPS')
...
Je sais vraiment pas que dois je faire, HELP... :(
Configuration: Windows XP
Internet Explorer 7.0

6 réponses

  1. orque Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   3
     
    Bonjour,
    pour créer un trigger qui insert le tuple supprimé dans la table Historique, tu dois suivre la synthaxe suivante:

    CREATE OR REPLACE TRIGGER Nom_TRIGGER
    BEFORE DELETE ON NOM_TABLE (NOM_TABLE: est le nom de la table que tu vient de lui suprimer un tuple)
    FO EACH ROW
    BEGIN
    -- aprés tu doit selectionner les champs à supprimer et les insérer dans la table historique
    end;
    0
  2. Miss Unknown
     
    OHHH, vous avez mis en commentaire la partie que je connais pas :'(
    OK.. si par exemple j'ai un seule champ "nom" dans ma table, lorsque je supprime une ligne (un nom), je voulez qu'il sera collé automatiquement dans la table historique, mais COMMENT je dois traduire ce blabla en sql server
    j'essaye...

    CREATE OR REPLACE TRIGGER Nom_TRIGGER
    BEFORE DELETE ON NOM_TABLE (NOM_TABLE: est le nom de la table que tu vient de lui suprimer un tuple)
    FO EACH ROW
    BEGIN
    -- aprés tu doit selectionner les champs à supprimer et les insérer dans la table historique
    declare @nom varchar(10)
    set @nom=(select nom from deleted)
    insert into historique values(@nom)

    end;

    est ce que c'est comme ça???

    merci encors
    0
  3. Miss Unknown
     
    OKKK... J'ai réussi à créer mon trigger, merci à vous
    0
  4. orque Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   3
     
    ou bien ça
    declare
    nom2 delete.nom %type;
    Begin
    select nom from delete
    into nom2;
    insert into historique
    values(nom2);
    end;
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Miss Unknown
     
    Derniere question: Comment signaler que le probleme est resolu sur ce forum ??? :p
    0
  7. g-bd-oracle Messages postés 1 Statut Membre
     
    merci
    0