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

Requêtes PostgreSQL Discussion :

Modification numéro de clés entre 2 tables


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 74
    Points : 40
    Points
    40
    Par défaut Modification numéro de clés entre 2 tables
    Bonjour,

    Je travaille sous PostgreSQL avec pgAdmin. J'ai deux tables A et B qui sont liées par une contrainte de clé : idA est PK de A et FK de B.
    Pour insérer des données d'une base de test dans une base en production, j'ai besoin de changer les numéros de idA (je les décale tous de +10000).
    Bien sûr, que je fasse la requête update dans A ou dans B, j'obtiens le message d'erreur "insert or update on table "..." violates foreign key constraint etc." que je comprends bien.

    * Comment puis-je procéder autrement qu'en supprimant mes contraintes d'intégrité temporairement (le temps de la manipulation) ?
    * Par exemple, est-il possible de faire un "update simultané" ?
    * Sachant qu'en fait j'ai plusieurs tables qui sont liées de la même manière en cascade (B a une PK idB qui est FK de C, C a une PK idC qui est FK de D, etc.), est-ce que ça va compliquer mon histoire ?

    Je vous remercie par avance pour votre aide.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    Il faut gérer la déférabilité de vos contraintes.

    Lisez l'article que j'ai écrit à ce sujet : http://blog.developpez.com/sqlpro/p6...t_deferabilite

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 74
    Points : 40
    Points
    40
    Par défaut
    Merci pour votre réponse. Je vais étudier cette question que je ne connais pas du tout.

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/05/2013, 12h14
  2. Clés Primaires et Index entre différentes tables
    Par xaltar92 dans le forum Modélisation
    Réponses: 2
    Dernier message: 03/07/2011, 23h56
  3. Réponses: 5
    Dernier message: 03/05/2011, 10h00
  4. Réponses: 9
    Dernier message: 28/01/2008, 22h02
  5. Bug a la modification d'une entrée dans table
    Par porci82 dans le forum VBA Access
    Réponses: 1
    Dernier message: 20/06/2007, 14h28

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