Questione : Cur di riferimento

Ho seguente cursore che voglio per restituire mentre fuori il parametro using un deposito Proc.
I vuole restituire questo refcursor soltanto quando ROWCOUNT > 0. L'annotazione vuota di ritorno altra set.
How può io redigere una procedura del deposito di PLSQL che restituiscono il refcursor? il
When che le annotazioni sono ottenendo procedato noi vuole chiudere usando PER IL SALTO LOCKED.

Thanks
dell'AGGIORNAMENTO class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
>SELECT notpretty ENO, ENAME, SALE " del class= " del id= " codeSnippet749489 del
= DEL SALE: V_LIMIT
E DEPTNO =: V_DEPT
E ROWNUM < 500
ORDINE DA ENO;
class= del

Risposta : Cur di riferimento

La risposta rapida è voi realmente non può fare quello.

Ci non è un senso controllare le file restituite in un cursore a meno che per l'ampiezza loro. una volta che le andate a prendere, non potete ripristinare il cursore di nuovo alla prima fila.

Se la domanda funziona relativamente rapidamente potete selezionare la prima fila per vedere se ci è almeno una fila.
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:
eliminazione dei fogli inceppati della tabella tab1 di goccia;
generare la tabella tab1 (carbone col1 (1));

inserire tab1 nei valori (“a ");
inserire tab1 nei valori (“a ");
inserire tab1 nei valori (“a ");
commettere;


generare o sostituire il myProc di procedura (inChar in carbone, del outCur in sys_refcursor fuori)
è
	carbone tmpChar (1);
cominciare

	--controllare per vedere se ci sono dati prima del resto del codice
	cominciare
		selezionare “la x„ in tmpChar a partire da tab1 dove col1=inChar e rownum=1;
		eccezione
			quando NO_DATA_FOUND allora
				raise_application_error (- 20002, “nessun dati hanno trovato.  Non può continue.");
	estremità;


	aprire il outCur per col1 prescelto da tab1 dove col1=inChar;


estremità;
/

mostrare gli errori


--provare usando le variabili di SQL*Plus
refcursor del myCur di varietà

myProc del exec (“a„: myCur);

myCur della stampa

myProc del exec (“b„: myCur);
Altre soluzioni  
 
programming4us programming4us