日期:2014-05-16  浏览次数:20485 次

存储过程 建表 分表

?

由于单表数据量太大,达到千万级别,所以考虑采用oracle的存储过程实施分表操作。

?

说明:schema表中存储指标信息

? ? ? ? ? store表中存放schema中指标指定的存储信息

? ? ? ? ? dic_info是字典表

?

? ? ? ? ? 按照schema的id号建相同表结构的表,更新字典项,把原始的大表里的数据分摊到新建的小表中,实现分表。

?

create or replace procedure PROC_CREATE_TABLE_INSERT_DATA

(

? --用以输出的信息

? on_flag out number, ???????????--SQL错误码

? out_reason out varchar2?????? --错误原因

)

is

? v_table_name varchar2(50);????????????? --新生成的数据表表名

? v_table_num integer;????????????????????? --数据表的数据量

? v_create_sql varchar2(768);??????????? --建表语句

? v_data_insert varchar2(256);?????????? --数据插入语句

? v_old_table varchar2(50);?????????????? --原始表表名

? v_dic_sql varchar2(128);??????????????? --字典项查询语句

? v_dic_c