Pegar sempre o último registro

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
cleberzumba
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 223
Registrado em: Qui, 14 Dez 2006 10:45 am
Localização: Brasília-DF
Cleber Zumba de Souza

Bom dia galera,

Tenho uma tabela de 500 registros, como faço para pegar sempre e somente o último registro?
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP

Opa, desculpa,...


Segue código formatado:

Selecionar tudo


SELECT * 
   FROM (SELECT ROWNUM, 
                nm_usuario 
               FROM db_teste 
              ORDER BY ROWNUM desc) 
              WHERE ROWNUM = 1; 


Abraço,

Trevisolli.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Pra saber o último registro, a única forma possível, e guardar o DIA/HORA na tabela ou um sequencial.

trevisolli, esse exemplo com rownum não funciona, pois o ROWID pode mudar em uma tabela. (caso a tabela mude de tablespace etc) ou mesmo após desfragmentar os extents, etc...

Não tem jeito, tem que gravar a hora OU a sequencia...

Veja esse POST: Tem um link com vários exemplos do GURU Tom Kyte:
http://glufke.net/oracle/viewtopic.php?t=292
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP

Valeu pela dica, dr_gori.

O correto mesmo pelo q li é, ou criar um campo data ou, popular uma nova coluna com um sequencial e, ao final deste update, ligar uma trigger no campo.

Abraço,

Trevisolli
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 16 visitantes