Bonjour,
Je voudrais trovuer le nom de la table où l'id vaut 1-ABC (identifiant unique de la table).
J'ai écris cette requête qui ne marche pas :
Une idée?Code:SELECT TABLE_NAME FROM user_tables where id='1-ABC'
Version imprimable
Bonjour,
Je voudrais trovuer le nom de la table où l'id vaut 1-ABC (identifiant unique de la table).
J'ai écris cette requête qui ne marche pas :
Une idée?Code:SELECT TABLE_NAME FROM user_tables where id='1-ABC'
Ca dépend de ton SGBD... Lequel est-ce?
Oracle :)
c'est Oracle.
En une requête ca m'a l'air compliqué.
Il faut d'abord que vous sélectionné toutes les tables qui ont une PK du type voulu.
ensuite pour chaque table que vous fassiez le test.
=> fonction pl/sql
L'identifiant unique dont je parle est la clef primaire, si ca change quelque chose...
Je suis d'accord avec punkoff, ça me semble impossible de s'en sortir en SQL pur...:(
Salut,
Si c'est le nom de ta colonne, tu as deux tables qui donnent ça. (Si c'est une valeur donnée de la colonne, on en reste aux remarques des autres)
Attention, en majuscule les noms de colonnes :
Ca te donne toutes les tables dont cette colonne fait partie de la PK.Code:
1
2
3
4
5
6 select * from all_cons_columns a join all_constraints b on a.constraint_name = b.constraint_name where column_name = 'TA_COLONNE_EN_MAJUSCULE' and b.constraint_type = 'P'
A retravailler un peu si tu veux les tables dont c'est la seule colonne PK.