
#plsql #sql #oracle #naukaprogramowania
Witam, mam problem z zadaniem
dla sprawdzenia czy poprawnie napisałem skąd ma pobierać napisałem:
i wyświetliło wszystko dobrze
ale kiedy zrobiłem funkcję:
wyskoczył mi błąd:
co robię źle?
Witam, mam problem z zadaniem
Napisz program za pomocą funkcji, który pokaże pracowników w danym zespole(jako argument podaj miejsce pracy pracownika)
dla sprawdzenia czy poprawnie napisałem skąd ma pobierać napisałem:
SELECT z.IDZESP, z.nazwisko, b.adres FROM pracownicy z join zespoly b on z.idzesp=b.idzesp where z.idzesp=20
i wyświetliło wszystko dobrze
ale kiedy zrobiłem funkcję:
create or replace FUNCTION pracownicywzespole (idzespolu IN number)
RETURN number IS
nazwpracownika varchar (99);
BEGIN
SELECT z.IDZESP, z.nazwisko, b.adres into nazwpracownika FROM PRACOWNICY z join ZESPOLY b on z.idzesp=b.idzesp where z.idzesp=idzespolu;
RETURN (nazw_pracownika);
END;
wyskoczył mi błąd:
Error(6,1): PL/SQL: SQL Statement ignored
Error(6,61): PL/SQL: ORA-00947: not enough values
co robię źle?
- Najlepsze
- Wszystkie komentarze






Nie wiem jaki cel jest tej funkcji?
Jej działanie ma polegać na tym iż podasz jej identyfikator zespołu ? i co masz dostać w wyniku jej działania? Kilka wierszy ?
Funkcja może przyjąć generalnie jedną wartość, która może ew być tablicą. Nie ma możliwości zwrócenia za pomocą funkcji kilku wierszy.
Zapytanie zadziałało, ale w przypadku funkcji jedyną możliwością jest zwrócenie wyniku wielowierszowego na standardowe wyjście, ale to wtedy nie