Questione : dynamic_cursor

Se ho una procedura con un cursore come il my_list
IS
del CURSORE del
del this
PRESCELTO * DA TABLE1, il
della TABELLA 2
WHERE.
ED il fornitore come gli utenti del
del
del p_vendcode
vogliono potere fare funzionare la domanda con il filtro su vendcode e senza
/> è là un senso lo stesso cursore basato sul valore passato con “p_vendcode„ o fa io deve fare due il cursors
ed utilizzare il cursore adatto del
The di one.
è molto lunga con parecchi SINDACATI, ecc. Sarebbe più facile se posso modificare il it

I penso che un'opzione fosse di cambiare quello per legare la variabile ed allora per fare qualcosa my_cursor del like

If (p_flag è “F ") Then
open using: p_vendcode
else
open il mio _cursor using 1=1
end se;
class= del

Risposta : dynamic_cursor

Verificare la seguente causa semplice.
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:
cadere l'eliminazione dei fogli inceppati della tabella tab1;
generare la tabella tab1 (carbone del fornitore (1));

inserire tab1 nei valori (“A ");
inserire tab1 nei valori (“B ");
inserire tab1 nei valori (“D ");
commettere;


generare o sostituire il myProc di procedura (p_filter in carbone, p_vendcode in carbone)
è
	varchar2	my_var (100);
	sys_refcursor	del myCur;
	carbone del myResult (1);
cominciare

	My_var: = “fornitore prescelto da tab1 dove il fornitore come decodifica (''' || p_filter || ''', '' A '', '' % '', '' F '', ''' || p_vendcode|| ''')„;

	aprire il myCur per my_var;
	andare a prendere il myCur in myResult;
	dbms_output.put_line (“ha ottenuto: „ || myResult);
	myCur vicino;
estremità;
/

myProc del exec (“A„, “B ");
myProc del exec (“F„, “D ");
Altre soluzioni  
 
programming4us programming4us