Question : SQL dynamique pour les curseurs/boucles nichés

Bonjour, le

I ont deux curseurs que j'emploie dans mon procédé de PL/SQL.  Pour le curseur niché, je dois lui passer le nom de colonne pour regarder.  Par exemple, le curseur du

My premier choisira 10 colonnes dans des variables ; nous les appellerons : le
v_col1, v_col2, v_col3, etc.

Then, pour chacune de ces variables, j'appelle mon curseur niché, mais les colonnes que j'ai employées dans le curseur niché seront basées sur une des variables ci-dessus.  Par exemple, pour v_col1, je veux exécuter ce curseur : distnct col1, NTILE du

select (10) plus de (ordre par desc col1) comme DECILE_RANK de table1 où col1 n'est pas ordre nul par le desc de DECILE_RANK ; le

and pour v_col2, je veux exécuter ce curseur : distnct col2, NTILE du

select (10) plus de (ordre par desc col2) comme DECILE_RANK de table1 où col2 n'est pas ordre nul par le desc de DECILE_RANK ; ;

. .and ainsi de suite.  Tellement fondamental, le curseur niché est essentiellement le même, excepté le rapport et où la clause variera basé sur chacun de mon variables.

Rather qu'ont 10 curseurs nichés distincts, je choisis voudrais transformer le curseur niché en n'importe quoi de pareil et passer dynamiquement les noms de colonne : v_columnname du

select, NTILE (10) plus de (ordre par le desc de v_columnname) comme DECILE_RANK de table1 où le v_columnname n'est pas ordre nul par le desc de DECILE_RANK ;

Is ceci possible ?  Est-ce que si oui, quelqu'un pourrait svp me fournir un certain code d'indicateurs/échantillon de la façon faire ceci ?

Thanks !
class= de

Réponse : SQL dynamique pour les curseurs/boucles nichés

1 :
2 :
3 :
4 :
5 :
6 :
déclarer
 s_sql    varchar2 (200) ;
.....
 s_sql : = « choisi » || v_columnname || « NTILE (10) plus de (ordre par » || v_columnname || « desc) comme DECILE_RANK de table1 où » || v_columnname || « n'est pas l'ordre nul par le desc de DECILE_RANK ;  »
 exécuter le s_sql immédiat ;
.....
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us