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 :

Trigger mise à jour


Sujet :

PL/SQL Oracle

  1. #1
    Membre à l'essai
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 22
    Points : 10
    Points
    10
    Par défaut Trigger mise à jour
    salut tous le monde j'ai besoin vraiement de votre aide ,
    j'ai les 2 tables suivantes definies par une relation d heritage ,
    j'ai besoin lors de l'insertion dans la 2 eme table , mettre à jour une valeur boleenne qui indique si cette valeur est insérée dans la 2 eme table
    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
    /*==============================================================*/
    /* Table: "credit"                                              */
    /*==============================================================*/
    create table "credit" 
    (
       "code_credit"        VARCHAR2(254)        not null,
       "code_client"        INTEGER              not null,
       "code_banque"        VARCHAR2(254)        not null,
       "code_ref"           INTEGER              not null,
       "date_deblocage"     DATE,
       "date_echeance"      DATE,
       "montant_initial"    INTEGER,
       "etat"               VARCHAR2(254),
       "forme"              VARCHAR2(254),
       "flag_gar"           SMALLINT,
       "date_encours"       DATE,
       "montant_encours"    INTEGER,
       constraint PK_CREDIT primary key ("code_credit")
    );
    /* Table: "garantie_credit"                                     */
    /*==============================================================*/
    create table "garantie_credit" 
    (
       "code_credit"        VARCHAR2(254)        not null,
       "id_operation"       VARCHAR2(254)        not null,
       "Date_mise_en_garantie" DATE,
       constraint PK_GARANTIE_CREDIT primary key ("code_credit")
    );
    voici le trigger que j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    create or replace trigger "GARANTIE_CREDIT_T1"
    BEFORE
    insert on "garantie_credit"
    for each row
    begin
    update credit set flag_gar=1
    where code_credit = :new.code_credit ;
    end;​
    l'erreur suivante est affichée :
    Compilation failed, line 3 (14:43:47) The line numbers associated with compilation errors are relative to the first BEGIN statement. This only affects the compilation of database triggers.
    PLS-00049: bad bind variable 'NEW.CODE_CREDIT'

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par supras31 Voir le message
    ...
    j'ai besoin lors de l'insertion dans la 2 eme table , mettre à jour une valeur boleenne qui indique si cette valeur est insérée dans la 2 eme table
    C'est un mauvais design de la base de stocker dans des tables des colonnes calculés à partir des autres tables. Utilisez une vue plutôt.

    Le fait d'entourer les noms des colonnes par des guillemets préserve la case et dans ce cas le message d'erreur vous indique bien que NEW.CODE_CREDIT n'est pas la même chose que new.code_credit. Sauf besoin particulier supprimez les guillemets dans la définitions de vos tables et laissez Oracle gérer le nom des objets à sa façon.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 22
    Points : 10
    Points
    10
    Par défaut aide urgennt
    d'accord mais comment pourriez vous m'aider à ameliorer cette base
    j'ai plus de temps c'est un pfe que je suis en train de realiser
    je trouve pas d'aide

  4. #4
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Comme je l'ai déjà fait: je vous ai donné
    • l'explication de l'erreur que vous avez rencontrée et par conséquence le moyen de la corriger
    • une solution basée sur la création d'une vue qui vous permettra d'éliminer la création de la colonne calculée dans la table.

Discussions similaires

  1. [9.3] Problème trigger mise à jour d'une colonne
    Par rhinolophus dans le forum PostgreSQL
    Réponses: 0
    Dernier message: 29/04/2015, 16h50
  2. Réponses: 4
    Dernier message: 02/01/2014, 13h39
  3. Trigger mise à jour état stock
    Par nouri_t dans le forum Requêtes
    Réponses: 6
    Dernier message: 19/05/2011, 14h57
  4. [trigger] problème de mise à jour
    Par Ouark dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 23/03/2006, 01h13
  5. Réponses: 4
    Dernier message: 25/01/2006, 15h42

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