Função para retornar número ou letras randomicamente

Olá pessoal, tudo bem?

Vai aí uma função bem simples para recuperar números ou letras randomicamente de 10 caracteres.

Código:

CREATE OR REPLACE FUNCTION F_RANDOM(p_caract boolean default true) RETURN VARCHAR2 IS
v_param varchar2(15);
v_return varchar2(256);
BEGIN
for x in 1..1000000
loop
select trunc(to_number(to_char(systimestamp, 'SSSSS.FF6'))*1000) into v_param from dual;
dbms_random.initialize(v_param);
v_return := to_char(abs(dbms_random.random-(x/1)));
dbms_random.terminate();
if p_caract then
v_return := translate(v_return,'0123456789','ABCDEFGHIJ');
end if;
return(v_return);
end loop;
END F_RANDOM;

Exemplo com resultado em letras:

declare
v_result varchar2(30);
begin
v_result := f_random;
dbms_output.put_line(v_result);
end;

BEBGEDCBBC

Exemplo com resultado em números:

declare
v_result varchar2(30);
begin
v_result := f_random(false);
dbms_output.put_line(v_result);
end;

1071673929

Abraços,

Deixe um comentário

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detectado !

Verificamos que está usando alguma extensão para bloquear os anúncios. O GPO (Grupo de Profissionais Oracle) obtém a sua renda através dos anúncios, para assim manter toda a estrutura dedicada a universalização do conhecimento.

Se você gosta de nosso trabalho, pedimos por gentileza que desabilite o ads blocker. Trabalhamos somente com o Google Adsense e tentamos ao máximo exibir apenas o necessário.

Agradecemos de antemão ! :)

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock