Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
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 14/08/2008, 09h53   #1
Membre Expert
 
Avatar de ®om
 
Inscription : janvier 2005
Messages : 2 801
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 801
Points : 2 371
Points : 2 371
Par défaut DELETE FROM (toutes les tables)

Salut,

Je souhaite vider toutes les tables d'une base, mais je veux garder la structure (donc éviter les DROP).

Le problème c'est que si je les supprime une par une, il ne veut pas car il y a des contraintes d'intégrité :
Code :
Une ligne parente ne peut pas être supprimée car la relation "..." limite la suppression. SQLSTATE=23001
Mais je veux AUSSI supprimer cette table dépendante, donc je m'en fiche de la contrainte d'intégrité.
®om est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2008, 11h27   #2
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 42
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2008
Messages : 42
Points : 35
Points : 35
L'intégrité utilise donc l'option RESTRICT qui t'empêches de supprimer les occurrences mères si il existe des occurrences liées.
Une solution peut être d'utiliser l'utilitaire de LOAD à partir d'un fichier vide en désactivant les contrôles d'intégrité.
Code :
1
2
3
LOAD DATA REPLACE INTO TABLE nomtable 
ENFORCE NO
LOG YES
ou alors utiliser les contraintes mais ne pas mettre la table en CHECK PENDING
Code :
1
2
3
LOAD DATA REPLACE INTO TABLE nomtable
ENFORCE CONSTRAINTS 
LOG NO NOCOPYPEND
battistuta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2008, 12h49   #3
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 42
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2008
Messages : 42
Points : 35
Points : 35
bien évidemment les tables dépendantes seront elles indisponibles (CHECK). Il faudra donc réitérer l'action sur ces dernières.
battistuta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2008, 21h30   #4
Membre Expert

 
Homme François Durand
Spécialiste Delivery Mainframe IBM
Inscription : octobre 2005
Messages : 1 098
Détails du profil
Informations personnelles :
Nom : Homme François Durand
Âge : 53
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Spécialiste Delivery Mainframe IBM
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 098
Points : 1 707
Points : 1 707
C'est DB2 sur quel OS ?
Luc Orient est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2008, 09h25   #5
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 42
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2008
Messages : 42
Points : 35
Points : 35
DB2 V8 sur Z/OS
battistuta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2008, 08h49   #6
jab
Rédacteur
 
Avatar de jab
 
Homme Jean-Alain Baeyens
SharePoint developpeur
Inscription : février 2004
Messages : 1 172
Détails du profil
Informations personnelles :
Nom : Homme Jean-Alain Baeyens
Âge : 48
Localisation : Belgique

Informations professionnelles :
Activité : SharePoint developpeur
Secteur : Service public

Informations forums :
Inscription : février 2004
Messages : 1 172
Points : 3 131
Points : 3 131
Envoyer un message via ICQ à jab Envoyer un message via MSN à jab Envoyer un message via Skype™ à jab
Pourquoi ne pas faire les Delete From dans l'ordre cohérent pour l'intégrité.
jab 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 05h18.


 
 
 
 
Partenaires

Hébergement Web