2009-11-24 4 views
0

J'essaie actuellement de remplir un curseur dans la procédure.Comment remplir un curseur pendant l'exécution

comme ça:

Function notImportantFunction 
    variable nothing(20); 
    Cursor notImportantCursor Is select...; 
    Cursor THEcursor; 
begin 
    open notImportantCursor; 
    open THEcursor; 
    LOOP 
     FETCH notImportantCursor variable; 
    EXIT WHEN notImportantCursor%NOTFOUND; 
     THEcursor is select ...; //trying to populate THEcursor 
    end loop; 
    close THEcursor; 
    close notImportantCursor; 
end; 

je l'ai utilisé nom bizarre pour ma variable juste pour montrer la seule importante ici est THEcursor.

est ce que j'essaie même possible? ou, comment serais-je capable de faire la même chose d'une autre manière.

vous remercie à l'avance

Répondre

1

Je pense que ce que vous demandez est "Puis-je créer un curseur basé sur une requête que je n'ai pas à définir lorsque je déclare le curseur" Si c'est ce que vous voulez, regardez ici pour plus d'informations sql.

Dynamic SQL

Il est un exemple parfait dans la section Objets de Référencer base de données qui ne figurent pas encore à la compilation. Vous pouvez recréer le curseur à chaque fois, comme vous le souhaitez.
Si vous avez besoin de quelque chose d'un peu plus flexible, comme créer un curseur qui contient trois valeurs dans chaque enregistrement et que vous voulez peupler ces valeurs de différentes façons, vous pouvez rechercher des fonctions de table pipelinées

0

Je ne suis pas tout à fait sûr de ce que vous essayez de faire - remplir un curseur? Un curseur est basé sur une requête, alors comment prévoyez-vous de le remplir? Peut-être que vous voulez remplir une table basée sur un curseur? Vous pouvez le faire en accumulant les résultats du curseur dans une collection, puis en utilisant une insertion en bloc pour remplir la table.

+0

hmm, peut-être que je n'ai pas utilisé le bon terme. Oubliez peupler. Disons que je voulais dire que je veux dynamiquement remplir le curseur avec différentes valeurs pour chaque itération de la boucle – Zwik

Questions connexes