FUNCTION ADD( p_user SCHOOLING.iduser%TYPE, p_name SCHOOL.name%TYPE, p_address SCHOOL.address%TYPE, p_type SCHOOL.type%TYPE, p_beginDate SCHOOLING.beginDate%TYPE, p_endDate SCHOOLING.endDate%TYPE, p_graduate SCHOOLING.graduate%TYPE ) RETURN NUMBER AS CURSOR c_school IS SELECT idSchool from SCHOOL where name=p_name and address=p_address and type=p_type; cur_school SCHOOL%ROWTYPE; c_idschool NUMBER; idschling NUMBER BEGIN OPEN school; LOOP FETCH c_school in cur_school; IF cur_school%FOUND then c_idschool:=cur_school.idSchool; ELSE INSERT INTO SCHOOL(name,address,type) values(p_name,p_address,p_type) returning idSchool into idSchool; EXIT; END IF; INSERT INTO SCHOOLING ( iduser, idSchool, beginDate, endDate, graduate ) VALUES ( p_user, c_idschool, p_beginDate, p_endDate, p_graduate ) returning idschooling into idschling; return idschling; END ADD;