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 sous oracle ne fonctionne pas !


Sujet :

PL/SQL Oracle

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Trigger sous oracle ne fonctionne pas !
    salut,

    je debute en plsql et je bloque sur un trigger
    j'ai une table intervenant qui est la mère de la table salarie et de la table independant.
    Je veux mettre un trigger avant insertion pour que si l'intervenant n'habite pas dans la region rhône alpes, il ne peut pas inserer ou mettre à jour. le code est le suivant

    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
    CREATE OR REPLACE TRIGGER decl_intervenant
    BEFORE INSERT OR UPDATE ON INTERVENANT
    FOR EACH ROW
     
    DECLARE
    pb_dept EXCEPTION;
     
    BEGIN
    IF (:NEW.CP) NOT IN (01,07,26,38,42,69,73,74)
    THEN RAISE pb_dept;
    END IF;
     
    EXCEPTION
    WHEN pb_dept THEN RAISE_APPLICATION_ERROR (-20501,'Mise à jour impossible : l'intervenant n'habite pas dans la region Rhône-Alpes !');
     
    END;
    merci de me dire ce qui bloque !!!

  2. #2
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    837
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 837
    Points : 975
    Points
    975
    Par défaut
    C'est quoi le message d'erreur !
    .
    Diviser c'est régner : United we stand, Divided we fall
    .

  3. #3
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Il faut doubler les apostrophes dans votre chaîne de caractères :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHEN pb_dept THEN RAISE_APPLICATION_ERROR (-20501,'Mise à jour impossible : l''intervenant n''habite pas dans la region Rhône-Alpes !');

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Points : 3
    Points
    3
    Par défaut resolu !
    merci beaucoup ça fonctionne !!!

  5. #5
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 307
    Points
    5 307
    Par défaut
    Encore une fois, un exemple de trigger invalide !!

    C'est pourtant pas compliqué de lire l'écran de sql*plus (ou autre) et de voir que la création du trigger comporte des erreurs

    Et de faire un 'show errors' pour voir les erreurs.

    Cela évite à tout le monde de perdre du temps.

    Merci
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

Discussions similaires

  1. Réponses: 15
    Dernier message: 01/05/2007, 00h54
  2. [Sous Requete] ne fonctionne pas => incompréhensible
    Par soad029 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 24/04/2007, 17h42
  3. Réponses: 6
    Dernier message: 23/12/2006, 12h46
  4. Trigger sous oracle
    Par arezki76 dans le forum Oracle
    Réponses: 3
    Dernier message: 31/08/2006, 12h49
  5. requette sql qui passe sous oracle 9i mais pas en 8i
    Par maxidoove dans le forum Oracle
    Réponses: 3
    Dernier message: 21/10/2005, 10h59

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