如何 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;
如何 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;