Chinaunix

标题: 怎么在Oracle中创建多个相同表结构的表? [打印本页]

作者: HF.SKY000    时间: 2010-03-18 13:18
标题: 怎么在Oracle中创建多个相同表结构的表?
我现在有一个需求,想在Oracle中每小时创建一个表.目标表和创建后的表表结构要一致,包括索引等项,不清楚在Oracle中怎么操作?
比如目标的表名为:table。每小时需要创建的表名为:table_2010031810。(即:table_yyyymmddhh)
作者: renxiao2003    时间: 2010-03-18 13:25
create table    as select * from
语句就可以。如果不要数据,加上where rownum<1
作者: HF.SKY000    时间: 2010-03-18 13:38
回复 2# renxiao2003


但是 这样创建的表,是没有索引的。
作者: cqubityj    时间: 2010-03-18 16:37
没办法一个sql语句解决。可以写个pl/sql或shell脚本,从原表上查找有哪些索引,然后生成新表上建索引的sql语句,再去建索引。
作者: renxiao2003    时间: 2010-03-18 19:35
那就值能用存储过程。
作者: doni    时间: 2010-03-18 22:09
是否可以考虑分区表呢
作者: HF.SKY000    时间: 2010-03-19 09:33
回复 6# doni


    请问分区表怎么创建。能否给个示例子瞧瞧。。。。
作者: doni    时间: 2010-03-19 10:52
例子就不给了,一则SQL的书太多了,网上也容易找,二则,这个具体的做法跟你的应用有关,比如表如何分区,索引是否分区等等,这些问题呢,LZ先要把分区的概念搞清楚,然后再做,所以最好还是自己研究一下
作者: doni    时间: 2010-03-19 10:53
本来想给LZ一个官网的链接的,不知道为什么,今天9&10的文档都打不开,LZ只能自己找找吧
作者: doni    时间: 2010-03-19 12:18
回复 9# doni


这会好了

CREATE TABLE

CREATE INDEX
作者: wmxcn2000    时间: 2010-03-19 16:44
LZ什么样的业务数据虹,非得每小时一张表,这个玩得有点大;




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2