使用存储在变量中的值在 oracle 中构建 select 语句
building a select statement in oracle using values stored in variables
有没有办法使用存储在变量中的值在 oracle 中构建 select 语句?
例如,您可以这样做吗:
declare
tbl_var varchar2(10) := "map_set";
begin
select count(*) from tbl_var;
end;
是的,使用立即执行:
declare
tbl_var varchar2(10) := 'map_set';
result number;
begin
execute immediate 'select count(*) from '||tbl_var into result; --save result into variable
dbms_output.put_line('Total rows:'||result); --print result
end;
第二种方法,您可以创建一个接收 table 名称作为参数和 return 计数的函数:
create function get_count(tbl_var varchar2) return number is
result number;
begin
execute immediate 'select count(*) from '||tbl_var into result;
return result;
end;
创建函数后,您可以这样查询它:
select get_count('map_set') from dual;
有没有办法使用存储在变量中的值在 oracle 中构建 select 语句? 例如,您可以这样做吗:
declare
tbl_var varchar2(10) := "map_set";
begin
select count(*) from tbl_var;
end;
是的,使用立即执行:
declare
tbl_var varchar2(10) := 'map_set';
result number;
begin
execute immediate 'select count(*) from '||tbl_var into result; --save result into variable
dbms_output.put_line('Total rows:'||result); --print result
end;
第二种方法,您可以创建一个接收 table 名称作为参数和 return 计数的函数:
create function get_count(tbl_var varchar2) return number is
result number;
begin
execute immediate 'select count(*) from '||tbl_var into result;
return result;
end;
创建函数后,您可以这样查询它:
select get_count('map_set') from dual;