我正在尝试创建1个PL / SQL语句,这个语句允许我在每个连续的日期时间迭代后获得多个表输出,并使用该日期时间迭代的年份重命名每个表。以下示例具有期望的结果。感谢
Create table MY_TIME_XX AS
( Select
X.*
FROM Metadata X )
Where X.Datetime between '01/01/2014' and '12/31/2014'
所以最后我的架构会有
等...
答案 0 :(得分:5)
这样的工作需要动态SQL。 假设您知道范围内的年份,那么应该为您做好准备。
begin
for idx in 2014..2016 loop
execute immediate
'Create table MY_TIME_'|| idx ||' AS
Select X.*
FROM Metadata X
Where to_char(X.Datetime, ''yyyy'') = '''|| idx||'''';
end loop;
end;
注意使用双引号来转义字符串中的文字。