.comment-link {margin-left:.6em;}

Tuesday, May 02, 2006

Sequencia de Fibonacci

Lancei um desafio semana passada em um forum onde participo. A idéia era escrever uma query em SQL puro (sem o uso de PL/SQL) que resultasse na sequência de Fibonacci.

Também havia dado uma dica: que eu consegui em 10g. Portanto usando uma nova feature da versão. A feature usada foi o MODEL. Vale a pena parar e estudar um pouco essa nova cláusula do SELECT a partir da versão 10g.

SQL> select s seq
2 from dual
3 model return all rows
4 dimension by ( 0 d ) measures ( 0 s )
5 rules iterate (12) (
6 s[iteration_number ] = decode(
7 iteration_number, 0, 0, 1, 1, s[iteration_number-2]
8 ) + nvl(s[iteration_number-1],0)
9 )
10 /

SEQ
-------------
0
1
1
2
3
5
8
13
21
34
55
89

12 rows selected.

Labels:


Comments:
Uai tio ... pelo menos eu não viajari quando eu disse que talvez vc tivesse usado o previous ... hehehehehehe ... vc usou o model sem previous ... *rs ... não foi na mosca, mas passei perto *rs

abs ...
 
ops ... era viajei e não "viajari" ... *rs
 
Parabéns Tio, show de bola!
Essa eu não ia conseguir nunca!!
 
Achei mto interessante essa sua técnica e estou a procurar mais sobre o model, mas nada em portugues, será que não poderias fazer um artigo sobre isto, acho que seria interessante.
 
fui eu quem postei anteriormente rstoever.com
Grato
Rafael Stoever
 
Show de bola...

Uma vez eu fiz um SQL que gera os números PRIMOS, mas foi apenas com SQL básico... Veja:
http://www.glufke.net/oracle/viewtopic.php?t=637

Dr_GORI!!!
 
Show de bola Marcio,

Como ficaria em Pl/Sql ?

Silvio
 
em pl/sql tem vários exemplos publicados pela internet, inclusive nos manuais da oracle, o exemplo da sequencia de fibonacci é usada para explicar recursividade.
 
boa tarde!!!
tenho que resolver esse exercicio mais estou com dificuldades, você pode me ajudar:

Crie um bloco PL/SQL que calcule a seqüência de fibonacci (1 1 2 3 5 8 13 21 34 55) para um determinado numero de elementos, recebido como parâmetro e variado de 1 a 30.

desde já agradeço sua atenção
 
Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?