[英]Get Partition name from subquery dynamically?
我需要从该表上创建的最新分区中获取信息。 动态获取而不是使用如下名称
select *
from dw.DWT509_DADOS_NCLIE partition ('Partition Name').
select *
from dw.DWT509_DADOS_NCLIE partition
(Select PARTITION_NAME
From (
Select PARTITION_POSITION, PARTITION_NAME,
Max(PARTITION_POSITION) over (partition by TABLE_NAME)
As MAX_P
From SYS.all_tab_partitions
Where TABLE_NAME='DWT509_DADOS_NCLIE'
--And Nvl(NUM_ROWS,0) = 0
)
Where PARTITION_POSITION = MAX_P);
我认为您将必须使用动态sql字符串...
declare
l t.x%type;
stmt varchar2(1000);
part varchar2(30);
begin
select max(x) into l from t;
stmt := 'select max(uo.subobject_name)
from t partition for (' || l || '), user_objects uo
where dbms_rowid.rowid_object(t.rowid) = uo.data_object_id';
execute immediate stmt into part;
dbms_output.put_line(part);
end;
/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.