Vraag : dynamic_cursor

Als ik een procedure met een curseur zoals this

CURSEUR my_list
IS
UITGEZOCHT * VAN TABLE1 heb, willen de LIJST 2
WHERE.

EN de verkoper zoals p_vendcode


Gebruikers vraag met filter op vendcode kunnen in werking stellen en zonder filter.

daar een manier de zelfde die curseur op de waarde wordt gebaseerd met „p_vendcode“ overging of ik twee cursors
moet maken en de aangewezen one.

The zeer lang is met verscheidene UNIE, enz. Het zou gemakkelijker zijn als ik it

I kan wijzigen denk één optie dat moet veranderen om variabele te binden en dan iets te doen like

If (p_flag is „F“) my_cursor van Then
open gebruikend: p_vendcode
else
open mijn _cursor gebruikend 1=1
end als;

Antwoord : dynamic_cursor

Controle uit het volgende eenvoudige proefproces.
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:
de zuivering van de dalingslijst tab1;
cre�ër lijst tab1 (verkopersklusje (1));

tussenvoegsel in tab1 waarden ('a');
tussenvoegsel in tab1 waarden ('b');
tussenvoegsel in tab1 waarden („D“);
bega;


cre�ër of vervang procedure myProc (p_filter in klusje, p_vendcode in klusje)
is
	my_var	varchar2 (100);
	myCur	sys_refcursor;
	myResult klusje (1);
begin

	My_var: = „uitgezochte verkoper van tab1 waar de verkoper als decodeert (''' || p_filter || ''', '' A '', '' % '', '' F '', ''' || p_vendcode|| ''')“;

	open myCur voor my_var;
	haal myCur in myResult;
	dbms_output.put_line („gekregen: “ || myResult);
	dichte myCur;
eind;
/

exec myProc ('a', 'b');
exec myProc („F“, „D“);
Andere oplossingen  
 
programming4us programming4us