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 :

Pas de ON UPDATE CASCADE ?


Sujet :

SQL Oracle

  1. #1
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut Pas de ON UPDATE CASCADE ?
    Bonjour,

    Je suis en train de mettre en place une contrainte de clef étrangère avec un ON DELETE CASCADE. Je voudrais également mettre un ON UPDATE CASCADE, mais il semblerait que cette option n'existe pas avec Oracle.

    Est-ce que vous confirmez ? Est-ce qu'il y a un contournement ? Plus simple qu'un trigger ?

    Merci d'avance pour toute piste,
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 937
    Points : 4 358
    Points
    4 358

  3. #3
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Merci pour ta réponse, mais je ne vois pas trop en quoi ça correspond à mon cas...

    On va prendre un exemple. Mettons que j'ai la table des départements DEPT(DEPTNO, DNAME) et que je veuille créer une table de mapping entre départements, donc DEPTMAP(DEPTNO1, DEPTNO2). Je crée deux clefs étrangères sur DEPTNO1 et DEPTNO2, qui référencent toutes les deux DEPT (DEPTNO).

    Si un département est supprimé, les éventuels mappings doivent être supprimés aussi, donc je rajoute ON DELETE CASCADE sur chacune de mes deux clefs.

    Si un département change de DEPTNO sur DEPT, j'aimerait bien que le DEPTNO1 et/ou DEPTNO2 correspondant sur DEPTMAP soit mis à jour aussi. Avec MySQL par exemple, j'aurais juste besoin de rajouter ON UPDATE CASCADE, mais Oracle me refuse cette syntaxe et je ne trouve aucune doc Oracle qui la mentionne (ni d'ailleurs personne pour dire explicitement que ça n'existe pas).

    Ce sont des tables de paramétrages dont le contenu est essentiellement géré par l'IT, donc je ne vais pas m'acharner sur la clef étrangère au point de mettre un trigger, mais par contre s'il y a un moyen relativement simple d'avoir le comportement du ON UPDATE CASCADE, je suis preneur. Si par contre ça n'existe pas, j'aimerais bien qu'on me le dise explicitement (désolé, c'est mon côté tête de lard).
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 937
    Points : 4 358
    Points
    4 358
    Par défaut
    Citation Envoyé par Antoun Voir le message
    Merci pour ta réponse, mais je ne vois pas trop en quoi ça correspond à mon cas...
    C'est pourtant clair :
    Il n'y a pas de ON UPDATE CASCADE et vous pouvez implémenter la fonctionnalité via INITIALLY DEFERRED sur les contraintes.

Discussions similaires

  1. On update cascade
    Par tleboukaka dans le forum Bases de données
    Réponses: 4
    Dernier message: 20/02/2008, 19h45
  2. [VB.Net 2.0] Pourquoi ma DataTable ne se modifie pas malgré l'Update ?
    Par sandra69 dans le forum Accès aux données
    Réponses: 8
    Dernier message: 21/08/2007, 22h41
  3. [Access2003]ON UPDATE CASCADE ?
    Par MrWeb dans le forum Langage SQL
    Réponses: 5
    Dernier message: 01/03/2007, 14h11
  4. ON UPDATE CASCADE d'après la doc
    Par albertl dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 07/11/2005, 22h15
  5. Pb avec ON DELETE/UPDATE CASCADE
    Par trotters213 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 09/03/2005, 11h55

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