Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/03/2009, 14:12
TERE_20_20
 
Fecha de Ingreso: octubre-2008
Mensajes: 5
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Concatenar nombre de tabla

SI TE REFIERES AL MSG ya se que eso dice, pero ya lo cheque el codigo y aparentemente todo esta bien

de echo lo cabie por el que incluyo a continuacion

ALTER PROCEDURE [dbo].[SpFechasD09](@tabla AS VARCHAR(15),@cp AS varchar(15),@fecini AS VARCHAR(30),@fecfin AS VARCHAR(30))
AS
DECLARE @sql VARCHAR(1000),@botip INT,@bofecd smalldatetime ,@ingresos INT,@pt INT,@botib1 INT,@fecha smalldatetime
DECLARE @Taquilla INT, @Abordo INT,@pastra INT,@Total INT,@TPT INT
DECLARE @VAR1 int,@VAR2 int, @VAR3 int, @VAR4 int,@CentroPago int ,@Marca Varchar(30)
declare @fecha1 smalldatetime,@anio varchar(30),@an varchar(30)
declare @tablename sysname
DECLARE @cadena nvarchar(1000)
select @fecha1=GETDATE()
select @anio=year(cast(@fecha1 as varchar(30)))
select @an=substring(@anio,3,2)
SET @tablename='tblFechasD'+@an

SELECT @sql='DECLARE cursorsito CURSOR FOR SELECT BOTIPB, BOFECD, SUM(BOIMPB) AS INGRESOS, Count(*) as PT FROM ' + @tabla + ' WHERE ID_CENTRO_PAGO = '+ @cp +' and BOFECD >= '''+ @fecini + ''' and BOFECD <= ''' + @fecfin + ''' GROUP by BOFECD, BOTIPB order by BOFECD'
exec(@sql)
open cursorsito
FETCH NEXT FROM cursorsito INTO @botip,@bofecd,@ingresos,@pt
if @@FETCH_STATUS=0
BEGIN
SELECT @fecha=@bofecd
SELECT @cp
Select Marca='Null'
select @Taquilla=0
Select @Abordo=0
Select @pastra=0
WHILE @@FETCH_STATUS=0
BEGIN
IF @fecha=@bofecd

BEGIN
IF @botip=01 or @botip=11 or @botip=21 or @botip=31 or @botip=41 or @botip=61
BEGIN
SELECT @Taquilla=@Taquilla + @ingresos
END
ELSE
BEGIN
SELECT @Abordo=@Abordo + @ingresos
END
SELECT @Total = @Taquilla + @Abordo
SELECT @pastra=@pastra + @pt
FETCH NEXT FROM cursorsito INTO @botip,@bofecd,@ingresos,@pt
END
ELSE
BEGIN
Select @TPT = @pastra
SELECT @VAR1=@TPT,@VAR2=@Taquilla,@VAR3=@Abordo,@VAR4=@To tal
SElect @cadena = 'INSERT INTO '+ @tablename +'(CentroPago,Marca,fecha,var1,var2,var3,var4) values ('''+ @cp+''',''' +@Marca + ''',''' + convert(varchar(30),@fecha) + ''',' + Convert(varchar(50),@VAR1) + ',' + Convert(varchar(50), @VAR2) + ','+ Convert(varchar(50), @VAR3) + ',' + Convert(varchar(50), @VAR4) + ')'
EXECUTE sp_executesql @cadena
SELECT @Taquilla=0
SELECT @Abordo=0
SELECT @pastra=0
SELECT @fecha=@bofecd
SELECT @cp
Select Marca='Null'
END
END
Select @TPT = @pastra
SELECT @VAR1=@TPT,@VAR2=@Taquilla,@VAR3=@Abordo,@VAR4=@To tal
SElect @cadena = 'INSERT INTO '+ @tablename +'(CentroPago,Marca,fecha,var1,var2,var3,var4) values ('''+ @cp+''',''' +@Marca + ''',''' + convert(varchar(30),@fecha) + ''',' + Convert(varchar(50),@VAR1) + ',' + Convert(varchar(50), @VAR2) + ','+ Convert(varchar(50), @VAR3) + ',' + Convert(varchar(50), @VAR4) + ')'
EXECUTE sp_executesql @cadena
END
CLOSE cursorsito
deallocate cursorsito