# F_GET_OSPITI ## Codice Sorgente ```sql FUNCTION "F_GET_OSPITI" ( p_id_evento IN NUMBER ) RETURN t_det_ospiti_tab PIPELINED AS v_data DATE; v_location VARCHAR2(100); v_cliente VARCHAR2(100); v_descrizione VARCHAR2(100); v_ora_cerimonia VARCHAR2(10); v_ora_evento VARCHAR2(10); v_tot_adulti NUMBER; v_tot_kinder NUMBER; v_tot_baby NUMBER; v_tot_staff NUMBER; v_tot_invitati NUMBER; v_allergie VARCHAR2(4000); v_torta VARCHAR2(1000); v_confettata VARCHAR2(100); v_stampa_menu VARCHAR2(100); v_angoli VARCHAR2(1000); v_extra_info VARCHAR2(1000); v_note_adulti VARCHAR2(1000); v_note_kinder VARCHAR2(1000); v_note_baby VARCHAR2(1000); v_note_staff VARCHAR2(1000); BEGIN BEGIN v_tot_adulti := 0; v_tot_kinder := 0; v_tot_baby := 0; v_tot_staff := 0; v_tot_invitati := 0; v_angoli := 0; v_note_adulti := ''; v_note_kinder := ''; v_note_baby := ''; v_note_staff := ''; --ospiti SELECT nvl(SUM(o.numero), 0) INTO v_tot_adulti FROM eventi_det_ospiti o WHERE o.id_evento = p_id_evento AND o.cod_tipo_ospite = 8; -- adulti BEGIN SELECT o.note INTO v_note_adulti FROM eventi_det_ospiti o WHERE o.id_evento = p_id_evento AND o.cod_tipo_ospite = 8; -- adulti EXCEPTION WHEN no_data_found THEN NULL; END; SELECT nvl(SUM(o.numero), 0) INTO v_tot_kinder FROM eventi_det_ospiti o WHERE o.id_evento = p_id_evento AND o.cod_tipo_ospite = 5; --Kinder BEGIN SELECT o.note INTO v_note_kinder FROM eventi_det_ospiti o WHERE o.id_evento = p_id_evento AND o.cod_tipo_ospite = 5; --Kinder EXCEPTION WHEN no_data_found THEN NULL; END; SELECT nvl(SUM(o.numero), 0) INTO v_tot_baby FROM eventi_det_ospiti o WHERE o.id_evento = p_id_evento AND o.cod_tipo_ospite = 6; -- Baby BEGIN SELECT o.note INTO v_note_baby FROM eventi_det_ospiti o WHERE o.id_evento = p_id_evento AND o.cod_tipo_ospite = 6; -- Baby EXCEPTION WHEN no_data_found THEN NULL; END; SELECT nvl(SUM(o.numero), 0) INTO v_tot_staff FROM eventi_det_ospiti o WHERE o.id_evento = p_id_evento AND o.cod_tipo_ospite = 7; -- Staff BEGIN SELECT o.note INTO v_note_staff FROM eventi_det_ospiti o WHERE o.id_evento = p_id_evento AND o.cod_tipo_ospite = 7; -- Staff EXCEPTION WHEN no_data_found THEN NULL; END; SELECT nvl(e.tot_ospiti, 0) INTO v_tot_invitati FROM eventi e WHERE e.id = p_id_evento; PIPE ROW ( t_det_ospiti_row(p_id_evento, v_tot_adulti, v_tot_kinder, v_tot_baby, v_tot_staff, v_tot_invitati, v_note_adulti, v_note_kinder, v_note_baby, v_note_staff) ); EXCEPTION WHEN OTHERS THEN NULL; END; RETURN; END;```