Pular para o conteúdo
Visualizando 9 posts - 1 até 9 (de 9 do total)
  • Autor
    Posts
  • #89224
    Anônimo

      Olá pessoal… sou novo por aqui e tem pouco mais de 3 semanas que comecei a trabalhar com oracle. 😈

      Estou fazendo uma aplicação de cadastro e remoção e estou batalhando para conseguir trazer somente os ultimos resultados que foram afetados..

      Por exemplo… tenho o cadastro de 6 clientes, e confirmo 2 pra um determinado serviço… mais se eu confirmar outros 3 nesse mesmo serviço… quero que seja exibido somente os 3 ultimos que confirmei…

      Tô apanhando aqui…

      Se alguém puder me ajudar… preciso disso pra no máximo amanhã… 25/08…

      agradeço a disponibilidade de vocês…

      #89228
      Avatar photoRegis Araujo
      Participante

        Salve Max..

        Uma dúvida.. vc tem algum campo de controle dentro das tabelas?! Normalmente para este tipo de sistema, vc precisa de um campo com a descrição exemplo “DataAlteracao”..

        Ai no seu select vc traria ordenando por este campo e o rownum <= 3…

        Pois o Oracle só salva o horário da ultima alteração na tabela.. indepentende do registro alterado..

        Posta ai mais informações das suas tabelas..!!!

        Abraços..!

        #89233
        Anônimo

          Tenho as chaves normais…

          E no caso eu teria que ordenar por elas???

          como seria???

          SELECT chave FROM owner.tabela……..

          #89235
          Avatar photoRegis Araujo
          Participante

            Como assim chaves normais?!!?

            Teria que ser um campo de data.. Como vc identifica que o campo foi alterado? Se for com um Flag fica bem complicado..!!

            Abraços..

            #89237
            Anônimo

              O campo é ‘S’ ,’N’ e null

              null quando é cadastrado
              ‘S’ confirmado
              ‘N’ cancelado…

              No caso seria somente esse campo… pq não tenho campo de data e não posso alterar as tabelas do banco…

              Em todo caso eu teria que ordenar quem foi alterado na ultima consulta…

              #89243
              rwarstat
              Participante

                Posta a definição da tabela, assim podemos ajudar mais. Sem conhecer a estrutura da tabela é difícil.

                #89244
                Anônimo

                  CLIENTES_EVENTO
                  – COD_CLIENTE
                  – COD_EVENTO
                  – IDT_CONFIRMADO (é por aqui que quero pegar os resultados alterados recentemente – no caso ultima alteração)

                  Dá pra saber assim????

                  Como que eu poderia aplicar esse rownum

                  #89247
                  Avatar photoRegis Araujo
                  Participante

                    Salve Max..

                    Veio.. é complicado pegar esta informação.. pois vc só tem um campo de flag.. Já que vc não pode mudar a estrutura da tabela, o que vc pode fazer é criar uma trigger after update que irá jogar em uma tabela o COD_CLIENTE, IDT_CONFIRMADO e a DATA da alteração.. Assim vc poderá concatenar esta tabela alimentada pela trigger com a sua tabela de produção.. assim vc traria as informações que vc precisa..!!

                    Ai bastaria um select assim..

                    SELECT CLIE.COD_CLIENTE, TR.IDT_CONFIRMADO
                    FROM CLIENTES_EVENTOS CLIE, TB_TRIGGER TR
                    WHERE TR.COD_CLIENTE = CLIE.COD_CLIENTE
                    AND ROWNUM <=3
                    ORDER BY TB.DATAALTERACAO DESC;

                    Desta maneira vc conseguirá trazer as informações que vc precisa..Mas vc pode adaptar da maneira que precisar..

                    Abraços..!!

                    #89248
                    Anônimo

                      Vlw Brother Muito obrigado vou tentar fazer desse jeito…

                    Visualizando 9 posts - 1 até 9 (de 9 do total)
                    • Você deve fazer login para responder a este tópico.