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

SQL Oracle Discussion :

Empêcher la modification d'une colonne


Sujet :

SQL Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 42
    Points : 29
    Points
    29
    Par défaut Empêcher la modification d'une colonne
    J'ai une table dans laquelle je défini un champ NO_SEQ et qui constitue la clé primaire de ma table.

    Comment puis-je faire pour empêcher que l'on puisse modifier la valeur de NO_SEQ ?

    Solution envisager : déclarer un trigger sur l'UPATE et re-affecter l'ancienne valeur pour NO_SEQ.

    Y a-t-il un autre moyen ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Points : 436
    Points
    436
    Par défaut
    Des précisions ...
    Le trigger doit être défini pour se déclencher uniquement si la clé primaire est mise à jour. Il n'a pas à remettre l'ancienne valeur ce qui oblige d'avoir un trigger lignes (row trigger). Tout simplement, le trigger peut renvoyer une erreur non traitée dedans et l'instruction sera annulée
    Consultant et formateur Oracle

  3. #3
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    CREATE OR REPLACE TRIGGER matable_bu
       BEFORE UPDATE OF macle
       ON matable  FOR EACH ROW
    BEGIN
     raise_application_error (-20000,
                                      'Clé primaire non modifiable !',
                                      FALSE
                                     );
    END;
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 12C R2 - Forms11GR2 - Toad 12 - sharePoint 2010

Discussions similaires

  1. demande de requete de modification d'une colonne
    Par jsdar dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/03/2007, 00h03
  2. Erreur de modification d'une colonne.
    Par grenoult dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/12/2006, 13h37
  3. [Oracle 9i] aide modification d'une colonne
    Par bubblelicious dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/03/2006, 16h29
  4. [Access] Modification d'une colonne ...
    Par hobotalker dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/02/2006, 12h03
  5. [DB2]Modification d'une colonne
    Par ahoyeau dans le forum DB2
    Réponses: 4
    Dernier message: 08/10/2004, 01h24

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