tablas Temporales

27/02/2004 - 18:37 por Carlos | Informe spam
Hola Gente !

Me pueden ayudar con este problema ?

En SQL 7 me da un error en este tipo de Store

if @a=0 begin
select tabla1.* , tabla2.* into #temporal from tabla where <alguna
condicion>
left join tabla2 on tabla1.id = tabla2.id
end
else begin
select tabla1.* , tabla2.* into #temporal from tabla1 where <otra
condicion>
left join tabla2 on tabla1.id = tabla12.id
end

select * from #temporal where saldo = 0
me dice que ya existe un objeto llamado #temporal

Hay alguna forma de usar una misma tabla temporal para cada condicion ?

Muchas gracias !
 

Leer las respuestas

#1 ulises
27/02/2004 - 19:21 | Informe spam
No veo la necesidad de que uses una tabla temporal, basta
con dos select en un if :

IF @a = 0
SELECT tabla1.*, tabla2.*
FROM tabla1 join tabla2 ON ( tabla1.id = tabla2 = id )
WHERE saldo = 0 AND ( una condicion )
ELSE
SELECT tabla1.*, tabla2.*
FROM tabla1 join tabla2 ON ( tabla1.id = tabla2 = id )
WHERE saldo = 0 AND ( otra condicion )

Si todavia deseas manejar la tabla temporal (por alguna
condición no indicada en la pregunta) tendrias que llevar
el IF dentro del WHERE con un CASE, si es posible

select tabla1.* , tabla2.* into #temporal
from tabla1 left join tabla2 on tabla1.title_id =
tabla2.title_id
where columna = (CASE @a WHEN 0 THEN 'valor01'
ELSE 'valor02' END)

claro que tendrías que revisar que los nombres de las
columnas no se repitan.

Otra opción es realizar el CREATE al inicio y luego
ejecutar un INSERT ... SELECT .

Saludos,
Ulises

Hola Gente !

Me pueden ayudar con este problema ?

En SQL 7 me da un error en este tipo de Store

if @a=0 begin
select tabla1.* , tabla2.* into #temporal from


tabla where <alguna
condicion>
left join tabla2 on tabla1.id = tabla2.id
end
else begin
select tabla1.* , tabla2.* into #temporal from


tabla1 where <otra
condicion>
left join tabla2 on tabla1.id = tabla12.id
end

select * from #temporal where saldo = 0
me dice que ya existe un objeto llamado #temporal

Hay alguna forma de usar una misma tabla temporal para


cada condicion ?

Muchas gracias !


.

Preguntas similares