ORACLE PL/SQL
Sziasztok!
Oracle 10g procedurát készítek de hibát generál a véglegesítésnél.
a kód :
elég egyszerű lenne :) a hiba amivel elszáll:
szükség van INTO utasításra ebben a select utasításban.
köszönöm a válaszokat.
■ Oracle 10g procedurát készítek de hibát generál a véglegesítésnél.
a kód :
PROCEDURE APRIL.SP_UGYFEL_KERES (pugyfelnev partner.partnernev%type)
IS
BEGIN
SELECT * FROM partner WHERE partnernev LIKE pugyfelnev;
END sp_ugyfel_keres;
IS
BEGIN
SELECT * FROM partner WHERE partnernev LIKE pugyfelnev;
END sp_ugyfel_keres;
elég egyszerű lenne :) a hiba amivel elszáll:
szükség van INTO utasításra ebben a select utasításban.
köszönöm a válaszokat.
Logikus
REF Cursor
köszönöm
Még egy kérdésem lenne.PL/SQL vissza adhat-e több sort?
pl:SLECT nev FROM nevek WHERE nev LIKE 'xyz%'
lehte hogy hülyeség volt a kérdés akkor elnézést :)
REF Cursor újra :)
További csemegék
Átnéztem,de nem működik
TYPE REF_CURSOR IS REF CURSOR RETURN dolgozo%ROWTYPE;
end REFCURSOR_PKG;
procedure HR.PROCEDURE4 ( p_deptno IN VARCHAR
, p_cursor OUT REFCURSOR_PKG.REF_CURSOR)
is
begin
open p_cursor FOR
select *
from dolgozo
where job_id = p_deptno;
end procedure4;
amikor létrehoztam őket nem dobott hibát,de nem tér vissza semmilyen adattal.
Köszönöm a segítséget
Nem jó a példakód :)
köszönöm a kódot kiprób.
Ami a kimenetet feldolgozná az php lenne.
Ez így kissé pongyola
Ha rekord visszaadásra van szükség akkor használható a ref cursor típusú OUT paramétert lehet használni.
Amiért INTO-t követel a db, az az, hogy a sima select-tel pl/sql-ben nem tud mit kezdeni, annak eredményét változókba/rekordokba kell tenni, vagy valami ciklusvezérlésre kell használni. Ezért teljesen jogosan mondja, azt, hogy nem érti mit akarsz azzal a selecttel... Nyilván lehet rajta vitatkozni, nekem sokkal egyértelműbb, olvashatóbb lesz így a kód (már amennyire egy pl/sql kód olvasható :) mintha a select eredményét simán visszaadná.
Így Érthető!