2009-03-26 5 views
1

Je voudrais générer vueJe voudrais générer vue dans l'oracle qui convertit l'entrée séparés par des virgules à des colonnes

CUSTOMER, CUSTOMER_ID, PRODUCTS 
ABC INC 1   A=XYX, B=ZZZ 
DEF CO 2   A=XYX, B=ZZZ, C=WWW 
GHI LLC 3   B=ZYX 

aimerait le point de vue d'être quelque chose comme

CUSTOMER, CUSTOMER_ID, A B C 
ABC INC 1   XYX ZZZ 
DEF CO 2   XYX ZZZ WWW 
GHI LLC 3     ZYX  

Je me demandais s'il y a moyen de le faire en oracle est moyen rapide et efficace. Je sais que cela peut être fait avec PLSQL ou avec une certaine logique. Ce qui me préoccupe ici, ce sont surtout les performances, car j'ai besoin d'extraire des données toutes les 10 minutes à partir de tables qui contiennent énormément de données et qui ne veulent pas que la requête de vue prenne plus de temps.

Des idées ou des suggestions?

Merci,

Tam

Répondre

1

est là toujours juste A, B et C? si tel est le cas, utilisez substr et instr

0

Comme le dit Matthew, il s'agit simplement d'une simple fonction de chaîne de caractères pour isoler ces valeurs, mais si vous pensez pouvoir interroger la vue avec des prédicats tels que B = XYZ, alors vous êtes va devoir se pencher sur l'ajout d'index fonctionnels sur les tables sous-jacentes.

Questions connexes