|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : août 2007 Messages : 7 ![]() |
Bonjour,
est-il possible d'effectuer un select dans une table dont la structure m'est inconnue ?? Exemple : select col(5) from ma_table --> cela me renverait le contenu de la colonne 5 de ma_table. Merci par avance de vos réponses, Jérôme. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() dba Inscription : juillet 2007 Messages : 2 537 ![]() |
J'utiliserais la table système user_tab_cols pour récupérer le nom de la colonne, je construis ma requête dynamiquement et je lance avec un execute immediate ( http://sheikyerbouti.developpez.com/execute_immediate/ )
|
|
|
00
|
|
|
#3 | ||||
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 931 ![]() |
une approche xml serait pour avoir la 3e colonne de la table EMP :
Code :
Code :
|
||||
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() dba Inscription : juillet 2007 Messages : 2 537 ![]() |
C'est incontestablement plus propre que ma solution !
|
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : janvier 2004 Messages : 15 857 ![]() |
un petit tuto sur XMLDB serait vraiment génial
|
|
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() Inscription : août 2007 Messages : 7 ![]() |
Bonjour,
Merci beaucoup pour la réponse. Je voudrais corser un peu l'ordre SQL que tu as poster sur le forum. Est-il possible d'effectuer un ordre SQL comme celui-ci : Code :
Merci par avance, Jérôme MACREZ. |
||
|
|
00
|
|
|
#7 | ||||
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 931 ![]() |
peut-être avec rownum ?
Code :
Code :
|
||||
|
00
|
|
|
#8 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 562 ![]() |
Ca a l'air propre, mais niveau perf, je sais pas.
En 9i : Sous toad, avec une table de 1500 lignes, au bout de 1 minute, j'arrête le Sql (par le bouton CANCEL) et là je suis déconnecté de la base. ORA-03113 :End-of-File on communication channel. Visiblement la jointure pour le extract lui bouffe pas mal de ressources.
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#9 | ||
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 931 ![]() |
peut-être qu'il est mieux d'avoir
Code :
bon, de tout façon je trouve ça folklorique, il serait tellement plus simple de savoir quelle colonne on veut... s'il s'agit d'une table avec des colonnes du style X1,X2,X3, on peut aussi faire decode(:n,1,col1,2,col2,3,col3) et la 3e ligne d'une table, ça ne veut rien dire, car les lignes ne sont pas ordonnées (à moins qu'on employe order by)... c'est assez bizarre de vouloir "la 3e colonne" plutôt que de vouloir "le job" ou "la date" |
||
|
00
|
|
|
#10 | ||||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 562 ![]() |
Désolé, j'ai pas donné le code :
C'est pas le rownum qui bloque, c'est ton premier code: Il n'y a que chez moi que ça foire sur une table de 1500 lignes ? Code :
Code :
__________________
More Code : More Bugs. Less Code : Less Bugs |
||||
|
|
00
|
|
|
#11 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 931 ![]() |
non, ce n'est pas que chez toi
ce code n'est donc pas très utilisable... il vaut peut-être mieux passer par une procédure plsql qui retourne une table de caractères |
|
00
|
|
|
#12 | ||
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 931 ![]() |
beaucoup plus performant que mon artifice XML :
Code :
|
||
|
00
|
Copyright © 2000-2013 - www.developpez.com