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 :

Problèmes de triggers


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Août 2011
    Messages : 103
    Par défaut Problèmes de triggers
    Bonjour, je réalise actuellement un TP de base de données avec ORACLE et je dois réaliser un trigger qui vérifie que le nombre de plats commandés n'est pas supérieur au nombre de personnes.

    1 table commande avec idcommande (cp) et nbpersonne
    1 association composer avec idcommande(cp) et idplat(cp)
    1 table plats avec idplat (cp)

    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
     
    create or replace trigger verifPers before
    insert or update on composer
    for each row
    declare
    qte composer.quantite%type;
    nbpers commandes.nbpersonnes%type;
    begin
    select c.quantite,co.nbpersonnes
    into qte, nbpers
    from composer c, commandes co
    where c.idcommande = co.idcommande
    and co.idcommande = :old.idcommande;
    if (qte > nbpers) then
    raise_application_error(-20500,'ERREUR');
    end if;
    end;
    le trigger se crée mais une fois l’exécution ERREUR

  2. #2
    Membre Expert
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Par défaut
    Je n'ai pas analysé en profondeur, mais déjà, vous faites une requête sur la table composer ce qui est illégal sur un trigger "for each row" de cette même table. D'autan plus que c'est inutile fonctionnellement puisque vous pouvez faire directement récupérer la valeur dans ":new.quantite"

Discussions similaires

  1. PL/SQL problème sur Trigger
    Par kitsune dans le forum PL/SQL
    Réponses: 4
    Dernier message: 06/12/2005, 20h35
  2. [9i] problème avec trigger after logon
    Par Michael# dans le forum Oracle
    Réponses: 2
    Dernier message: 17/03/2005, 12h14
  3. [Interbase6] Problème de triggers
    Par emeraudes dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/03/2005, 09h52
  4. [SQLPLUS] - Problème de Triggers Java
    Par farcis dans le forum Oracle
    Réponses: 7
    Dernier message: 23/12/2004, 09h21
  5. [PL/SQL] problème de trigger
    Par Chuck67 dans le forum Oracle
    Réponses: 14
    Dernier message: 09/12/2004, 23h17

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