Sélection du contenu des indexs d'une table - SQL/NoSQL - Programmation
Marsh Posté le 25-05-2010 à 13:26:40
ReplyMarsh Posté le 25-05-2010 à 13:41:27
Fred999 a écrit : Salut, |
J'avais déjà essayé, sans succès (que ce soit avec COLUMN_NAME, qui n'existe pas dans la vue DBA_INDEXES, ou avec INDEX_NAME, qui lui y figure)
Marsh Posté le 25-05-2010 à 13:49:00
ya pas une table systeme du style user_tab_columns avec comme champs column_name?
Marsh Posté le 25-05-2010 à 13:49:40
Aaaah je comprends mieux
Hum désolé dans ce cas je pourrai pas t'aider, j'ai pas le mdd des tables système d'Oracle sous la main
Marsh Posté le 25-05-2010 à 14:09:04
boomy29 a écrit : ya pas une table systeme du style user_tab_columns avec comme champs column_name? |
Si, sauf que je n'y vois rien indiquant si la colonne est indexée. Je viens de trouver : il y a la table ALL_IND_COLUMN qui contient cette info. Par contre, toujours pas moyen de préciser dans la clause "where" du premier select qu'il faut vérifier le nom de la colonne.
Fred999 a écrit : Aaaah je comprends mieux |
Merci quand même
Marsh Posté le 25-05-2010 à 14:41:18
et pourquoi tu veux passer par ta table pour faire ca? tu as le TABLE_OWNER et TABLE_NAME dans SYS.ALL_IND_COLUMNS c'est la dessus qu'il faut filtrer
Marsh Posté le 25-05-2010 à 14:48:29
casimimir a écrit : et pourquoi tu veux passer par ta table pour faire ca? tu as le TABLE_OWNER et TABLE_NAME dans SYS.ALL_IND_COLUMNS c'est la dessus qu'il faut filtrer |
Parce ce que je cherche en définitive, c'est le contenu des colonnes indexées. Sauf que j'essaie de parvenir à leur contenu, sans connaître à l'avance le nom desdites colonnes.
En gros je veux faire l'équivalent de
Code :
|
Sans avoir à préciser ID et NOM (on les suppose inconnus).
Dans l'idée, ce serait quelque chose comme ça (syntaxiquement incorrect) :
Code :
|
Marsh Posté le 25-05-2010 à 14:57:46
si tu passes par un language au dessus tu peux construire une requête qui la formaterait correctement, ou si tu veux rester ne pur oracle il faudra passer par du pl/sql pour générer la requête, mais je ne sais pas si il y a moyen de renvoyer un ref cursor a partir d'un sql dynamique.
faut voir si c'est pour automatiser complètement ou bien si une fontion qui te revoie le sql que tu exécutes a coté te suffit
Marsh Posté le 25-05-2010 à 15:06:35
Réponse que je redoutais Je peux éventuellement me débrouiller en programmant, mais l'idée était d'essayer de tout faire en une requête.
Marsh Posté le 25-05-2010 à 11:36:29
Bonjour
Je cherche à récupérer le contenu de tous les index d'une table sous oracle.
Ce qui donne un peu près le code suivant :
Sauf qu'évidemment, ça ne marche pas Pour cause : identificateur COLUMN_NAME invalide (ORA-00901)
Quelqu'un aurait une idée de comment je pourrais faire ? Merci d'avance
---------------
L'ennemi est bête : il croit que c'est nous l'ennemi alors que c'est lui !