SQL Server - Problema con insert y order by en tabla temporal

   
Vista:

Problema con insert y order by en tabla temporal

Publicado por manuel (3 intervenciones) el 20/02/2008 16:59:13
Hola foristas
(parece q todos tienen problemas con sp en estos dias)
Veran dentro de un sp creo tablas temporales ,son como resumenes de varias tablas
esas tablas temporales las inserto en una tabla temporal final , el problema es con el order by , se produce un efecto bastante "raro"
la tabla queda asi

Cp_ident Documento Fecha
1 Doc1 01/01/2005
2 Doc2 01/02/2005
4 Doc3 01/02/2008
3 Doc4 01/02/2007

como ven el campo identity y el campo fecha van de la mano , ambos ordenados
pero fisicamente , los resultados estan desordenados
no se a q se deba , ya probe con crear un indice clustered al campo fecha ,
usando select into en una tabla temporal ,tambien declarando a Cp_ident
como llave primaria ,q se supone lo crea como clustered ,y por ultimo con variables tipo tabla

pero si hago estas operaciones en una tabla real si se insertan ordenadamente
Espero me puedan ayudar

Saludos

---------------------------------------------------------------------------------------------------
Create Table #Tfinal (
CIdent int identity (1,1) primary key,
Documento ,
fecha datetime)

-------------------------------------------
Insert Into #Tfinal

SELECT
Tx.Documento,
Tx.Fecha ,
FROM
(
Select Documento, Fecha from #t1
UNION
Select Documento, Fecha from #t2
.. .. )
Order by Tx.Fecha ,
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:Problema con insert y order by en tabla tempora

Publicado por Liliana (151 intervenciones) el 20/02/2008 18:30:26
Hola Manuel,
Si estás haciendo INSERT con ORDER BY, lo ordenará correctamente tanto en tablas temporales como definitivas.
Ahora, cuando estás consultando los datos, SQL Server no garantiza que devuelva los datos según su orden físico, a menos que indiques ORDER BY en el SELECT.
Saludos,
Liliana.
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:Problema con insert y order by en tabla tempora

Publicado por manuel (3 intervenciones) el 21/02/2008 15:22:21
Hola Liliana ,
um , creo q ese es el problema , yo pensaba q el select devolvia los
resultados segun el orden fisico
ya q cualquier select a una tabla con una llave primaria siempre me devuelve los resultados ordenados por la llave primaria , (select sin order by )

Gracias por tu ayuda
Saludos desde Lima - Peru
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:Problema con insert y order by en tabla tempora

Publicado por Liliana (151 intervenciones) el 21/02/2008 16:39:04
Manuel, creo que ni en ese caso es seguro que devolverá los datos según el orden físico.
Por las dudas, no te confíes...
Liliana.
Mar del Plata - Argentina
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:Problema con insert y order by en tabla tempora

Publicado por manuel (3 intervenciones) el 22/02/2008 15:27:27
Hola Lililiana
De ahora en adelante , voy a tener en cuenta ese punto , = me sigue pareciendo raro .

Saludos y gracias por la ayuda
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