Funkcja PL/SQL

0

Witam mam napisać funkcję, która dla zadanego identyfikatora zwracała rekord z danymi studenta.
Zdefiniowałem tę funkcję

create or replace function rekord
(p_id_studenta number)
return studenci%rowtype as wiersz studenci%rowtype;
begin 
select * into wiersz from studenci
where id_studenta = p_id_studenta;
return wiersz;
end;

Ale nie mogę jej wywołać:

begin 
dbms_output.put_line(rekord(2));
end;

Ponieważ wyskakuje błąd

wrong number or types of arguments in call to 'PUT_LINE'

Proszę o pomoc.

0

Argumenty funkcji oddziela się przecinkami. Ma pewno istnieje rekord o id_studenta =2 w tabeli studenci?

0

ale dlaczego wynik funkcji, którym jest rekord próbujesz wyświetlić przez put_line?

1
DECLARE
  a_wiersz studenci%ROWTYPE;
BEGIN
  a_wiersz := rekord(2);
  dbms_output.put_line(a_wiersz.jakies_pole);
END;

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