pierrotk10d
-
18 févr. 2015 à 21:19
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 2021
-
20 févr. 2015 à 11:24
Bonjour,
J'ai deux tables enfants de type Paradox, Table2, Table3 en relation avec Table1 par le champs NumId. NumId étant un champs unique. Est il possible de supprimer tous les enregistrements de Table2 et Table3 ayant le même NumId en une seule requête SQL lors de la suppression dans Table1 d'un enregistrement.
Requête du genre DELETE FROM Table2, Table3 WHERE NumId = :NumId.
Comment affecter la propriété DataSet du DataSource
Merci de votre aide éventuelle car je commence SQL.
sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 201515 19 févr. 2015 à 09:37
Bonjour,
Ce n'est pas possible en une seule requête. Paradox gère très mal l'intégrité référentielle. Si tu débutes, pourquoi ne pas commencer directement sur un SGBD plus "sérieux" que paradox ? C'est obsolète et source de multiples problème. Essaie avec Firebird par exemple (SGBD open source), que tu peux gérer avec FlameRobin (les éditeurs de bases Firebird ne manquent pas sur le net). Firebird gère très bien les intégrités référentielles...
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 19 févr. 2015 à 16:03
Bonjour,
le mieux pour ce type d'opérations est de régler les options dans la création de la base (sous Firebird) en créant deux contraintes sur les tables 2 et 3 en cascade.
et plus besoin de SQL, puisque la suppression d'un enregistrement de la table1 entraîne nécessairement la suppression des données correspondantes dans les deux tables annexes.
sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 201515 19 févr. 2015 à 16:08
Ah pardon Cantador, mais tu peux quand même faire un delete via une requête sql sur la table1, et l'intégrité référentielle (les clés étrangères) font le reste sur les tables 2 et 3... ;)
pierrotk10d
Messages postés110Date d'inscriptionmardi 13 novembre 2007StatutMembreDernière intervention 2 février 20243
>
sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 2015 19 févr. 2015 à 21:02
Merci pour vos réponses. Je suis retraité, j'ai beaucoup développé avec Clipper lorsque je travaillais et suis venu à Delphi vers la fin de ma carrière quand les applis dans les ateliers on du passer sous windows lors du renouvellement des PC. Actuellement quand j'ai le temps je m'amuse avec Delphi. Je vais essayer Firebird.
sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 201515
>
pierrotk10d
Messages postés110Date d'inscriptionmardi 13 novembre 2007StatutMembreDernière intervention 2 février 2024 20 févr. 2015 à 09:09