Motta 645 Denunciar post Postado Setembro 10, 2012 DECLARE VS_SAI VARCHAR2(400); VN_UNIVERSO NUMBER(3) := 60; VN_SERIE NUMBER(2) := 6; BEGIN FOR R IN (SELECT NUMERO FROM (SELECT LPAD(ROWNUM,2,'0') NUMERO, DBMS_RANDOM.VALUE ORDEM FROM USER_TAB_COLUMNS WHERE ROWNUM <= VN_UNIVERSO ORDER BY 2) WHERE ROWNUM <= VN_SERIE ORDER BY 1) LOOP VS_SAI := VS_SAI || R.NUMERO || ' '; END LOOP; DBMS_OUTPUT.PUT_LINE(VS_SAI); END; Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Setembro 10, 2012 Há há? :ermm: Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 10, 2012 pô, questionando a "utilidade" do post ... :cry: :rolleyes: :upset: :mellow: :pinch: :sick: :huh: Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Setembro 10, 2012 Não, só que, se existe uma piada aí (dado o título), eu não entendi. Tem algum erro na sintaxe, a query está complexa demais pra uma coisa tão simples ou é pura e simplesmente o fato de o cara ter criado algo que me parece uma função de banco de dados pra fazer algo que uma única linha de código, na linguagem server-side, resolveria? Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 10, 2012 Meio que piada, fazer um palpiteiro de Megasena com SQL. Mais pura bobagem. Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Setembro 10, 2012 Tem algum erro na sintaxe, a query está complexa demais pra uma coisa tão simples ou é pura e simplesmente o fato de o cara ter criado algo que me parece uma função de banco de dados pra fazer algo que uma única linha de código, na linguagem server-side, resolveria? Pois agora esta lançado o desafio, quero ver fazer em "uma única linha de código" o que o código em PL/SQL esta fazendo. :P Pode usar qualquer linguagem. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Setembro 10, 2012 De repente o autor não é tão confiante em programação quanto em SQL. >.< Não é melhor mover isso para Entretenimento? Senão daqui há pouco aprece um dedo nervoso e negativa nós dois. Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Setembro 10, 2012 Isso é um pouco do que sinto falta no fórum até... Desafios não muito mirabolantes e livres de tecnologia, lógico que estamos aqui num fórum de Oracle, mas a "futilidade" da solução despertou a ideia. [off topic] Ninguém vai negativar nós pq ninguém acessa essa área do fórum além do Motta. :P Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 10, 2012 A ideia me ocorreu no fim-de-semana conferindo um mega que eu tinha feito, fazer um palpiteiro em SQL. O bloco foi para exibir numa linha só, que tirou a "pureza" da coisa. Prog, na boa, I don´t give a sh*t para negativações ou positivações... As vezes é bom provovar tumulto ... :) Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Setembro 10, 2012 Pois agora esta lançado o desafio, quero ver fazer em "uma única linha de código" o que o código em PL/SQL esta fazendo. :P Pode usar qualquer linguagem. Bom, confesso que falei sem pensar, afinal, como nunca joguei, não sei se existe alguma regra específica que influencie. Rrespondi imaginando que seria apenas sortear 6 números de um intervalo pré-definido de 1 à 60. Claro, dependendo da linguagem podem ser necessárias algumas linhas a mais. om PHP, você sabe bem que é mole, mole: <?php var_dump( array_rand( array_flip( range( 1, 60 ) ), 6 ) ); Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Setembro 10, 2012 O array_rand() garante a não repetição? Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Setembro 10, 2012 O array_rand() garante a não repetição? Imagino que sim porque ela, pelo menos em teoria, embaralha o array, extrai e retorna, no caso, seis posições dele. Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Setembro 10, 2012 Fiz um teste aqui e parece que ele elimina as repetições mesmo. Solução em Python: >>> print sorted(random.sample(range(1,61),6)) Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Setembro 11, 2012 Motta se superou nessa agora O que quero ver é o povo usar a combinação gerada, apostar e ganhar e depois lembrar de dar a recompensa do Motta. Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Setembro 11, 2012 O que quero ver é o povo usar a combinação gerada, apostar e ganhar e depois lembrar de dar a recompensa do Motta. Tá, farei isso hoje! Rs Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Setembro 11, 2012 Motta aproveite que o povo ainda está no inicio e estipule o percentual do premio que terá direito :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites