
Envoyé par
OracleFan
Hello,
Je ne comprend pas bien le problème, mais un moyen pour réutiliser les noms de colonnes serait (par exemple) de les mettre dans des variables.
Un exemple rapide:
1 2 3 4 5 6 7 8 9
| WITH T1 AS (
SELECT 1 AS A, 2 AS B, 3 AS C FROM DUAL UNION ALL
SELECT 2 AS A, 4 AS B, 6 AS C FROM DUAL UNION ALL
SELECT 3 AS A, 6 AS B, 9 AS C FROM DUAL UNION ALL
SELECT 4 AS A, 8 AS B, 12 AS C FROM DUAL
)
SELECT '&&col1', '&&col2'
FROM T1
ORDER BY '&&col2' DESC, '&&col1'; |
Lorsque tu lances cette requête, la possibilité d'introduire des valeurs (ici tu ne pourra introduire que A, B, ou C) pour col1 et col2 te sera proposée.
Il est également possible de définir les valeurs de ces variables dans ton script avec la commande (SQL Plus) "def".
Bien à toi,
Je te remercie mnitu de ton effort je creuserai votre proposition ce soir 
Oui OracleFan merci bien, en fait j'avais déjà pensé à ce que vous m'avez proposé mais d'un autre angle de vue :
1 2 3
| select 'login' login,'password' password from dual
union all
select login, password from user_account where rownum <=2; |
c'est le fait de créer des alias à partir de la table dual.
Peut être ca resoudera le probleme mais ce ne sera ni pratique ni efficace parceque là je dois toujours rajouter ce bloc de code :
1 2
| select 'login' login,'password' password from dual
union all |
et ca dependera de chaque requete(càd que je serai obligé de traiter chaque requete à part
)moi je reflechie à un truc qui peut fonctionner d'une maniere dynamique sans devoir faire des retouche !!
Aussi si vous voulez, je pense à utiliser une table comme : dba_tab_columns avec laquelle on peux manipuler les colonnes d'une table quelconque mais le probleme c'est que je ne sais pas la nature de la jointure entre cette table et toute autre table de ma base de données.
par ex si on fait:
select column_name from dba_tab_columns where upper(table_name)='PRODUCT';
on aura toutes les colonnes de ma table 'product'.
En revanche moi je n'ai intérêt qu'aux colonnes de ma table 'product' qui sont passées dans le select : ex
select product_id,title from product
.
mon but c'est qu'à la fin je puisse construire un petit beau tableau dont la premiere ligne sera consacré au noms des colonnes passée dans mon SELECT
et les autres lignes qui suivent pour les valeurs recupereés avec la requete !!
je crois pas je pourrais desormais être plus clair que ça
Partager