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: 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.
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.
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.
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...
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
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))+'%'