Oracle SQL: Comment puis-je trouver le nom de la table étant donné les noms de colonne?
Si je connais le nom de chaque colonne d'une table, mais pas le nom de la table, comment puis-je trouver le nom de la table dont j'ai besoin?
Pas sûr, mais si la clé primaire column_names pour chaque tableau est unique, alors vous pouvez peut-être essayer d'accéder aux méta-données de la base de données et la recherche dans les tables?
OriginalL'auteur user3745942 | 2014-06-18
Vous devez vous connecter pour publier un commentaire.
@Roobie de la solution, le code ci-dessous des recherches dans tous les schémas que vous avez accès, dans le cas où la table n'est pas dans votre propre schéma. Également ajouté insensible à la casse.
99,8% du temps, mais il y a toujours la possibilité de chauve-souris des trucs de fou vendeur code (en pensant à une application conçue pour SQL Server que le vendeur a fait une version Oracle). Vous pouvez créer des colonnes de cas à Oracle, mais vous ne devriez pas. Exemple:
CREATE TABLE stupid_table ( "MixedCaseColumn" INTEGER PRIMARY KEY );
. MettreUPPER
sur les deux côtés couvre le cul pour presque 100% des cas. Pour une bonne tranche de rire, de voir ce violon je viens de mettre ensemble: sqlfiddle.com/#!4/2840e/1/0Oh. Obtenu votre point. Cheers
OriginalL'auteur Joshua Huber
Essayez ceci (celui du nom de la colonne):
CREATE TABLE mytab(mycol VARCHAR2(30 CHAR));
SELECT table_name FROM user_tab_columns WHERE column_name='MYCOL';
Note
MYCOL
est dans supérieure cas danscolumn_name='MYCOL'
;Cheers!
OriginalL'auteur Roobie
OriginalL'auteur souvik