Hola Amigos,
Estoy creando una funcion que me devuelva una TABLA
Pero no se como hacer que esta me devuelva el resultado de la tabla.
1. a la funcion le envio Parametros
2. En base a estos genero la cadena SQL Adecuada.
3. Ya tengo la cadena "SELECT"
4. Ahora com hago para asignar el resultado de esta cadena al nombre de la
Funcion - "ftable_SubConsultaRptRecibos"????
Estoy trabado en este punto porfavor si alguien sabe la solucion.
ayudeme.
Saludos,
Edwin. ******Codigo de la Funcion ***********
*******************
CREATE FUNCTION [dbo].[ftable_SubConsultaRptRecibos]
(
@ChkFecha bit,
@FechaIni nvarchar(12) ,
@FechaFin nvarchar(12) ,
@nVerAnulados tinyint
)
RETURNS
@TSubReporteMontos TABLE
(
[RECIBONRO] [nvarchar](10) NOT NULL,
[COD_ALUMNO] [nvarchar](8) NOT NULL,
[Nombres] [nvarchar](100) NOT NULL,
[FECREC] [datetime] NOT NULL,
[ESPECI] [nvarchar](2) NULL,
[MONTOTOTAL] [smallmoney] NOT NULL
)
AS
BEGIN
DECLARE @cSQL nvarchar(Max)
SET @cSQL = 'SELECT RecibosMov.RECIBONRO, RecibosMov.COD_ALUMNO,
Maestro.NOMBRE as nombres, FECREC, ESPECI, MONTOTOTAL '
SET @cSQL = @cSQL + 'FROM Maestro INNER JOIN RecibosMov ON
Maestro.COD_ALUMNO = RecibosMov.COD_ALUMNO '
if @ChkFecha = 0
begin
if @nVerAnulados = 1
SET @cSQL = @cSQL + 'WHERE ANULADO = 0'
if @nVerAnulados = 2
SET @cSQL = @cSQL + 'WHERE ANULADO = 1'
end
else
begin
SET @cSQL = @cSQL + 'WHERE (RecibosMov.FECREC >= '+ @FechaIni + ')'
+ ' AND (RecibosMov.FECREC <= ' + @FechaFin + ') '
if @nVerAnulados = 1
SET @cSQL = @cSQL + 'AND ANULADO = 0'
if @nVerAnulados = 2
SET @cSQL = @cSQL + 'AND ANULADO = 1'
end;
RETURN
END
GO
***************************
Leer las respuestas