bendito CONVERT

03/10/2005 - 14:50 por Arreglador | Informe spam
hola, sigo con un problema de hace unos dias, pero ahora diferente,

si ejecuto lo siguiente en un analizador de consultas:

set @temp = N'SELECT @Suma2temp = SUM(cast(Importe_Fact AS numeric(10,2)))
FROM ( SELECT TOP @CantSuma1 *
FROM TransaccionesTC
WHERE (FechaCierre IS NULL)
ORDER BY Fecha_Pago, Hora_Pago)DERIVEDTBL'



EXEC sp_executesql @temp,N'@Suma2temp numeric(10,2) OUTPUT, @CantSuma1
int',@Suma2temp OUTPUT,@CantSuma1

me sale el siguiente error en la linea FROM ( SELECT TOP @CantSuma1 * :

Servidor: mensaje 170, nivel 15, estado 1, línea 2
Línea 2: sintaxis incorrecta cerca de '@CantSuma1'.

cabe destacar que @CantSuma1 es un int, pero igualmente si hago un cast de
la siguiente forma:

FROM ( SELECT TOP'+ cast(@CantSuma1 as nvarchar) +'*

me sale el error:
Servidor: mensaje 156, nivel 15, estado 1, línea 3
Sintaxis incorrecta cerca de la palabra clave 'FROM'.

y se que el error es solo CantSuma1 porque si lo sustituyo por un numero
entero cualquiera todo se ejecuta bien y de maravilla.

que hago para que me tome ese cantsuma1 ?

gracias...
 

Leer las respuestas

#1 Isaias
03/10/2005 - 16:38 | Informe spam
Te hace falta la coma, despues de la variable

SELECT TOP @CantSuma1, *

Saludos
IIslas


"Arreglador" escribió:

hola, sigo con un problema de hace unos dias, pero ahora diferente,

si ejecuto lo siguiente en un analizador de consultas:

set @temp = N'SELECT @Suma2temp = SUM(cast(Importe_Fact AS numeric(10,2)))
FROM ( SELECT TOP @CantSuma1 *
FROM TransaccionesTC
WHERE (FechaCierre IS NULL)
ORDER BY Fecha_Pago, Hora_Pago)DERIVEDTBL'



EXEC sp_executesql @temp,N'@Suma2temp numeric(10,2) OUTPUT, @CantSuma1
int',@Suma2temp OUTPUT,@CantSuma1

me sale el siguiente error en la linea FROM ( SELECT TOP @CantSuma1 * :

Servidor: mensaje 170, nivel 15, estado 1, línea 2
Línea 2: sintaxis incorrecta cerca de '@CantSuma1'.

cabe destacar que @CantSuma1 es un int, pero igualmente si hago un cast de
la siguiente forma:

FROM ( SELECT TOP'+ cast(@CantSuma1 as nvarchar) +'*

me sale el error:
Servidor: mensaje 156, nivel 15, estado 1, línea 3
Sintaxis incorrecta cerca de la palabra clave 'FROM'.

y se que el error es solo CantSuma1 porque si lo sustituyo por un numero
entero cualquiera todo se ejecuta bien y de maravilla.

que hago para que me tome ese cantsuma1 ?

gracias...

Preguntas similares