0
votes

Comment commander des noms de champs par leur ordre "naturel"?

Pour un peu d'utilité que j'écris, je répète tous les noms de champs d'une table à l'aide de: xxx

pendant que cela fonctionne correctement, il répertorie les noms de certains ordres impairs (presque aléatoire, Ce n'est pas alphabétique ni alphabétique inverse ou tel, mais au moins c'est toujours le même).

Comment puis-je appliquer l'ordre "naturel", c'est-à-dire l'ordre dans lequel les champs ont été définis et sont par exemple. énumérés dans SQLDEveloper?

I.E.:

... commander par ???


0 commentaires

3 Réponses :


4
votes

Le colonne_id code> Colonne donne la commande pour les colonnes: xxx pré>

Donc, si vous avez la table: p>

COLUMN_NAME | COLUMN_ID
:---------- | --------:
A           |         1
C           |         2
D           |         3
B           |         4


1 commentaires

Merci! Tu étais assez vite! ;-)



1
votes

Regardant plus près, j'ai repéré qu'il y a une colonne appelée "colonne_id" qui détient cette commande. Me bat pourquoi j'ai négligé cela au début.
Ainsi: xxx

a fait le tour!

Désolé pour la largeur de bande consommée!


1 commentaires

D'accord, colonne_id n'a jamais été le nom le plus évident pour ce qu'il est réellement.



0
votes

Utilisez cette requête:

select c.owner, c.table_name, c.column_name, c.column_id
  from all_tab_cols c
 where owner = 'your_owner'  
   and table_name = 'your_table'
 order by column_id ; -- <==this is the id of column in the order it was created


0 commentaires