如何在< table_name>中选择*中动态选择分区(分区名称)? [英] how to select dynamically in select * from <table_name> partiton (Partition name)?
问题描述
我有一个带有多个分区的大表.我的分区名称如下:
i have a big table with several partition. my partition name is like below:
P_13931203
P_13931204
P_13931205
P_13931206
我可以选择动态创建分区名称,如下所示:
i have a select for create partition name dynamically as below:
select 'P_' || to_char(sysdate-1,'yyyymmdd','nls_calendar=persian') from dual;
example Output: P_13931204
当我选择以下内容时,一切正常:
when i select as below everything is OK:
select *
from <table_name> partition (P_13931205);
但是当我如下选择时,我得到了错误:
but when i select as below i get error:
select *
from <table_name> partition (select 'P_' || to_char(sysdate-1,'yyyymmdd','nls_calendar=persian') from dual);
错误:
ORA-00933:SQL命令未正确结束 00933. 00000-"SQL命令未正确结束" *原因:
*行动: 行错误:2列:28 语法错误,预期: 标识符
ORA-00933: SQL command not properly ended 00933. 00000 - "SQL command not properly ended" *Cause:
*Action: Error at Line: 2 Column: 28 syntax error, expected : identifier
推荐答案
尝试一下:-
select * from partition
(select 'P_' || to_char( sysdate-1,'yyyymmdd','nls_calendar=persian') from dual
) Dummy_table;
因为在每次选择子查询之后,您都必须提及数据集名称.
Beacuse after every sub-query select you have to mention a dataset name.
这篇关于如何在< table_name>中选择*中动态选择分区(分区名称)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!