Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE FUNCTION esq_ceac_planclase.f_departamento_docente(p_idperiodo integer, p_idpersonal bigint)
- RETURNS integer AS
- $BODY$
- DECLARE
- v_iddepartamento_docente integer;
- v_periodo_fecha_final date;
- v_periodo_fecha_inicial date;
- BEGIN
- select p.fecha_inicio, p.fecha_final into v_periodo_fecha_inicial, v_periodo_fecha_final from esq_periodos_academicos.periodo_academico p where p.idperiodo = p_idperiodo;
- select d.iddepartamento into v_iddepartamento_docente
- FROM esq_distributivos.dedicacion_categoria_personal_academico d
- where d.iddepartamento > 0 and coalesce(coalesce(d.id_rol, 5), 5) in (51, 5,61) and d.idpersonal = p_idpersonal
- and (d.fecha between v_periodo_fecha_inicial and v_periodo_fecha_final
- or coalesce(d.fecha_final, '2999/12/31') between v_periodo_fecha_inicial and v_periodo_fecha_final
- or v_periodo_fecha_inicial BETWEEN d.fecha and coalesce(d.fecha_final, '2999/12/31')
- or v_periodo_fecha_final BETWEEN d.fecha and coalesce(d.fecha_final, '2999/12/31'))
- order by d.fecha desc;
- return v_iddepartamento_docente;
- END;
- $BODY$
- LANGUAGE plpgsql VOLATILE
- COST 100;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement