La funcion no compila

05/09/2006 - 19:18 por Silviall | Informe spam
Hola a todos,

Tengo esta funcion que no me compila alguien me puede decir porqué?
IF OBJECT_ID (N'dbo.MonitorsPossibles', N'FN') IS NOT NULL

DROP FUNCTION dbo.MonitorsPossibles;

GO

CREATE FUNCTION dbo.MonitorsPossibles(@DATAINI datetime,@DATAFI datetime)

RETURNS @taula TABLE

(

codipersonal INT

)

AS

BEGIN

if (datepart(dw,@DATAINI)=2)

begin

insert into @taula

select * from MonitorsDilluns (@dataini,@datafi)

end

else

begin

insert into @taula

select * from MonitorsDimarts (@dataini,@datafi)

end

END

GO

ERROR: The last statement included within a function must be a return
statement.



SilviaLl.
 

Leer las respuestas

#1 Alejandro Mesa
05/09/2006 - 19:46 | Informe spam
Silviall,

Ya chequeastes las respuestas que dieron en tu primer posting?

http://support.microsoft.com/newsgr...sloc=en-US

Si deseas usar alguna instruccion de control de flujo en tu funcion,
entonces esta debe usar la estructura de una funcion tipo tabla multi
sentencias. No puedes usar "retuns table", si no que debes especificar la
estructura de la tabla que devuelve.


AMB


"Silviall" wrote:

Hola a todos,

Tengo esta funcion que no me compila alguien me puede decir porqué?
IF OBJECT_ID (N'dbo.MonitorsPossibles', N'FN') IS NOT NULL

DROP FUNCTION dbo.MonitorsPossibles;

GO

CREATE FUNCTION dbo.MonitorsPossibles(@DATAINI datetime,@DATAFI datetime)

RETURNS @taula TABLE

(

codipersonal INT

)

AS

BEGIN

if (datepart(dw,@DATAINI)=2)

begin

insert into @taula

select * from MonitorsDilluns (@dataini,@datafi)

end

else

begin

insert into @taula

select * from MonitorsDimarts (@dataini,@datafi)

end

END

GO

ERROR: The last statement included within a function must be a return
statement.



SilviaLl.



Preguntas similares