自动建立表空间,比如每到一个月的开始,就自动建立一个以时间命名的表空间

mydb 2005-10-12 05:03:47
自动建立表空间,比如每到一个月的开始,就自动建立一个以时间命名的表空间
在创建表的时候,表分区自动根据时间的不同自动将数据存入各自的表空间
怎么实现! 请大狭指点
...全文
126 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mydb 2005-10-14
  • 打赏
  • 举报
回复
谢谢各位
NinGoo 2005-10-12
  • 打赏
  • 举报
回复
定时的动作用job做,功能用存储过程实现
zzwind5 2005-10-12
  • 打赏
  • 举报
回复
create or replace create_table is
dd varchar2(20);
begin
select col into dd from t1 where rownum=1 --dd:='2005/10/01';
if sysdate>to_date(dd, 'yyyy/mm/dd') then
execute immediate 'create table ||to_char(sysdate, 'yyyy/mm/dd')||' col1.....';
dd:=to_char(add_months(sysdate+1), 'yyyy/mm/dd');
update t1 set col=dd;
end if;
commit;
end;

--定时脚本
variable a number;
begin
dbms_job.submit(:A, 'create_table;', sysdate, 'sysdate+1');
commit;
end;
bobfang 2005-10-12
  • 打赏
  • 举报
回复
job+存储过程+动态SQL。job每天夜里执行存储过程,存储过程检查是否是月的最后一天,如果是,就用动态SQL执行创建表分区的语句。

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧