Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Retorna as linhas na ordem exata em que foram inseridas


Uma select consulta sem order by não recuperar as linhas em qualquer ordem específica. Você precisa ter um order by para obter um pedido.

O SQL Server não tem nenhum método padrão para recuperação por ordem de inserção. Você pode fazê-lo, se tiver as informações na linha. A melhor maneira é uma coluna de identidade de chave primária:
TableId int identity(1, 1) not null primary key

Essa coluna é incrementada à medida que cada linha é inserida.

Você também pode ter um CreatedAt coluna:
CreatedAt datetime default getdate()

No entanto, isso pode ter duplicatas para inserções simultâneas.

O ponto chave, porém, é que um select sem order by cláusula retorna um conjunto não ordenado de linhas.