如何 select 在 pl/sql 中从特定字母开始的三个随机字符串(例如从 a 、b 或 c 开始)

how to select a string of three random latter starting from a specific letter(for e.g. starting from a ,b or c) in pl/sql

如何 select 在 pl/sql 中从特定字母开始(例如从 a 、b 或 c 开始)的三个随机字符串。而且我还想从我的数据库中比较这个三位数字符串是否存在。

create or replace function f_get_random_string(
    p_start_letter in varchar2
)
return varchar2
is
    cursor c_string_exists(
        p_string in varchar2
    )
    is
      select 'Y'
      from dual
      where exists (
                select *
                from my_table
                where my_string = p_string
            );

    l_string        varchar2(3);
    l_string_exists varchar2(1);
begin
    loop
        l_string := p_start_letter || dbms_random.string('U', 2);

        l_string_exists := null;

        open c_string_exists(l_string);
        fetch c_string_exists into l_string_exists;
        close c_string_exists;

        exit when l_string_exists is null;
    end loop;

    return l_string;
end f_get_random_string;

select f_get_random_string('A') as random_string
from dual;