Vraag : De Straathond van ref

Ik heb volgende Curseur die ik wil terugkeren aangezien uit de parameter die een opslag Proc.
I gebruiken dit refcursor wil terugkeren slechts wanneer ROWCOUNT > 0. Het anders terugkeer lege verslag set.
How kan ik een PLSQL opslagprocedure schrijven dat refcursor terugkeert?
When de verslagen wij willen verwerkt worden het gebruiken VOOR SKIP LOCKED.

Thanks
sluiten van de UPDATE
" codeBody "
1:
2:
3:
4:
5:
SELECT ENO, ENAME, ZOUT VAN WERKNEMER
WAAR ZOUT >=: V_LIMIT
EN DEPTNO =: V_DEPT
EN ROWNUM < 500
ORDE DOOR ENO;

Antwoord : De Straathond van ref

Het snelle antwoord is u werkelijk kan niet dat doen.

Er is geen manier die de rijen te controleren in een curseur zijn teruggekeerd tenzij voor haal hen. zodra u hen haalt, kunt u niet de curseur terug naar de eerste rij terugstellen.

Als de vraag vrij snel loopt kunt u de eerste rij selecteren om te zien of is er minstens één rij.
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:
de zuivering van de dalingslijst tab1;
cre�ër lijst tab1 (col1 klusje (1));

tussenvoegsel in tab1 waarden ('a');
tussenvoegsel in tab1 waarden ('a');
tussenvoegsel in tab1 waarden ('a');
bega;


cre�ër of vervang procedure myProc (inChar in klusje, outCur uit sys_refcursor)
is
	tmpChar klusje (1);
begin

	--controle voor gegevens vóór de rest van de code
	begin
		selecteer „x“ in tmpChar van tab1 waar col1=inChar en rownum=1;
		uitzondering
			wanneer NO_DATA_FOUND toen
				raise_application_error (- 20002, „Geen gevonden gegevens.  Kan verdergaan niet. “);
	eind;


	open outCur voor uitgezochte col1 van tab1 waar col1=inChar;


eind;
/

toon fouten


--test het gebruiken van variabelen SQL*Plus
var myCur refcursor

exec myProc ('a': myCur);

druk myCur

exec myProc ('b': myCur);
Andere oplossingen  
 
programming4us programming4us