Question : Cabot de référence

J'ai le curseur suivant que je veux pour retourner pendant que dehors le paramètre using un magasin Proc.
I veulent renvoyer ce refcursor seulement quand ROWCOUNT > 0. Le disque vide de retour d'autre set.
How peut j'écrire un procédé de magasin de PLSQL qui renvoie le refcursor ? le
When que les disques sont obtenant traité nous veulent fermer à clef employant POUR LE SAUT LOCKED.

Thanks
de MISE À JOUR class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
1 :
2 :
3 :
4 :
5 :
>SELECT " de l'id= " codeSnippet749489 de
= DE SEL : V_LIMIT
ET DEPTNO = : V_DEPT
ET ROWNUM < 500
ORDRE PAR ENO ;
class= de

Réponse : Cabot de référence

La réponse rapide est vous vraiment ne peut pas faire cela.

Il n'y a pas une manière de vérifier les rangées retournées dans un curseur à moins que pour l'effort elles. une fois que vous les cherchez, vous ne pouvez pas remettre à zéro le curseur de nouveau à la première rangée.

Si la question fonctionne relativement vite vous pouvez choisir la première rangée pour voir s'il y a au moins une rangée.
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
24 :
25 :
26 :
27 :
28 :
29 :
30 :
31 :
32 :
33 :
34 :
35 :
36 :
37 :
38 :
39 :
40 :
purge de la table tab1 de baisse ;
créer la table tab1 (char col1 (1)) ;

insérer dans les valeurs tab1 (« a ") ;
insérer dans les valeurs tab1 (« a ") ;
insérer dans les valeurs tab1 (« a ") ;
commettre ;


créer ou remplacer le myProc de procédé (inChar dans le char, d'outCur le sys_refcursor dehors)
est
	char tmpChar (1) ;
commencer

	--vérifier les données avant le reste du code
	commencer
		choisir « x » dans tmpChar à partir de tab1 où col1=inChar et rownum=1 ;
		exception
			quand NO_DATA_FOUND alors
				raise_application_error (- 20002, « aucunes données ont trouvé.  Ne peut pas continue.") ;
	extrémité ;


	ouvrir l'outCur pour col1 choisi de tab1 où col1=inChar ;


extrémité ;
/

montrer les erreurs


--examiner en employant des variables de SQL*Plus
refcursor de myCur de variété

myProc d'exec (« a » : myCur) ;

myCur d'impression

myProc d'exec (« b » : myCur) ;
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