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

Bases de données Delphi Discussion :

Pourquoi quand je change la valeur de la table des pères ne change pas de la table des fils


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2019
    Messages : 182
    Points : 84
    Points
    84
    Par défaut Pourquoi quand je change la valeur de la table des pères ne change pas de la table des fils
    salut
    Pourquoi quand je change la valeur de la table des pères ne change pas de la table des fils ?
    Delphi installés : RAD Studio 10.4.1 ..........Programme VCL
    SGBD : Firebird 2.5
    générateurs Etats : FastReport, QuickReport
    OS : Window 10 64bit

  2. #2
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    D'une manière générale les modifications dans une table ne sont jamais rapatriées dans une autre table sauf à l'avoir demandé quelque part.

    A quoi ressemblent tes tables ? Quels liens y a-t-il entre elles ? Quel moteur de base de données ? Des procédures stockées, des triggers, des règles relationnelles ?

    Quel champ modifies-tu et où espères-tu que ce soit répercuté ?

  3. #3
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 496
    Points : 2 762
    Points
    2 762
    Billets dans le blog
    10
    Par défaut
    Bonjour, A part dans la clé primaire tu ne dois jamais avoir de données similaires et dans la table maitre et dans la table détail.

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 037
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Comme Patrick le fait remarquer justement
    les modifications dans une table ne sont jamais rapatriées dans une autre table sauf à l'avoir demandé quelque part.
    A sa question "quelle SGBD" je répondrai : certainement Firebird 2.5
    A sa question "Quels liens y a-t-il entre elles ?" je répondrai que j'espére que puisqu'il y a une "table Pére et une table Fils" drôles de termes on parle plutôt de maitre détail il doit bien y avoir une relation de type FOREIGN KEY (ou alors votre titre d'administrateur de base de données est usurpé)
    Avec ces deux éléments (Firebird et Foreign Key) vous auriez pu utiliser l'action de FOREIGN KEY : CASCADE
    Citation Envoyé par Firebird DDL Statements Table
    Avec les sous-clauses ON UPDATE et ON DELETE, il est possible de spécifier une action à entreprendre sur la ou les colonnes de clé étrangère affectées lorsque les valeurs référencées dans la table principale sont modifiées:

    PAS D'ACTION (par défaut) - Rien n'est fait
    CASCADE - La modification de la table principale est propagée aux lignes correspondantes de la table enfant. Si une valeur de clé change, la clé correspondante dans les enregistrements enfants passe à la nouvelle valeur; si la ligne principale est supprimée, les enregistrements enfants sont supprimés.
    SET DEFAULT - Les colonnes de la clé étrangère dans les lignes affectées seront définies sur leurs valeurs par défaut telles qu'elles étaient lorsque la contrainte de clé étrangère a été définie.
    SET NULL - Les colonnes de la clé étrangère dans les lignes concernées seront définies sur NULL.
    @ALWEBER je ne suis qu'en partie d'accord avec ce que tu viens d'écrire, la clé étrangère n'est pas forcément une clé primaire tu peux très bien avoir une table maitre par exemple commande avec cette structure :
    Commandes (ID BIGINT,SAISON VARCHAR(5),NUMERO INTEGER,....), avec comme clé primaire ID, comme Index SAISON+NUMERO Unique
    Lignes (ID BIGINT,SAISON_CMDE VARCHAR(5),NUMERO_CMDE INTEGER,LIGNE SMALLINT,...) avec comme clé primaire ID, comme Index1 SAISON+NUMERO, Index 2 SAISON+NUMERO+LIGNE Unique
    Index1 servant pour la liaison
    dans ce cas SAISON et NUMERO sont bien répétés entre maitre et détail et pourtant ne sont pas des clés primaires même s'il est plus judicieux l'ID_COMMANDE plutôt que SAISON+NUMERO
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2019
    Messages : 182
    Points : 84
    Points
    84
    Par défaut
    merci
    SGBD utiliser firebird 2.5
    Devrais-je utiliser le composant TFDSchemaAdapter ?
    Delphi installés : RAD Studio 10.4.1 ..........Programme VCL
    SGBD : Firebird 2.5
    générateurs Etats : FastReport, QuickReport
    OS : Window 10 64bit

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 037
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Arrêtez de modifier votre premier message merci
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2019
    Messages : 182
    Points : 84
    Points
    84
    Par défaut
    Je m'excuse pour cela
    Delphi installés : RAD Studio 10.4.1 ..........Programme VCL
    SGBD : Firebird 2.5
    générateurs Etats : FastReport, QuickReport
    OS : Window 10 64bit

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Delete en cascade ne fonctionne pas
    Par Super II dans le forum Requêtes
    Réponses: 4
    Dernier message: 07/05/2016, 06h41
  2. [WD17] Suppression en cascade ne fonctionne pas sur base sqlite
    Par Christophe Charron dans le forum WinDev
    Réponses: 11
    Dernier message: 03/09/2012, 22h56
  3. ON DELETE CASCADE ne fonctionne pas
    Par Torgar dans le forum Requêtes
    Réponses: 3
    Dernier message: 04/02/2010, 17h14
  4. Clé étrangère et CASCADE ne fonctionne pas (MySQL 5.0)
    Par ctobini dans le forum Administration
    Réponses: 3
    Dernier message: 07/11/2007, 15h44
  5. [MySQL] UPDATE qui ne fonctionne pas
    Par philippef dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 13/09/2005, 14h35

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