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

SQL Firebird Discussion :

comment effectuer une requête sur toutes les tables


Sujet :

SQL Firebird

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 9
    Points : 7
    Points
    7
    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.

  2. #2
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 712
    Points
    3 712
    Par défaut
    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

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    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)

  4. #4
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 712
    Points
    3 712
    Par défaut
    Voilà des vues système qui peuvent aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Merci pour la réponse, je vais essayer de m'en sortir avec ça!

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

Discussions similaires

  1. Comment faire une jointure sur toutes mes tables
    Par vevere dans le forum Requêtes
    Réponses: 1
    Dernier message: 23/03/2011, 14h09
  2. Réponses: 2
    Dernier message: 17/06/2009, 10h12
  3. Réponses: 3
    Dernier message: 14/03/2007, 17h31
  4. Réponses: 5
    Dernier message: 08/01/2007, 21h03
  5. Réponses: 1
    Dernier message: 11/09/2006, 10h16

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