URGENTE sp con nombre de tabla dinámica

31/07/2006 - 23:57 por Francisco | Informe spam
Hola a todos
Tengo el siguiente procedimiento

ALTER PROC SP_VDAS_NO_ORDENES
@TIPO_TABLA AS VARCHAR(100) = '',
@FILTRO_1 AS VARCHAR(100) = ''
AS

SELECT
ITEM_NO,
SUM(QTY_ORDERED)
FROM @TIPO_TABLA + 'LIN_SQL'
GROUP BY
ITEM_NO
WHERE ITEM_NO = @FILTRO_1

Y este procedimiento no me sirve...

Tengo n tablas que comienzan con 5 caracteres y terminan con LIN_SQL.
Quiero pasarle por parámetros las 5 primeras letras, y después formar
dentro la tabla para hacerle una consulta.
Generé este codigo (el de arriba) pero me arroja error. ¿Como lo
puedo modificar para que el SP sea correcto?

Agadecido

Francisco Birrer
 

Leer las respuestas

#1 jcac
01/08/2006 - 00:14 | Informe spam
Puedes hacer esto

ALTER PROC SP_VDAS_NO_ORDENES
@TIPO_TABLA AS VARCHAR(100) = '',
@FILTRO_1 AS VARCHAR(100) = ''
AS
DECLARE @SENTENCIA VARCHAR(8000)
SET @SENTENCIA = 'SELECT ITEM_NO,
SUM(QTY_ORDERED)
FROM ' + @TIPO_TABLA + 'LIN_SQL GROUP BY
ITEM_NO
WHERE ITEM_NO = ' + @FILTRO_1 + ''
Execute( @SENTENCIA)

Espero no equivocarme con ningun apostrofe, a mi me funciono con esto:

ALTER PROCEDURE SP_VDAS_NO_ORDENES -- SP_VDAS_NO_ORDENES 'ALMACENES'
@TIPO_TABLA AS VARCHAR(100) = '',
@FILTRO_1 AS VARCHAR(100) = ''
AS
DECLARE @SENTENCIA VARCHAR(8000)
SET @SENTENCIA = 'SELECT * FROM ' + @TIPO_TABLA + ''
Execute( @SENTENCIA)

"Francisco" escribió en el mensaje
news:
Hola a todos
Tengo el siguiente procedimiento

ALTER PROC SP_VDAS_NO_ORDENES
@TIPO_TABLA AS VARCHAR(100) = '',
@FILTRO_1 AS VARCHAR(100) = ''
AS

SELECT
ITEM_NO,
SUM(QTY_ORDERED)
FROM @TIPO_TABLA + 'LIN_SQL'
GROUP BY
ITEM_NO
WHERE ITEM_NO = @FILTRO_1

Y este procedimiento no me sirve...

Tengo n tablas que comienzan con 5 caracteres y terminan con LIN_SQL.
Quiero pasarle por parámetros las 5 primeras letras, y después formar
dentro la tabla para hacerle una consulta.
Generé este codigo (el de arriba) pero me arroja error. ¿Como lo
puedo modificar para que el SP sea correcto?

Agadecido

Francisco Birrer

Preguntas similares