Programación en castellano
Inicio > Foros > SQL Server > Error al crear función en sql-server 2000 sp3
-Foros de debate

SQL Server
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

Error al crear función en sql-server 2000 sp3
Enviado por charrosa el día 12 de agosto de 2005

CREATE FUNCTION prueba
RETURNS varchar
AS
BEGIN
RETURN('hola')
END

Algo tan secillo y me dice
Error 170: sintaxis incorrecta cerca de 'FUNCTION'.
En este contexto no se puede utilizar la instrucción RETURN con un valor de retorno.

 
Re: Error al crear función en sql-server 2000 sp3
Enviado por gerardo el día 13 de noviembre de 2007

CREATE FUNCTION prueba () -- te faltaban los parentesis
RETURNS varchar
AS
BEGIN
RETURN('hola')
END

 

Re: Error al crear función en sql-server 2000 sp3
Enviado por charrosa el día 16 de agosto de 2005

Nadie me puede ayudar??

 
Re: Re: Error al crear función en sql-server 2000 sp3
Enviado por GabrielSR2004 el día 17 de agosto de 2005

Que paso charrosa, cual es la desesperación
checate esto, conste que ya lo probe

CREATE FUNCTION prueba (@Pregunta Varchar(10))
RETURNS varchar(10)
AS
BEGIN
DECLARE @Text Varchar(10)
Select @Text = 'Gabriel'
RETURN(@Text)
END

-- Forma en como se llama la funcion

SELECT master.dbo.prueba('Nombre') AS 'Respuesta'


Atte
----------------------------------------------
Gabriel Sanchez
México
gabrielsanchez1975@hotmail.com

 
Re: Re: Re: Error al crear función en sql-server 2000 sp3
Enviado por charrosa el día 17 de agosto de 2005


Hola, gracias lo primero.

Tanto tu script como el mio son validos, pero me sigue dando el mismo error

Te digo lo que hago:

Me voy por el administrador corporativo,selecciono el servidor,base de datos, selecciono la base de datos, funciones definidas por el usuario, boton derecho nueva funcion definida por el usuario.

Pongo lo que tu me dices o lo que yo tengo y me da el error que comento.

Hago lo mismo por el analizador de consultas, y lo mismo

Servidor: mensaje 170, nivel 15, estado 1, línea 1
Línea 1: sintaxis incorrecta cerca de 'FUNCTION'.
Servidor: mensaje 178, nivel 15, estado 1, línea 8
En este contexto no se puede utilizar la instrucción RETURN con un valor de retorno.


Gracias, espero tu respuesta

 

Re: Re: Re: Error al crear función en sql-server 2000 sp3
Enviado por charrosa el día 17 de agosto de 2005

Hola Gabriel, creo que ya se porque no funciona

Esto mismo lo he hecho en la base de datos master y todo ok, pero lo hago en otra base de datos y nada,

espero tu respuesta, salu2

 
Re: Re: Re: Re: Error al crear función en sql-server 2000 sp3
Enviado por GabrielSR2004 el día 17 de agosto de 2005


MMMMM, yo realice este ejemplo
en diferentes BD y no tengo ningun
problema.

El cusuario con el que estas haciendo
la compilación tiene derechos e admin ?



Atte
----------------------------------------------
Gabriel Sanchez
México
gabrielsanchez1975@hotmail.com

 
Re: Re: Re: Re: Re: Error al crear función en sql-server 2000 sp3
Enviado por GabrielSR2004 el día 17 de agosto de 2005



Crecate esto



------------------------------------------------------------

CREATE FUNCTION prueba2 --(@Pregunta Varchar(10))
RETURNS varchar --(10)
AS
BEGIN
RETURN('hola')
END

Marca este Error

Server: Msg 170, Level 15, State 1, Procedure prueba2, Line 2
Line 2: Incorrect syntax near 'RETURNS'.
Server: Msg 178, Level 15, State 1, Procedure prueba2, Line 6
A RETURN statement with a return value cannot be used in this context.

------------------------------------------------------------

CREATE FUNCTION prueba2 ()
RETURNS varchar
AS
BEGIN
RETURN('hola')
END

SELECT dbo.prueba2()

Resultado

----
h

------------------------------------------------------------

CREATE FUNCTION prueba2 ()
RETURNS varchar(10)
AS
BEGIN
RETURN('hola')
END

SELECT dbo.prueba2()

Resultado
----------
hola

Si lo ejecuto asi

SELECT prueba2()

Error


Server: Msg 195, Level 15, State 10, Line 1
'prueba2' is not a recognized function name.







Cual es la conclusion ?
O
Moraleja ?

Atte
----------------------------------------------
Gabriel Sanchez
México
gabrielsanchez1975@hotmail.com

 
Error al crear función en sql-server 2000 sp3
Enviado por charrosa el día 18 de agosto de 2005

Pues el usuario que utilizo es sa, con este entro en el administrador de consultas y en el administrador corporativo, pero es curioso porque en la master funciona todo correctamente, pero en otra base de datos nada y no veo ya porque.

Salu2

 
Re: Error al crear función en sql-server 2000 sp3
Enviado por gabrielSR2004 el día 18 de agosto de 2005

Charrosa probaste el ultimo ejemplo que te mande,
dejame preguntarle a unos chavos que conosco a
ver que saben ya que esta muy raro.

MMMM, No te desesperes, que sera ?????????

Atte
----------------------------------------------
Gabriel Sanchez
México
gabrielsanchez1975@hotmail.com

 
Error al crear función en sql-server 2000 sp3
Enviado por charrosa el día 19 de agosto de 2005

Si probe tus ejemplos, y igual, en la master todo OK, pero en otras bases de datos nada.

¿Puede ser por el tipo de instalación de SQL-SERVER? No veo otro porque. Yo cuando estudie lo hacia en cualquier base de datos, no entiendo porque aqui no, lo mismo que funciona en un lado, en el otro te da errores de sintaxis, etc...

Gracias Grabriel por tu interes, salu2

 
Re: Error al crear función en sql-server 2000 sp3
Enviado por charrosa el día 19 de agosto de 2005

De todas formas si quieres te envio el script, el script consiste que pasandole una cadena, una posicion y un separado, te devuelva la cadena en la posicion que sea, ejem:
aa&bb&cc&

pues yo le paso la cadena,posicion,sepador

variable = Funcion(candena,0,'&'), me devolveria aa
variable = Funcion(candena,1,'&'), me devolveria bb

y asi

salu2

 
Re: Re: Error al crear función en sql-server 2000 sp3
Enviado por GabrielSR2004 el día 19 de agosto de 2005



Bueno que te parece la funcion que realice charrosa, como creastes tu funcion


/*
Declare
@Result Varchar(100)

Select @Result = dbo.Funcion('aa&bb&cc&',2,'&')

Select @Result
*/

If Exists(Select Name
From Sysobjects(Nolock)
Where Name = 'Funcion')
Drop FUNCTION Funcion
Go
CREATE FUNCTION Funcion (@Cadena Varchar(100),
@Sec Int,
@Caracter Varchar(100))
RETURNS Varchar(100)
AS
BEGIN
DECLARE
@Resultado Varchar(100),
@I Int

Select @I = 0

While @I <= @Sec
Begin
Select @I = @I + 1
Select @Caracter = '%'+ltrim(rtrim(@Caracter))+'%'

Select @Resultado =
Substring(@Cadena,1,PATINDEX (@Caracter,@Cadena)-1)

Select @Cadena =
Substring(@Cadena,PATINDEX (@Caracter,@Cadena)+1,Len(@Cadena))
End

RETURN(@Resultado)
END


Sabes solo me falta corregir un error cuando ya no encuentra información

P.D. Me puedes escribir a mi correo es mejor que estar llenando esta lista


Atte
----------------------------------------------
Gabriel Sanchez
México
gabrielsanchez1975@hotmail.com

 











Tienda
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad
Mantenida por: Claudio y Dani.

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | amor | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | gratis | posicionamiento en buscadores | decoración libre | gifs animados