Necesito crear la siguiente funcion, pero me da error, alguien me puede
ayudar????
NOTA:Incorrect syntax near the keyword 'declare'.
CREATE FUNCTION FNT_RETENCIONES_NOMINA()
RETURNS TABLE
AS
RETURN
/*Procedimiento utilizado para mostrar los ingresos y las retenciones
ejecutada
en el periodo fiscal vigente
declare fecha as datetime
set fecha=getdate()
If month(fecha)>=7 AND month(fecha)<
SELECT fun_id,
ISNULL(sum(nf.nom_sueldo+nf.nom_antiguedad+nf.nom_vacaciones+nf.nom_extras+nf.nom_retroactivo),0)
as sueldoACM,
'06/30/'+convert(char(5),year(fecha)+1) as
FiscalFIN,'07/01/'+convert(char(4),year(fecha)) as FiscalINI,
ISNULL(sum(nom_ir),0) as IrACM, ISNULL(sum(nom_inss),0) as InssACM,
ISNULL(sum(nom_Inss_Patronal),0) as InssPatronalACM
FROM nomina as n, nomina_funcionario as nf
WHERE n.nom_id=nf.nom_id and n.nom_archivar =0 and (n.ting_id= 3 or
n.ting_id=1) and n.nom_periodoini >='07/01/'+convert(char(4),year(fecha))
and n.nom_periodofin <= '06/30/'+convert(char(5),year(fecha)+1)
Group by Fun_id
else
SELECT fun_id,
ISNULL(sum(nf.nom_sueldo+nf.nom_antiguedad+nf.nom_vacaciones+nf.nom_extras+nf.nom_retroactivo),0)
as sueldoACM,
'06/30/'+convert(char(5),year(fecha)) as
FiscalFIN,'07/01/'+convert(char(4),year(fecha)-1) as FiscalINI,
ISNULL(sum(nom_ir),0) as IrACM, ISNULL(sum(nom_inss),0) as InssACM,
ISNULL(sum(nom_Inss_Patronal),0) as InssPatronalACM
FROM nomina as n, nomina_funcionario as nf
WHERE n.nom_id=nf.nom_id and n.nom_archivar =0 and (n.ting_id= 3 or
n.ting_id=1) and n.nom_periodoini >='07/01/'+convert(char(4),year(fecha)-1)
and n.nom_periodofin <= '06/30/'+convert(char(5),year(fecha))
Group by Fun_id
Leer las respuestas