Error en función

12/08/2009 - 18:17 por kojikabutosv | Informe spam
Buenos días, podrían ayudarme con ésta función por favor:

alter function _prueba(@sStateprovinceid int)
returns table as
return
if @sStateProvinceId = 0
begin
select * from Adventureworks.Person.Address
end
else
begin
select * from Adventureworks.Person.Address where stateprovinceid =
@sStateProvinceId
end

y me devuelve el siguiente error:

Incorrect syntax near the keyword 'if'.

lo que quiero con esta función es que me devuelva todos los registros si
le envío el valor cero de lo contrario que me devuelva los registro que
corresponden al estado enviado.

Saludos y gracias por su tiempo.

Preguntas similare

Leer las respuestas

#1 aa
12/08/2009 - 18:55 | Informe spam
en vez del segundo return va begin
"kojikabutosv" wrote in message
news:
Mostrar la cita
#2 kojikabutosv
12/08/2009 - 19:18 | Informe spam
gracias aa por contestar al colocar el begin ahora me retorna el
siguiente error:

Incorrect syntax near 'BEGIN'


saludos y gracias por tu tiempo,


aa escribió:
Mostrar la cita
#3 Carlos Sacristan
13/08/2009 - 09:45 | Informe spam
No puedes hacer lo que indicas en una función en línea, tienes que usar una
función de tabla. Prueba con:

ALTER FUNCTION _prueba(@sStateProvinceId INT)
RETURNS @return TABLE(
[AddressID] [int] NOT NULL,
[AddressLine1] [nvarchar](60) NOT NULL,
[AddressLine2] [nvarchar](60) NULL,
[City] [nvarchar](30) NOT NULL,
[StateProvinceID] [int] NOT NULL,
[PostalCode] [nvarchar](15) NOT NULL,
[rowguid] [uniqueidentifier] NOT NULL,
[ModifiedDate] [datetime] NOT NULL
)
BEGIN
IF @sStateProvinceId = 0
INSERT @return
SELECT * FROM Adventureworks.Person.Address
ELSE
INSERT @return
SELECT * FROM Adventureworks.Person.Address WHERE stateprovinceid =
@sStateProvinceId

RETURN
END

Echa un vistazo al tema "CREATE FUNCTION" y sus relacionados en los BOL...

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático

http://blogs.solidq.com/es/elrincondeldba


"kojikabutosv" wrote in message
news:
Mostrar la cita
#4 kojikabutosv
13/08/2009 - 16:17 | Informe spam
gracias Carlos por tu tiempo, voy a probar el ejemplo que me envías.

Exitos!!!!


Carlos Sacristan escribió:
Mostrar la cita
Ads by Google
Search Busqueda sugerida