SQL Server - EXEC en STORED PROCEDURE

   
Vista:

EXEC en STORED PROCEDURE

Publicado por Manuel Gómez (21 intervenciones) el 14/05/2009 17:59:58
OLA A TODOS

AHI LES VA UNA FACIL PA USTEDES

DENTRO DE UN STORED PROCEDURE TENGO ESTO

EXEC('SELECT * FROM '+@BASEDATOS+'..Presupuesto WHERE Fecha BETWEEN '+@FechaInicial+' AND '+@FechaFinal+'')

EL PROCEDURE A CORRER VAMOS A SUPONER QUE SE LLAMA "OBTENER FRANQUICIA" DE TRES PARAMETROS DE ENTRADA: @BASEDATOS, @FechaInicial y @FechaIFinal, entonces seria algo asi ya con datos

OBTENER FRANQUICIA 'BDCOYOACAN','01/01/2008','01/01/2008'

Y ME APARECE EL SIGUIENTE ERROR:

Sintaxis incorrecta cerca de '1'.


Entonces siento yo que debe ser algun detalle de comillas, pero bueno, ahi solicito de su ayuda.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de roger

RE:EXEC en STORED PROCEDURE

Publicado por roger (173 intervenciones) el 14/05/2009 19:19:39
te debe estar tomando mal las fechas, creo que deberia ser asi

Fecha BETWEEN ''' +@FechaInicial+ ''' AND '''+@FechaFinal+''''

en las 3 comillas la de la mitad es la comilla que encierra la fecha
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:EXEC en STORED PROCEDURE

Publicado por Manuel Gómez (21 intervenciones) el 14/05/2009 20:14:22
EXCELENTE ROGER, FUNCIONÓ A LA PRIMERA

AHORA LO QUE PIDO SERIA LO SIGUIENTE QUE SERIA ALGO PARECIDO:

Como ya funciona el Procedure:

OBTENER FRANQUICIA 'BDCOYOACAN','01/01/2008','01/01/2008'

Este lo quiero meter dentro de otro Procedure de la siguiente manera:

EXEC('OBTENER FRANQUICIA '+@BaseDatos+','+@FechaInicial+','+@datFechaFinal)

PERO YA CORRIENDO EL PROCEDURE ME SALE EL MISMO ERROR QUE ANTES, el que dice:

Sintaxis incorrecta cerca de '1'.

ENTONCES SUPONGO QUE A "@FechaInicial" y a "@FechaFinal" se les debe de poner las 3 comillas o algoo asi, perno le hayo.

Saludos y muchisimas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:EXEC en STORED PROCEDURE

Publicado por Manuel Gómez (21 intervenciones) el 14/05/2009 20:30:07
YA LO RESOLVI :) GRACIAS POR TODO

EXEC ('OBTENERFRANQUICIA '+@BaseDatos+','+''''+@FechaInicial+''''+','+''''+@FechaFinal+''''+'')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

RE:EXEC en STORED PROCEDURE

Publicado por Isaias (3180 intervenciones) el 15/05/2009 04:37:27
Manuel

No se que version de SQL Server estes manejando, pero si es superior a 7.0, entonces olvidate del EXEC('string') y en su lugar utiliza

exec sp_executesql @Variable

Por otro lado, envia tus fechas con formato ANSI.

YYYYMMDD

Y uno mas, no las compares con BETWEEN, ya lo hemos platicado por aca, es mejor utilizar

WHERE ColFecha >= '20090101' AND ColFecha <= '20090228'

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:EXEC en STORED PROCEDURE

Publicado por Manuel Gómez (21 intervenciones) el 15/05/2009 17:43:30
Hola Isaias

Uso el SQL 2005 y asi como me planteas esos puntos se ve como que mucho mas facil de usar.

Muchisimas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

RE:EXEC en STORED PROCEDURE

Publicado por Isaias (3180 intervenciones) el 18/05/2009 18:14:29
De nada, saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:EXEC en STORED PROCEDURE

Publicado por Tito (1 intervención) el 01/09/2009 00:21:52
y donde te queda el resultado de la funcion ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar