Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/12/2012, 18:40
Garhard
 
Fecha de Ingreso: septiembre-2012
Ubicación: Lima, Perú.
Mensajes: 20
Antigüedad: 12 años, 3 meses
Puntos: 0
Pregunta [SQL] Variable escalar

Lo que pasa es que no me muestra el listado como dice en la pregunta:

10.INGRESE COMO PARAMETRO EL NOMBRE DE LAS TABLAS (distribuidora y provincia) Y EL NOMBRE DE LAS
PROVINCIAS A LA QUE PERTENECEN LAS DISTRIBUIDORAS INGRESADA COMO PARAMETRO

y lo ejecuté de esta manera:

CREATE PROC sp_preg10
@table1 VARCHAR(20), @table2 VARCHAR(20), @table3 VARCHAR(50)
AS
DECLARE @TCadena VARCHAR(350)
SET @TCadena = 'SELECT * FROM BDGaseosa.dbo.' + @table1 +
' D, BDGaseosa.dbo.' + @table2 + ' P WHERE P.provincia_id = D.provincia_id AND P.nombre = @table3'

EXEC sp_preg10 'Distribuidora', 'Provincia', 'Huacho'

Pero me sale:

Mens 203, Nivel 16, Estado 2, Procedimiento sp_preg10, Línea 7
El nombre 'SELECT * FROM BDGaseosa.dbo.Distribuidora D, BDGaseosa.dbo.Provincia P WHERE P.provincia_id = D.provincia_id AND P.nombre = @table3' no es un identificador válido.

A qué se debe y cómo lo puedo arreglar? Espero su ayuda.. Saludos!

P.D.: Utilizo SQL Server Management Studio 2008