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

PL/SQL Oracle Discussion :

Besoin d'aide avec les déclencheurs


Sujet :

PL/SQL Oracle

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Besoin d'aide avec les déclencheurs
    Salut à tous j'ai besoin d'aide. En fait je voudrais créer un déclencheur qui me permettra de récupérer l'utilisateur connecté, la date et l'heure ainsi que la tâche qu'il a effectué dans un tableau pour leurs stocké dans un autre tableau.

  2. #2
    Membre chevronné
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2012
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2012
    Messages : 652
    Points : 1 878
    Points
    1 878
    Par défaut
    Et qu'avez vous codé pour le moment ?
    A quel endroit vous bloquez ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Voici mon code
    SQL> create or replace trigger t_archive after delete
      2  ON depts For each Row
      3  Begin
      4  insert into archive(
      5  numdept, nomdept, zone, utilisateur, date_util, evenement)
      6  values(:old.numdept, :old.nomdept, old.zone, user, sysdate, 'delete');
      7  end;
      8  /
    
    Avertissement : DÚclencheur crÚÚ avec erreurs de compilation.
    
    SQL> show error
    Erreurs pour TRIGGER T_ARCHIVE :
    
    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    2/1      PL/SQL: SQL Statement ignored
    4/40     PL/SQL: ORA-00984: un nom de colonne n'est pas autorisÚ ici

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    Ceci devrait suffire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    create or replace trigger t_archive 
    after delete ON depts
    insert into archive (numdept, nomdept, zone, utilisateur, date_util, evenement)
    SELECT numdept, nomdept, zone, user, sysdate, 'delete'
    FROM   :old;

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Merci infiniment je vais essayer ça aussi

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Jusqu'à présent j'arrive pas à m'en sortir
    J'ai essayé les deux là mais toujours des erreurs

    SQL> create or replace trigger t_archive
      2  after delete ON depts
      3  insert into archive(numdept, nomdept, zone, utilisateur,date_util,evenement)
      4  select numdept, nomdept, zone, user, sysdate, 'delete'
      5  from :old;
      6  end;
      7  /
    
    Avertissement : DÚclencheur crÚÚ avec erreurs de compilation.
    
    SQL> show error
    Erreurs pour TRIGGER T_ARCHIVE :
    
    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    1/7      PL/SQL: SQL Statement ignored
    3/6      PLS-00049: variable attachÚe (bind variable) erronÚe 'OLD'
    3/10     PL/SQL: ORA-00903: nom de table non valide
    4/5      PLS-00103: Symbole ";" rencontrÚ
    SQL> desc archive
     Nom                                                                                 NULL ?   Type
     ----------------------------------------------------------------------------------- -------- --------------------------------------------------------
     NUMDEPT                                                                                      NUMBER(2)
     NOMDEPT                                                                                      VARCHAR2(17)
     ZONE                                                                                         VARCHAR2(15)
     UTILISATEUR                                                                         NOT NULL VARCHAR2(10)
     DATE_UTIL                                                                           NOT NULL DATE
     EVENEMENT                                                                           NOT NULL VARCHAR2(9)
    SQL> create or replace trigger t_archive
      2  after delete ON depts
      3  for each row
      4  begin
      5  insert into archive(numdept, nomdept, zone, utilisateur,date_util,evenement)
      6  select numdept, nomdept, zone, user, sysdate, 'delete'
      7  from :old;
      8  end;
      9  /
    
    Avertissement : DÚclencheur crÚÚ avec erreurs de compilation.
    
    SQL> show error
    Erreurs pour TRIGGER T_ARCHIVE :
    
    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    2/1      PL/SQL: SQL Statement ignored
    4/6      PLS-00049: variable attachÚe (bind variable) erronÚe 'OLD'
    4/10     PL/SQL: ORA-00903: nom de table non valide

  7. #7
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Il manquait un : devant un des old, qu'est ce que ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    create or replace trigger t_archive 
    after delete
    ON depts 
    For each Row
    Begin
     insert into archive (numdept, nomdept, zone, utilisateur, date_util, evenement)
     values (:old.numdept, :old.nomdept, :old.zone, user, sysdate, 'delete');
    end;
    /

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Je vous remercie sincèrement. Ça marché mon cher. J'adore ce Furum

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Besoin d'aide avec les filtres imagemagick
    Par vallica dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 04/07/2008, 16h23
  2. besoin d'aide avec les session
    Par alain57 dans le forum Langage
    Réponses: 4
    Dernier message: 29/06/2006, 20h25
  3. Besoin d'aide avec les regxp
    Par vodevil dans le forum Langage
    Réponses: 1
    Dernier message: 04/04/2006, 12h28
  4. Besoin d'aide avec les fichier htaccess et htpasswd
    Par Polux000 dans le forum Apache
    Réponses: 2
    Dernier message: 26/01/2006, 00h05
  5. Réponses: 2
    Dernier message: 29/08/2003, 17h52

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