Pytanie : Ref Cur

I mieć następujący Kursor che I chcieć gdy Następujący parametr using sklep Proc.
I chcieć ten refcursor tylko gdy ROWCOUNT > (0). Inny powrót pusty rejestr set.
How móc I PLSQL sklep procedura che wracać the refcursor?
When the rejestr być dostawać my chcieć Używać DLA AKTUALIZACJA POMINIĘCIE LOCKED.

Thanks
(1):
2:
3:
4:
5:
SELECT ENO, ENAME, SAL OD PRACOWNIK
DOKĄD SAL >=: V_limit
I DEPTNO =: V_dept
I ROWNUM < 500
ROZKAZ ENO;

Odpowiedź : Ref Cur

The szybki odpowiedź być ty naprawdę móc ty.

Tam  być sposób the rząd wracać w kursor jeśli dla fetch. jak tylko ty przynosić, ty móc reset the kursor z powrotem the pierwszy rząd.

Jeżeli the zapytanie biegać stosunkowo szybki ty móc the pierwszy rząd jeżeli tam  być przynajmniej jeden rząd.
(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:
opadowy stół tab1 czystka;
tworzyć stołowy tab1 (col1 char (1));

wszywka w tab1 wartość ("a ");
wszywka w tab1 wartość ("a ");
wszywka w tab1 wartość ("a ");
popełniać;


tworzyć lub zamieniać procedura myProc (inChar w char, outCur inChar sys_refcursor)
być
	tmpChar char (1);
zaczynać

	--sprawdzać dla dane przed the odpoczynek the kod
	zaczynać
		wybierać "x" w tmpChar od tab1 dokąd col1=inChar i rownum=1;
		wyjątek
			gdy NO_DATA_FOUND wtedy
				raise_application_error (- 20002, "Żadny dane zakładać.  Móc continue.");
	końcówka;


	otwierać outCur dla wybiórka col1 od tab1 dokąd col1=inChar;


końcówka;
/

pokazywać błąd


--test using SQL*Plus zmienna
var myCur refcursor

exec myProc ("a": myCur);

druk myCur

exec myProc ("B": myCur);
Inne rozwiązania  
 
programming4us programming4us