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

Ordenar registros por tempo inserido


Se você não tiver um campo armazenando a hora da inserção ou qualquer outro meta-dado referente à ordem de inserção, não há uma maneira confiável de obter essas informações.

Talvez você possa depender de uma chave de índice clusterizado, mas isso não é garantido. Nem IDENTITY campos ou outros campos gerados automaticamente.

Para esclarecer, uma IDENTITY campo faz auto-incremento, mas...
  • Você pode inserir valores explícitos com IDENTITY_INSERT
  • Você pode propagar novamente e começar a reutilizar valores
  • Não há imposição integrada de exclusividade para um campo de identidade

Se o campo ID for seu PK, você provavelmente poderá usá-lo para ter uma ideia aproximada:
SELECT *
FROM MyTable
ORDER BY IdField ASC

De acordo com seu comentário, o campo é um GUID . Nesse caso, não há como retornar nenhum tipo de ordem confiável, pois GUID s são inerentemente aleatórios e não sequenciais.