oracle SQL, procedura, błąd: exact fetch returns more than requested number of rows

0

tworze procedurę PodajRodzeństwo222
parametr wejściowy to pesel osoby, której rodzeństwo chcemy znać.
Ma ona wypisać na ekran imiona sióstr i braci osoby o podanym peselu peselu.
dane wejściowe to

screenshot-20170121192339.png

zacząłem tak

create or replace PROCEDURE podajRodzenstwo222 (
p_PESEL IN osoba.PESEL%TYPE
)
IS
v_PeselMatki char(11);
v_IMIE VARCHAR2(40);
BEGIN

SELECT osoba.matka
Into v_peselMatki
from Osoba 
Where 
osoba.pesel=p_PESEL; 
IF v_PESELMatki >=2
THEN

SELECT osoba.Imie
INTO v_Imie
FROM Osoba;
--Where 
--osoba.Matka>=2;

DBMS_OUTPUT.PUT_LINE('imię i nazwisko rodzenstwa osoby o PESLU nr' ||p_PESEL|| ' to '||v_Imie|| ' ' );

END IF;
COMMIT;
END podajRodzenstwo222;

błąd jaki mi wywaliło to

ORA-01422: exact fetch returns more than requested number of rows
ORA-06512: at "xxxxxxxxxxxxxxx", line 17
ORA-06512: at line 6

siedzę i siedzę, myślę i myslę, potrzebuje impulsu, kierunku, proszę o pomoc

1

Zapytanie: SELECT cosTam INTO @TwojaZmienna wyrzuci wyjątek w sytuacji kiedy operacja ta znajdzie więcej lub mniej niż 1 wartość. I to się dzieje w Twoim przypadku.

0

czyli pewnie kursory

0

użyj select top 1

1 użytkowników online, w tym zalogowanych: 0, gości: 1