用存储在表/变量中的另一个变量替换一个变量



我有一个表VARIABLE_REPLACE

<表类> DATA1 var tbody><<tr>TBR_SPlc_location

如何使用关联数组而不是单独的变量?这样,您就可以引用(例如)my_array(var)来检索与var中任何内容相关的值。

create table variable_replace (data1, var) as
select 'TBR_SP', 'lc_location' from dual;
declare
str varchar2(1000) := 'TBR_SP123';
var varchar2(1000);
lc_location varchar2(1000) := 'LONDON';
to_be_replaced varchar2(1000);

type var_list is table of varchar2(200) index by varchar2(100);
vars var_list;
begin
vars('lc_location') := 'LONDON';
select data1, var into to_be_replaced, var
from   variable_replace;
str := replace(str, to_be_replaced, vars(var));
dbms_output.put_line(str);
end;

最新更新