Plsql 如何在pl/sql中选择一个由三个随机字符组成的字符串,后者从特定字母开始(例如,从a、b或c开始)
如何在pl/sql中选择一个由三个随机字符组成的字符串,后者从特定字母开始(例如,从a、b或c开始)。我还想比较一下数据库中的三位数字符串是否存在Plsql 如何在pl/sql中选择一个由三个随机字符组成的字符串,后者从特定字母开始(例如,从a、b或c开始),plsql,plsqldeveloper,Plsql,Plsqldeveloper,如何在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
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;
您需要更新您的问题,以提供更多关于您所追求的内容的信息-您是否有一个要替换的字符串,或者您是否需要生成一个随机字母字符串,然后替换?你如何确定从哪个字母开始?第一次发生?第三次发生?。和“比较我数据库中的三位数字符串”。。。什么,要搜索所有表中的所有列?或者您是否考虑了特定的表和列?我想随机生成一个从say'a'开始的三个单词的字符串(例如ACQ)。然后我让lyk将它与我现有的三个单词字符串进行比较。
select f_get_random_string('A') as random_string
from dual;