Kezdőoldal » Számítástechnika » Programozás » Hogyan tudnám megoldani ezt...

Hogyan tudnám megoldani ezt PL/SQL-ben?

Figyelt kérdés

Van egy függvényem ami vár egy paramétert. Egy termék nevet, és egy lekérdezést végez vele. Ha az adott termék benne van az adatbázisban akkor visszatér a mennyiségével, ha nincs akkor az exception ágra kerül. Egyetlen problémám az hogy ugyebár number a visszatérési értéke tehát csak számmal térhet vissza a függvény, ami jó is ha van a paraméterben szereplő nevű termék. Viszont ha nincs, azt szeretném, ha egy szöveggel térjen vissza. pl: return 'Nincs ilyed adat.';. Viszont ekkor hibát jelez. Próbáltam, hogy más visszatérési értéket adok meg akkor meg ezt dobja: ORA-06502: PL/SQL: numeric or value error



create or replace function lekerdez(pnev in termek.nev%type) return number is

eredmeny number:=0;



begin

select mennyiseg into eredmeny from termek where nev=pnev;

return eredmeny;

exception

when NO_DATA_FOUND then

return 0;

end;


Mi lehet a gond?


2011. ápr. 8. 09:38
 1/1 Mykkka válasza:

Egy függvényből csak egyfajta visszatérő értéket tudsz kapni (pillanatnyi ismereteim szerint legalábbis), de azt megteheted, hogy a) szövegként küldöd ki a számot is, és ha olyan, visszakonvertálod, vagy b) a függvény hívása után 'szövegesíted' a választ.


eredm = lekerdez(pnev in termek.nev%type)

if eredm = 0 then

msg = 'Nincs ilyed adat'

else

msg = eredm || ' rekordot találtam'

end if;


Vagy valami efféle.

2011. máj. 8. 22:02
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!