Ordar datos insertados

11/08/2006 - 13:55 por Felipe | Informe spam
Estoy haciendo un INSERT INTO
La tabla destino es una tabla vacía que llena nuevos datos cada mañana, en
la noche los borra.
Utilizo la sentencia INSERT INTO tabla SELECT . (extraigo los datos de
diferentes tablas)

Es posible de ordenar estos datos en el Select dentro del comando insert?
Cómo hago para odernar a la vez los datos si no es posible utilizar lo antes
dicho?

Gracias.

Preguntas similare

Leer las respuestas

#1 Salvador Ramos
11/08/2006 - 15:01 | Informe spam
Hola,

En las bases de datos relaciones, y por supuesto también en SQL Server, no
debes pensar nunca en almacenar los datos en un determinado orden (de eso se
encarga el gestor). Es cuando los vayas a recuperar una instrucción SELECT
cuando debes ordenarlos como desees.

Un saludo
Salvador Ramos
Murcia - España

[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL Server y .NET)


"Felipe" escribió en el mensaje
news:
Estoy haciendo un INSERT INTO
La tabla destino es una tabla vacía que llena nuevos datos cada mañana, en
la noche los borra.
Utilizo la sentencia INSERT INTO tabla SELECT . (extraigo los datos de
diferentes tablas)

Es posible de ordenar estos datos en el Select dentro del comando insert?
Cómo hago para odernar a la vez los datos si no es posible utilizar lo
antes dicho?

Gracias.

Respuesta Responder a este mensaje
#2 Maxi
11/08/2006 - 15:07 | Informe spam
Si podes, solo debes poner Order by!! de todas maneras recorda algo: sql no
sabe cual es el orden de creacion de los registros. Si vos pones un Order by
y tenes un campo por ej autonumerico ahi veras el orden. Veamos un ejemplo:

use master
go

create table #t1 (nombre char(10))
go

create table #t2 (id int identity, nombre char(10))
go

insert into #t1 values ('maxi')
insert into #t1 values ('Jose')
insert into #t1 values ('Andres')
insert into #t1 values ('Pepe')

insert into #t2 (nombre)
select nombre from #t1

select * from #t2

truncate table #t2

insert into #t2 (nombre)
select nombre from #t1
order by nombre

select * from #t2


Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"Felipe" escribió en el mensaje
news:
Estoy haciendo un INSERT INTO
La tabla destino es una tabla vacía que llena nuevos datos cada mañana, en
la noche los borra.
Utilizo la sentencia INSERT INTO tabla SELECT . (extraigo los datos de
diferentes tablas)

Es posible de ordenar estos datos en el Select dentro del comando insert?
Cómo hago para odernar a la vez los datos si no es posible utilizar lo
antes dicho?

Gracias.

Respuesta Responder a este mensaje
#3 Felipe
11/08/2006 - 15:56 | Informe spam
gracias

"Maxi" wrote in message
news:Oc$
Si podes, solo debes poner Order by!! de todas maneras recorda algo: sql
no sabe cual es el orden de creacion de los registros. Si vos pones un
Order by y tenes un campo por ej autonumerico ahi veras el orden. Veamos
un ejemplo:

use master
go

create table #t1 (nombre char(10))
go

create table #t2 (id int identity, nombre char(10))
go

insert into #t1 values ('maxi')
insert into #t1 values ('Jose')
insert into #t1 values ('Andres')
insert into #t1 values ('Pepe')

insert into #t2 (nombre)
select nombre from #t1

select * from #t2

truncate table #t2

insert into #t2 (nombre)
select nombre from #t1
order by nombre

select * from #t2


Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"Felipe" escribió en el mensaje
news:
Estoy haciendo un INSERT INTO
La tabla destino es una tabla vacía que llena nuevos datos cada mañana,
en la noche los borra.
Utilizo la sentencia INSERT INTO tabla SELECT . (extraigo los datos
de diferentes tablas)

Es posible de ordenar estos datos en el Select dentro del comando insert?
Cómo hago para odernar a la vez los datos si no es posible utilizar lo
antes dicho?

Gracias.





Respuesta Responder a este mensaje
#4 Maxi
14/08/2006 - 00:33 | Informe spam
De todas maneras considera lo que dice Salva, no dedberias pensar en
ordenamiento de datos

"Felipe" escribió en el mensaje
news:
gracias

"Maxi" wrote in message
news:Oc$
Si podes, solo debes poner Order by!! de todas maneras recorda algo: sql
no sabe cual es el orden de creacion de los registros. Si vos pones un
Order by y tenes un campo por ej autonumerico ahi veras el orden. Veamos
un ejemplo:

use master
go

create table #t1 (nombre char(10))
go

create table #t2 (id int identity, nombre char(10))
go

insert into #t1 values ('maxi')
insert into #t1 values ('Jose')
insert into #t1 values ('Andres')
insert into #t1 values ('Pepe')

insert into #t2 (nombre)
select nombre from #t1

select * from #t2

truncate table #t2

insert into #t2 (nombre)
select nombre from #t1
order by nombre

select * from #t2


Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"Felipe" escribió en el mensaje
news:
Estoy haciendo un INSERT INTO
La tabla destino es una tabla vacía que llena nuevos datos cada mañana,
en la noche los borra.
Utilizo la sentencia INSERT INTO tabla SELECT . (extraigo los datos
de diferentes tablas)

Es posible de ordenar estos datos en el Select dentro del comando
insert?
Cómo hago para odernar a la vez los datos si no es posible utilizar lo
antes dicho?

Gracias.









Respuesta Responder a este mensaje
#5 Ricardo Passians
15/08/2006 - 03:13 | Informe spam
Es posible de ordenar estos datos en el Select dentro del comando insert?



El orden en que los insertes sería irrelevante. El "orden fisico" en
registros (elementos de un conjunto) es un concepto indefinido e
innecesario.

Usa Order By para garantizar un "orden lógico" al consultar los registros,
NO al insertarlos.

Gracias.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida