Select com With

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
debby_acacio
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 51
Registrado em: Ter, 22 Jan 2008 11:38 am
Localização: Salvador - BA
Contato:

Olá gentem
Boa tarde...
Alguém teria algum exemplo de select com o with ??
E quando ele é mais apropriado....
Grata
Debby :)
Tineks
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 365
Registrado em: Ter, 24 Mai 2005 2:24 pm
Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP

Por acaso esse "With" é aquele que podemos utilizar no connect by?

Selecionar tudo

   .
   .
   START WITH last_name = 'Jose'
   .
   .
[]'s
debby_acacio
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 51
Registrado em: Ter, 22 Jan 2008 11:38 am
Localização: Salvador - BA
Contato:

Olá Cristiano

Não.. esse WITH usamos no oralce9 i em select.
Para melhoria de performance...
Ele funciona também com insert/select... já testei e um processo que antes levava 20 minutos.. < 1 insert e 2 updtate´s > agora faço em 4 minutos usando o WITH..
A minha dúvida agora é a seguinte:::
Como usá-lo em update ???

Obrigada
Debby :)
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Debby,

Localizei este exemplo abaixo:

Selecionar tudo

 update table_two 
   set field01 = nvl(( 
   with s as 
   ( 
   select end_date, 
   dense_rank() over ( partition by trunc(end_date, 'mon') order by end_date ) r 
   from the_table 
   ) 
   select distinct r 
  from s 
  where s.end_date = table_two.datefield02  12 ), 0) + 2 
  /
  
Tenta fazer a adaptação pro teu caso e, qualquer coisa, manda ai.
debby_acacio
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 51
Registrado em: Ter, 22 Jan 2008 11:38 am
Localização: Salvador - BA
Contato:

Oi Trevisolli

É justamente assim o exemplo que estava procurando. Vou testar ...

Mais uma vez obrigada

Sds,

Debby :)
Responder
  • Informação
  • Quem está online

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