SQL Server - concatenar

 
Vista:

concatenar

Publicado por beto_22 (23 intervenciones) el 14/12/2006 18:15:06
hola amigos : una consulta
tengo tablas en sql server donde el nombre de las tablas se componen por letras mas el año de trabajo ejemplo : fmst2005, fmst2006, fmst2007, fmst2008, etc
desde visual basic elijo el años con el cual quiero trabajar y deceo crear un procedimiento en el cual me cree vista con el nombre de la base concatenada mas el año.
al crear el procedimiento almacenado me bota error q no me reconoce la tabla como podria hacer para q esto funcione en sql server.

CREATE PROCEDURE EJEMPLO1
@AÑO NVARCHAR(4)
as
SELECT * FROM FMST + @AÑO
GO
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

RE:concatenar

Publicado por Alejandro (1 intervención) el 14/12/2006 21:17:52
CREATE PROCEDURE EJEMPLO1
@AÑO NVARCHAR(4)
as
DECLARE @sentencia NVARCHAR(25)
set @sentencia = 'SELECT * FROM FMST' + @AÑO+';'
exec sp_executesql @sentencia
GO

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:concatenar

Publicado por beto_22 (23 intervenciones) el 15/12/2006 16:41:30
Hola amigo gracias estoy funciona muy bien....................... pero provando me sale un problema : estas tabla fmst+año tiene un campo grupo nvarchar(4) en el cual guardo IMA , MED, CLI, ETC y otro campo "idelt nvarchar(1)" donde guardo blanco '' o 'D' q indica q se ilimino deleteado en mi procedimiento hago un filtro del siguiente manera
CREATE PROCEDURE EJEMPLO1
@AÑO NVARCHAR(4)
as
DECLARE @sentencia NVARCHAR(25)
set @sentencia = 'SELECT * FROM FMST' + @AÑO+' where grupo = IMA AND Iidelt <> D ;'
exec sp_executesql @sentencia
GO
me vota error
El nombre de columna 'IMA' no es válido. del mismo modo con la D

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lo realice enviano los parametros

CREATE PROCEDURE EJEMPLO1
@AÑO NVARCHAR(4) , @GRUPO NVARCHAR(3), @D NVARCHAR(1)
as
DECLARE @sentencia NVARCHAR(25)
set @sentencia = 'SELECT * FROM FMST' + @AÑO+' where grupo = ' + @GRUPO+' AND Iidelt <> ' + @D+' ;'
exec sp_executesql @sentencia
GO

Y me vota igual manera error
El nombre de columna 'IMA' no es válido. del mismo modo con la D
como podria realizar estos filtros
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