Pular para o conteúdo
  • Este tópico contém 2 respostas, 3 vozes e foi atualizado pela última vez 17 anos, 3 meses atrás por Rodrigo Mesquita.
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #84347
    rteixeira-rp
    Participante

      Por problemas de CUSTO para o banco, sempre que puderem, NÃO usem a tabela DUAL em seus processos, veja exemplos:
      ————————————
      Ao invés de:
      Select sysdate into :v from dual;

      Usar:
      :v := sysdate;
      ————————————
      Ao invés de:
      Select ‘V’ into :vdummy from dual
      where exists (select 1 from historico where id_historico = 123456);

      Usar:
      Select ‘V’ into :vdummy from rg_hist_solic where id_historico = 123456;
      ————————————
      Ao invés de:
      Select “txt” into :v from dual;

      Usar:
      Select função into :v from dual;
      :v := função;
      ————————————

      #84349
      Avatar photoLeonardo Litz
      Participante

        Ok, não uso mais…rsrsrs to brincando….
        Vale lembrar que também é possível inserir mais registros na tabela dual pelo usuário sys, fazendo com que seja possível dar erro de too_many_rows. Deve-se bloquear este tipo de operação.

        #84351
        Rodrigo Mesquita
        Participante

          Complementando,

          Alem de inserir registros, deletando o conteudo da tabela DUAL irá fazer com que comandos que utilizem ela não funcionem da forma esperada.
          

          Ex.: Select sysdate from dual irá retornar NULL.

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