Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/10/2004, 12h09   #1
Candidat au titre de Membre du Club
 
Inscription : février 2003
Messages : 24
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 24
Points : 13
Points : 13
Par défaut [Debutant]Suppression dans des tables avec contraintes

Bonjour,

J'ai un petit problème de contrainte dans mes suppressions. J'ai une table t_passager(id_passager), une table t_reservation(id_reservation, id_passager, id_commande), et une table t_commande(id_commande).

Il faut que je supprime les réservations et les commande de passagers de la base, puis les passager eux-même.

Je comptais faire ceci:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
-- Effacer les commandes
DELETE FROM t_commande WHERE id_commande IN (
	SELECT id_commande FROM t_reservation WHERE id_passager IN (122,123,124,125)
);
 
 
-- Effacer les réservations
DELETE FROM t_reservation WHERE id_passager IN (122,123,124,125);
 
 
-- Effacer les passagers
DELETE FROM t_passager WHERE id_passager IN (122,123,124,125);
Malheureusement l'execution de la première ligne de commande me renvoie l'erreur: Error: update or delete on "t_commande" violates foreign key constraint "$4" on" t_reservation". La 5ième colonne de la table t_reservation est "id_commande".

Quelqu'un peut-il m'aider?

Merci,
Roming22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 17h23   #2
Expert Confirmé Sénior
 
Avatar de GrandFather
 
Inscription : mai 2004
Messages : 4 490
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : mai 2004
Messages : 4 490
Points : 5 049
Points : 5 049
Bonjour,

visiblement, tu as une contrainte de clé étrangère avec intégrité référentielle entre t_reservation et t_commande. Commence par supprimer les enregistrements de t_reservation avant de supprimer ceux de t_commande
__________________
FAQ XML
------------
« Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
Giacomo Leopardi
GrandFather est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h20.


 
 
 
 
Partenaires

Hébergement Web