IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Oracle Discussion :

Aidez 1 débutant pour son 1er Trigger ;-)


Sujet :

Oracle

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Aidez 1 débutant pour son 1er Trigger ;-)
    Bonsoir à tous,

    Je lutte désespérement avec mon 1er trigger. J'aurais besoin de la syntaxe exacte pour faire:

    Sur update du champ Statut de la Table A alors créer 1 nouvelle ligne dans la table B avec table_A.client_id = table_B.client_id.

    En clair, je souhaiterais que lors que je mette à jour le champ Statut de la table A cela me créer une nouvelle ligne dans la table B et que cela passe les valeurs de certains champs de la table A vers la table B.

    Merci bcp pour votre aide.
    Cordialement

  2. #2
    Membre confirmé Avatar de NGasparotto
    Inscrit en
    Janvier 2007
    Messages
    421
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 421
    Points : 603
    Points
    603
    Par défaut
    Un mini example :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    SQL> create table tablea(id number, text varchar2(10));
     
    Table created.
     
    SQL> create table tableb(id number, text varchar2(10), status varchar2(3));
     
    Table created.
     
    SQL> create or replace trigger tablea_trg_au after update of text on tablea
      2  for each row
      3  begin
      4  insert into tableb(id,text,status) values (:new.id,:new.text,'new');
      5  insert into tableb(id,text,status) values (:old.id,:old.text,'old');
      6  end;
      7  /
     
    Trigger created.
     
    SQL> insert into tablea values (1,'un');
     
    1 row created.
     
    SQL> select * from tablea;
     
            ID TEXT
    ---------- ----------
             1 un
     
    SQL> select * from tableb;
     
    no rows selected
     
    SQL> update tablea set text = 'deux' where id=1;
     
    1 row updated.
     
    SQL> select * from tablea;
     
            ID TEXT
    ---------- ----------
             1 deux
     
    SQL> select * from tableb;
     
            ID TEXT       STA
    ---------- ---------- ---
             1 deux       new
             1 un         old
     
    SQL>
    Et pour toute les possibilites et options, la doc :
    http://download.oracle.com/docs/cd/B...htm#SQLRF01405

    Nicolas.

Discussions similaires

  1. Réponses: 15
    Dernier message: 02/05/2015, 17h21
  2. Débutant demande un avis pour son UC
    Par myrdhinbzh dans le forum Cas d'utilisation
    Réponses: 6
    Dernier message: 05/11/2010, 10h50
  3. Comment faire un splash screen pour son application?
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 26/04/2007, 14h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo