Ver Mensaje Individual
  #7 (permalink)  
Antiguo 29/05/2008, 07:27
Dixgo
 
Fecha de Ingreso: mayo-2008
Ubicación: Peru
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
Respuesta: Insert Into con variable en SQL server

hola gent...una consulta..me gustaria saber xq me sale el error de :
Mens. 137, Nivel 15, Estado 1, Línea 6
Debe declarar la variable escalar "@TABLA1".

mi code:

DECLARE @TABLA1 TABLE(C_Tare INT,
D_MES VARCHAR(20),
N_ESTA VARCHAR(10),
F_PROG DATETIME)

SET @TABLA1 = (SELECT TOP 1
Control.C_Tare,
CASE Periodo.D_Mes
When 1 Then 'ENERO'
When 2 Then 'FEBRERO'
When 3 Then 'MARZO'
When 4 Then 'ABRIL'
When 5 Then 'MAYO'
When 6 Then 'JUNIO'
When 7 Then 'JULIO'
When 8 Then 'AGOSTO'
When 9 Then 'SETIEMBRE'
When 10 Then 'OCTUBRE'
When 11 Then 'NOVIEMBRE'
When 12 Then 'DICIEMBRE'
END + ' ' + (CONVERT(VARCHAR(5),YEAR(Control.D_CierProg))) as D_Mes,
Estado.N_Esta,
ISNULL(CONVERT(char,Control.D_CierProg,103),'-') as D_CierProg
FROM Periodo
INNER JOIN Control ON Periodo.C_Peri = Control.C_Peri
INNER JOIN Estado ON Control.C_Esta = Estado.C_Esta
WHERE Estado.N_Esta = 'CERRADO' OR Estado.N_Esta ='ABIERTO'
ORDER BY D_MES DESC)

DECLARE @TABLA2 TABLE(C_Tare INT,
D_MES2 VARCHAR(20),
N_ESTA2 VARCHAR(10),
F_PROG2 DATETIME)

SET @TABLA2 = (SELECT TOP 1
Control.C_Tare,
CASE Periodo.D_Mes
When 1 Then 'ENERO'
When 2 Then 'FEBRERO'
When 3 Then 'MARZO'
When 4 Then 'ABRIL'
When 5 Then 'MAYO'
When 6 Then 'JUNIO'
When 7 Then 'JULIO'
When 8 Then 'AGOSTO'
When 9 Then 'SETIEMBRE'
When 10 Then 'OCTUBRE'
When 11 Then 'NOVIEMBRE'
When 12 Then 'DICIEMBRE'
END + ' ' + CONVERT(VARCHAR(5),YEAR(D_CIERPROG) )as D_Mes,
Estado.N_Esta,
ISNULL(CONVERT(char,Control.D_CierProg,103),'-') as D_CierProg
FROM Periodo
INNER JOIN Control ON Periodo.C_Peri = Control.C_Peri
INNER JOIN Estado ON Control.C_Esta = Estado.C_Esta
WHERE Estado.N_Esta = 'EN PROCESO'
ORDER BY YEAR(D_CIERPROG) DESC)

SELECT *
FROM @TABLA1 TB1
INNER JOIN @TABLA2 TB2 ON TB1.C_Tare = TB2.C_Tare

me gustaria saber su respuesta...gracias..hablamoz...