Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
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 06/09/2006, 11h46   #1
Invité de passage
 
Inscription : juillet 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 9
Points : 3
Points : 3
Par défaut comment effectuer une requête sur toutes les tables

Bonjour,

Voilà mon probleme:

J'ai une table avec une colonne qui contient des informations que je voudrais supprimer. Mais avant cela, je voudrais vérifier que ces données ne sont pas liés à d'autres tables et que cela ne plantera pas mon appli derriere. Je voudrais donc faire une requête sur toutes les tables de ma base de données pour voir si cette colonne apparait dans d'autres tables.

J'espere avoir été suffisament clair, sinon dites le moi, je préciserai(enfin j'essaierai ).

PS: j'ai été sur la faq, mais la solution qui est donnée provoque une flopée d'erreur et donc ne fonctionne pas.
Skratch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2006, 11h55   #2
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
tu veux dire voir s'il existe des contraintes ?
parce que COLA dans TABLEA, ce n'est pas forcément la même chose, que COLA dans TABLEB
le nom de champ n'a aucune signification particulière

C'est quand même étrange que tu ne connaisse pas comment sont organisées les données dans ta propre application ...
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2006, 12h12   #3
Invité de passage
 
Inscription : juillet 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 9
Points : 3
Points : 3
En fait, ce n'est pas mon application, je travaille depuis 2 mois pour une société et je suis le seul technicien au boulot en ce moment, donc obligé de me débrouiller

Sinon, oui, c'est ça, je voudrais savoir si il y a des contraintes sur ce champ, mais je ne sais pas du tout comment faire ça avec la base interbase que j'ai là. Comment m'y prendre? (je suis plutôt novice, donc là je rame)
Skratch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2006, 13h26   #4
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
Voilà des vues système qui peuvent aider :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
CREATE VIEW CHECK_CONSTRAINTS (
  CONSTRAINT_NAME,CHECK_CLAUSE)
 AS
  SELECT RDB$CONSTRAINT_NAME, RDB$TRIGGER_SOURCE
  FROM RDB$CHECK_CONSTRAINTS RC, RDB$TRIGGERS RT
   WHERE RT.RDB$TRIGGER_NAME = RC.RDB$TRIGGER_NAME;
 
CREATE VIEW CONSTRAINTS_COLUMN_USAGE (
  TABLE_NAME,
  COLUMN_NAME,
  CONSTRAINT_NAME)
 AS
  SELECT RDB$RELATION_NAME, RDB$FIELD_NAME, RDB$CONSTRAINT_NAME
  FROM RDB$RELATION_CONSTRAINTS RC, RDB$INDEX_SEGMENTS RI
   WHERE RI.RDB$INDEX_NAME = RC.RDB$INDEX_NAME;
 
CREATE VIEW REFERENTIAL_CONSTRAINTS (
  CONSTRAINT_NAME,
  UNIQUE_CONSTRAINT_NAME,
  MATCH_OPTION,
  UPDATE_RULE,
  DELETE_RULE )
 AS
  SELECT RDB$CONSTRAINT_NAME, RDB$CONST_NAME_UQ, RDB$MATCH_OPTION, RDB$UPDATE_RULE, RDB$DELETE_RULE
  FROM RDB$REF_CONSTRAINTS;
 
CREATE VIEW TABLE_CONSTRAINTS (
  CONSTRAINT_NAME,
  TABLE_NAME,
  CONSTRAINT_TYPE,
  IS_DEFERRABLE,
  INITIALLY_DEFERRED)
 AS
  SELECT RDB$CONSTRAINT_NAME, RDB$RELATION_NAME, RDB$CONSTRAINT_TYPE, RDB$DEFERRABLE, RDB$INITIALLY_DEFERRED
  FROM RDB$RELATION_CONSTRAINTS;
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2006, 14h04   #5
Invité de passage
 
Inscription : juillet 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 9
Points : 3
Points : 3
Merci pour la réponse, je vais essayer de m'en sortir avec ça!
Skratch est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h14.


 
 
 
 
Partenaires

Hébergement Web