使用动态 SQL 选择值
假设用户想要从不同的表中选择数据。表由用户指定。
function get_value(p_table_name varchar2, p_id number) return varchar2 is
value varchar2(100);
begin
execute immediate 'select column_value from ' || p_table_name ||
' where id = :P' into value using p_id;
return value;
end;
像往常一样调用此函数:
declare
table_name varchar2(30) := 'my_table';
id number := 1;
begin
dbms_output.put_line(get_value(table_name, id));
end;
要测试的表:
create table my_table (id number, column_value varchar2(100));
insert into my_table values (1, 'Hello, world!');