Hola a todos, tengo la siguiente función que me devuelve un solo registro:
CREATE FUNCTION udfCantAluEstado(@IdEstado smallint)
RETURNS TABLE
AS
RETURN (SELECT count(*) as Cant
FROM Alumnos A
INNER JOIN AlumnosEstados AE ON A.IdAlumno = AE.IdAlumno
INNER JOIN Estados E ON AE.IdEstado = E.IdEstado
WHERE AE.[Fecha] = (SELECT MAX([Fecha]) FROM
AlumnosEstados D WHERE AE.IdAlumno = D.IdAlumno) and E.IdEstado = @IdEstado
GROUP BY A.IdAlumno, E.IdEstado)
Y me hace falta ese valor (Cant) para usarlo desde distintos SPs, como este,
el tema es que no se como invocar el valor que me devuelve la función:
CREATE PROCEDURE pa_proceso_inicio_clases(@Fecha as datetime) AS
INSERT INTO ProcesosClases (IdProceso, Fecha, CantAlumReg)
VALUES (1, @Fecha, udfCantAluEstado(1))
o sea, como debo llamar a udfCantAluEstado para que me devuelva el valor y
poder insertarlo?
de la forma q estoy haciendo en el ejemplo no me funciona ya que me salta
que udfCantAluEstado no es un nombre de función reconocido.
Otra opcion, pero no se como hacerla, es que la funcion devuelva un tipo de
dato Int en lugar de una tabla.
Muchas Gracias
Leer las respuestas