-- Function: tehuelche.sp_tai_sbc_solicitud() -- DROP FUNCTION tehuelche.sp_tai_sbc_solicitud(); CREATE OR REPLACE FUNCTION tehuelche.sp_tai_sbc_solicitud() RETURNS trigger AS $BODY$ DECLARE li_cantidad int2; li_tipo_doc int4; li_nro_doc character varying(15); li_solic_v int4; li_res int2; BEGIN IF NEW.solicitud_original IS NOT NULL THEN return NULL; END IF; -- TENGO QUE SACAR QUE PERSONA ES LA QUE SE ESTA INCORPORANDO SELECT tipo_documento, nro_documento INTO li_tipo_doc, li_nro_doc FROM mdc_personas p WHERE p.persona = NEW.persona; -- VERIFICO SI PUEDO SACAR LOS DATOS DE GUARANI O DE UNA CONVOCATORIA PREVIA SELECT COUNT(*) INTO li_cantidad FROM vga_personas WHERE tipo_documento = li_tipo_doc AND nro_documento = li_nro_doc; IF li_cantidad = 0 THEN SELECT solicitud INTO li_solic_v FROM sbc_solicitud s, mdc_personas p WHERE s.persona = p.persona AND p.tipo_documento = li_tipo_doc AND p.nro_documento = li_nro_doc AND s.solicitud_original is NULL ORDER BY f_version DESC LIMIT 1; IF FOUND THEN li_res:= sp_datos_iniciales_desde_solicitud(li_tipo_doc, li_nro_doc, NEW.solicitud, li_solic_v); END IF; ELSE li_res:= sp_datos_iniciales_desde_guarani(li_tipo_doc, li_nro_doc, NEW.solicitud); END IF; RETURN NEW; END; $BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION tehuelche.sp_tai_sbc_solicitud() OWNER TO postgres;