Páginas

sábado, 3 de outubro de 2015

Gerar senha randômica com PLSQL

Boa tarde pessoal, crie esse pequeno bloco para geração de senha randomicamente para sistema de telefonia, com isso a cada solicitação, o solicitante diz o tanto de novas senha que devem alimenta o sistema, sendo diferente das existentes.

No while você digita o total de senha que deseja ex. 1000,

Para rodar ex, terar que ter um tabela chamada senha com campo ID tipo number

Na saida do output ele vai te retornar as novas senha gerada e gravar no seu banco as senhas




DECLARE
quantidade_senha NUMBER := 0;
SENHA            NUMBER;
total_caracter   NUMBER;
CONFERENCIA      NUMBER;

BEGIN
WHILE(quantidade_senha < 1000) LOOP ---  numero de senha a cada execução

   SELECT trunc(dbms_random.value(000000, 999999), 0) x
             INTO SENHA
             FROM dual;
      SELECT length(SENHA)
             INTO total_caracter
             FROM dual;
            
   if (total_caracter = 6) THEN
          SELECT count(*) CONT
                 INTO CONFERENCIA
                 FROM senha
                where id = SENHA;

          if(CONFERENCIA = 0) THEN
             quantidade_senha := quantidade_senha + 1;

            INSERT INTO senha (id
                                                ,data_criacao
                                                ,gerado ) values (SENHA
                                                                        ,sysdate
                                                                       ,'jquintiliano'
                                                                       );

              dbms_output.put_line(SENHA);
             COMMIT;  

          END IF;  

   END IF;
          
END loop;

END;

Nenhum comentário:

Postar um comentário