Creando funciones...

17/06/2005 - 18:45 por Napoleón Cabrera | Informe spam
Hola!
Estoy intentando crear una función para después implementar algo pero T-SQL
no me deja crearla...

CREATE FUNCTION
prueba( @texto varchar(10) )
RETURNS varchar(20)
AS
BEGIN
PRINT 'HOLA ' + @texto
END

Obtengo esto...
Servidor: mensaje 170, nivel 15, estado 1, línea 1
Line 1: Incorrect syntax near 'FUNCTION'.
Servidor: mensaje 137, nivel 15, estado 1, línea 6
Must declare the variable '@texto'.

Espero me puedan ayudar. Desde ya gracias!

Preguntas similare

Leer las respuestas

#1 Salvador Ramos
17/06/2005 - 19:03 | Informe spam
Hola,

No consigo que me dé el error que indicas, te ocurre en Query Analyzer. A
parte de eso, lo único que veo es que no se puede poner un PRINT dentro de
una función.

Te paso un ejemplo similar, que te debe funcinar perfectamente.

CREATE FUNCTION
prueba( @texto varchar(10) )
RETURNS varchar(20)
AS
BEGIN
return('HOLA ' + @texto)
END



Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)

"Napoleón Cabrera" <berncab*sin esto*@*ni esto*hotmail.com*ni esto*>
escribió en el mensaje news:
Hola!
Estoy intentando crear una función para después implementar algo pero
T-SQL no me deja crearla...

CREATE FUNCTION
prueba( @texto varchar(10) )
RETURNS varchar(20)
AS
BEGIN
PRINT 'HOLA ' + @texto
END

Obtengo esto...
Servidor: mensaje 170, nivel 15, estado 1, línea 1
Line 1: Incorrect syntax near 'FUNCTION'.
Servidor: mensaje 137, nivel 15, estado 1, línea 6
Must declare the variable '@texto'.

Espero me puedan ayudar. Desde ya gracias!


Respuesta Responder a este mensaje
#2 Napoleón Cabrera
17/06/2005 - 19:14 | Informe spam
Hola Salvador!

Sip, es en el Query Analyzer...
Puede ser que no tenga configurado algo o esté mal configurado???

Saludos y gracias...
Napoleón

"Salvador Ramos" escribió en el
mensaje news:
Hola,

No consigo que me dé el error que indicas, te ocurre en Query Analyzer. A
parte de eso, lo único que veo es que no se puede poner un PRINT dentro de
una función.

Te paso un ejemplo similar, que te debe funcinar perfectamente.

CREATE FUNCTION
prueba( @texto varchar(10) )
RETURNS varchar(20)
AS
BEGIN
return('HOLA ' + @texto)
END



Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)

"Napoleón Cabrera" <berncab*sin esto*@*ni esto*hotmail.com*ni esto*>
escribió en el mensaje news:
Hola!
Estoy intentando crear una función para después implementar algo pero
T-SQL no me deja crearla...

CREATE FUNCTION
prueba( @texto varchar(10) )
RETURNS varchar(20)
AS
BEGIN
PRINT 'HOLA ' + @texto
END

Obtengo esto...
Servidor: mensaje 170, nivel 15, estado 1, línea 1
Line 1: Incorrect syntax near 'FUNCTION'.
Servidor: mensaje 137, nivel 15, estado 1, línea 6
Must declare the variable '@texto'.

Espero me puedan ayudar. Desde ya gracias!






Respuesta Responder a este mensaje
#3 Liliana Sorrentino
17/06/2005 - 19:23 | Informe spam
Con qué versión de SQL estás trabajando? Las funciones aparecen a partir del
2000.
Liliana.

"Napoleón Cabrera" <berncab*sin esto*@*ni esto*hotmail.com*ni esto*>
escribió en el mensaje news:OS#
Hola Salvador!

Sip, es en el Query Analyzer...
Puede ser que no tenga configurado algo o esté mal configurado???

Saludos y gracias...
Napoleón

"Salvador Ramos" escribió en el
mensaje news:
> Hola,
>
> No consigo que me dé el error que indicas, te ocurre en Query Analyzer.


A
> parte de eso, lo único que veo es que no se puede poner un PRINT dentro


de
> una función.
>
> Te paso un ejemplo similar, que te debe funcinar perfectamente.
>
> CREATE FUNCTION
> prueba( @texto varchar(10) )
> RETURNS varchar(20)
> AS
> BEGIN
> return('HOLA ' + @texto)
> END
>
>
>
> Un saludo
> Salvador Ramos
> Murcia - España
> [Microsoft MVP SQL Server]
> www.helpdna.net (información sobre SQL server, Windows DNA y .NET)
>
> "Napoleón Cabrera" <berncab*sin esto*@*ni esto*hotmail.com*ni esto*>
> escribió en el mensaje news:
>> Hola!
>> Estoy intentando crear una función para después implementar algo pero
>> T-SQL no me deja crearla...
>>
>> CREATE FUNCTION
>> prueba( @texto varchar(10) )
>> RETURNS varchar(20)
>> AS
>> BEGIN
>> PRINT 'HOLA ' + @texto
>> END
>>
>> Obtengo esto...
>> Servidor: mensaje 170, nivel 15, estado 1, línea 1
>> Line 1: Incorrect syntax near 'FUNCTION'.
>> Servidor: mensaje 137, nivel 15, estado 1, línea 6
>> Must declare the variable '@texto'.
>>
>> Espero me puedan ayudar. Desde ya gracias!
>>
>>
>
>


Respuesta Responder a este mensaje
#4 Napoleón Cabrera
17/06/2005 - 19:39 | Informe spam
Hola Liliana...

Analizador de consultas SQL
Versión SQL 8.00.194

"Liliana Sorrentino" escribió en el mensaje
news:
Con qué versión de SQL estás trabajando? Las funciones aparecen a partir
del
2000.
Liliana.

"Napoleón Cabrera" <berncab*sin esto*@*ni esto*hotmail.com*ni esto*>
escribió en el mensaje news:OS#
Hola Salvador!

Sip, es en el Query Analyzer...
Puede ser que no tenga configurado algo o esté mal configurado???

Saludos y gracias...
Napoleón

"Salvador Ramos" escribió en el
mensaje news:
> Hola,
>
> No consigo que me dé el error que indicas, te ocurre en Query Analyzer.


A
> parte de eso, lo único que veo es que no se puede poner un PRINT dentro


de
> una función.
>
> Te paso un ejemplo similar, que te debe funcinar perfectamente.
>
> CREATE FUNCTION
> prueba( @texto varchar(10) )
> RETURNS varchar(20)
> AS
> BEGIN
> return('HOLA ' + @texto)
> END
>
>
>
> Un saludo
> Salvador Ramos
> Murcia - España
> [Microsoft MVP SQL Server]
> www.helpdna.net (información sobre SQL server, Windows DNA y .NET)
>
> "Napoleón Cabrera" <berncab*sin esto*@*ni esto*hotmail.com*ni esto*>
> escribió en el mensaje news:
>> Hola!
>> Estoy intentando crear una función para después implementar algo pero
>> T-SQL no me deja crearla...
>>
>> CREATE FUNCTION
>> prueba( @texto varchar(10) )
>> RETURNS varchar(20)
>> AS
>> BEGIN
>> PRINT 'HOLA ' + @texto
>> END
>>
>> Obtengo esto...
>> Servidor: mensaje 170, nivel 15, estado 1, línea 1
>> Line 1: Incorrect syntax near 'FUNCTION'.
>> Servidor: mensaje 137, nivel 15, estado 1, línea 6
>> Must declare the variable '@texto'.
>>
>> Espero me puedan ayudar. Desde ya gracias!
>>
>>
>
>






Respuesta Responder a este mensaje
#5 Alejandro Mesa
17/06/2005 - 20:17 | Informe spam
Napoleón,

Como menciono Liliana, las funciones definidas de usuarios fueron
introducidas en sql server a partir de la version 2000, por lo que tambien la
bd donde tratas de crear la funcion debe tener compatibilidad 8.0. Ademas, no
puedes usar PRINT dentro de una udf.

use northwind
go

exec sp_dbcmptlevel 'northwind'
go

exec sp_dbcmptlevel 'northwind', 70
go

CREATE FUNCTION
dbo.prueba( @texto varchar(10) )
RETURNS varchar(20)
AS
BEGIN
declare @s varchar(20)
set @s = 'HOLA ' + @texto
return @texto
END
go

exec sp_dbcmptlevel 'northwind', 80
go

CREATE FUNCTION
dbo.prueba( @texto varchar(10) )
RETURNS varchar(20)
AS
BEGIN
declare @s varchar(20)
set @s = 'HOLA ' + @texto
return @texto
END
go

print dbo.prueba('hello!!!')
go

drop function dbo.prueba
go


AMB

"Napoleón Cabrera" wrote:

Hola!
Estoy intentando crear una función para después implementar algo pero T-SQL
no me deja crearla...

CREATE FUNCTION
prueba( @texto varchar(10) )
RETURNS varchar(20)
AS
BEGIN
PRINT 'HOLA ' + @texto
END

Obtengo esto...
Servidor: mensaje 170, nivel 15, estado 1, línea 1
Line 1: Incorrect syntax near 'FUNCTION'.
Servidor: mensaje 137, nivel 15, estado 1, línea 6
Must declare the variable '@texto'.

Espero me puedan ayudar. Desde ya gracias!



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida