none
Select o ultimo registro da tabela

    Question

  • Bom dia

    Pessoal estou com uma duvida, tenho uma tabela de acesso, que armazena os dados do cliente que está logado.

    Qual instrução em sql eu uso, para recuperar o ultimo registro da tabela.

    Obrigado.

    Wednesday, February 07, 2007 10:20 AM

Answers

  • Marcelo,

    você precisa ter um campo para basear sua ordenação. Por exemplo, suponha que exista o campo DataInclusao na sua tabela. Para você pegar o campo com  a DataInclusao maior, você poderia fazer algo assim:

    SELECT TOP 1 campo1, campo2 FROM tabela ORDER BY DataInclusao DESC

    O comando acima vai retornar o primeiro registro da query (TOP 1) ordenada de forma descrecente (ORDER BY...DESC). Assim você consegue o registro cuja DataInclusao é a maior da tabela.

    Eu usei um exemplo de campo de data, mas poderia ser qualquer outro tipo desde que fosse possível ordernar de forma coerente.

     


    Ricardo Oneda
    http://oneda.mvps.org/blog

    Wednesday, February 07, 2007 10:51 AM
  • Mr Freitas,

    veja o equivalente do TOP no Oracle em:

    http://dotnet.org.za/thea/archive/2005/02/22/14715.aspx

     


    Ricardo Oneda
    http://oneda.mvps.org/blog

    Thursday, February 08, 2007 10:42 AM

All replies

  • Como está a estrutura da sua tabela? Tem alguma autonumeração ou algum campo chave numérico?

    Se tiver, é só pegar o TOP 1 da tabela ordenada ao contrário pela chave... Algo do tipo:

    SELECT TOP 1 * FROM Tabela ORDER BY Chave DESC

    Wednesday, February 07, 2007 10:47 AM
  • Marcelo,

    você precisa ter um campo para basear sua ordenação. Por exemplo, suponha que exista o campo DataInclusao na sua tabela. Para você pegar o campo com  a DataInclusao maior, você poderia fazer algo assim:

    SELECT TOP 1 campo1, campo2 FROM tabela ORDER BY DataInclusao DESC

    O comando acima vai retornar o primeiro registro da query (TOP 1) ordenada de forma descrecente (ORDER BY...DESC). Assim você consegue o registro cuja DataInclusao é a maior da tabela.

    Eu usei um exemplo de campo de data, mas poderia ser qualquer outro tipo desde que fosse possível ordernar de forma coerente.

     


    Ricardo Oneda
    http://oneda.mvps.org/blog

    Wednesday, February 07, 2007 10:51 AM
  • Qual o comando para ORACLE??  pois tentei o TOP 1 e nao funcionou.....

     

     

     Ricardo Oneda wrote:

    Marcelo,

    você precisa ter um campo para basear sua ordenação. Por exemplo, suponha que exista o campo DataInclusao na sua tabela. Para você pegar o campo com  a DataInclusao maior, você poderia fazer algo assim:

    SELECT TOP 1 campo1, campo2 FROM tabela ORDER BY DataInclusao DESC

    O comando acima vai retornar o primeiro registro da query (TOP 1) ordenada de forma descrecente (ORDER BY...DESC). Assim você consegue o registro cuja DataInclusao é a maior da tabela.

    Eu usei um exemplo de campo de data, mas poderia ser qualquer outro tipo desde que fosse possível ordernar de forma coerente.

     


    Ricardo Oneda
    http://oneda.mvps.org/blog

    Wednesday, February 07, 2007 7:54 PM
  • Mr Freitas,

    veja o equivalente do TOP no Oracle em:

    http://dotnet.org.za/thea/archive/2005/02/22/14715.aspx

     


    Ricardo Oneda
    http://oneda.mvps.org/blog

    Thursday, February 08, 2007 10:42 AM