How do I return a 0 on the DNI and call it the anonymous block?

0

GETS_ALUMNO : function that returns the student's data from his ID (if it does not exist, he must return value 0 in the ID).

CREATE OR REPLACE FUNCTION OBTIENE_ALUMNO (V_DNI IN ALUMNOS.DNI%TYPE)
  RETURN ALUMNOS%ROWTYPE
IS
  V_ALUMNO ALUMNOS%ROWTYPE;
BEGIN
  SELECT * INTO V_ALUMNO FROM ALUMNOS WHERE DNI=V_DNI;
EXCEPTION
  WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('0');
END OBTIENE_ALUMNO;
  • See the part of DBMS_OUTPUT.PUT_LINE('0');
asked by Juan Blanco Gómez 28.05.2017 в 19:23
source

1 answer

0

Try the returns:

CREATE OR REPLACE FUNCTION OBTIENE_ALUMNO (V_DNI IN ALUMNOS.DNI%TYPE)
  RETURN ALUMNOS%ROWTYPE
IS
  V_ALUMNO ALUMNOS%ROWTYPE;
BEGIN
  SELECT * INTO V_ALUMNO FROM ALUMNOS WHERE DNI=V_DNI;
  RETURN V_ALUMNO;
EXCEPTION
  WHEN NO_DATA_FOUND THEN
    V_ALUMNO.DNI = 0;
    RETURN V_ALUMNO;
END OBTIENE_ALUMNO;
    
answered by 28.05.2017 в 20:47