--大概要求
1、出租车、两客一危、船舶每天一张普通表 如th_gpstrack_20140606
2、出租车两客一危每一小时一张分区表
3、先建完一个月的表,然后每个月15号建好下个月的表
4、建索引 Date_gps、车牌号 、 gid100
create or replace procedure gps_procedure
Authid Current_User
is
tabname varchar2(200);--指定表名生成格式
partime varchar2(200);--两客一危分区时间
partime_cz varchar2(200);--出租车分区时间
dayNum number;--计算下个月共有多少天
firstOfNextMonth date;--下个月的第一天
i number:=1;--th_gpstrack表计数
j number:=1;--TR_GPSTRACK_CZC表计数
k number:=1;--TR_GPSTRACK_Cb表计数
begin
execute immediate 'set role ALL';--此处声明权限,若不声明可能作业在执行该存储过程时会报权限错误
select to_number(TO_char(last_day(add_months(trunc(sysdate),1)),'DD')) into dayNum from dual;
select last_day(add_months(trunc(sysdate),0))+1 into firstOfNextMonth from dual;
/*th_gpstrack表*/
begin
--从下一个月的第一天开始循环建一个月的表及分区及索引
while i<=dayNum loop
select 'th_gpstrack_'||to_char(firstOfNextMonth+(i-1),'yyyymmdd') into tabname from dual;--动态获得表名
select to_char(firstOfNextMonth+(i-1),'yyyy-mm-dd') into partime from dual;--动态获得分区时间
execute immediate 'create table ' ||tabname|| ' (
device_id VARCHAR2(50) not null,
vehiclecolor NUMBER,
encrypt NUMBER default 0 not null,
date_gps DATE not null,
lon NUMBER(11,8) not null,
lat NUMBER(11,8) not null,
direction INTEGER not null,
speed_gps NUMBER(6,1),
speed_trck NUMBER(6,1),
mileage NUMBER(11,1),
state NUMBER,
alarm NUMBER,
altitude NUMBER(6,1),
date_insert DATE default sysdate not null,
gid10 NUMBER,
gid100 NUMBER,
gid1000 NUMBER,
accesscode NUMBER,
key_id VARCHAR2(40) default sys_guid() not null,
old_lon NUMBER,
old_lat NUMBER
)tablespace th_gpstrack_space
PARTITION BY RANGE (date_gps)
(
PARTITION par0_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 00:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par1_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 01:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par2_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 02:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par3_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 03:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par4_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 04:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par5_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 05:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par6_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 06:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par7_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 07:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par8_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 08:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par9_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 09:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par10_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 10:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par11_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 11:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par12_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 12:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par13_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 13:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par14_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 14:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par15_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 15:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par16_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 16:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par17_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 17:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par18_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 18:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par19_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 19:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par20_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 20:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par21_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 21:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par22_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 22:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par23_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime||' 23:00:00'',''yyyy-mm-ddhh24:mi:ss''))
)';
execute immediate 'create index INDEX1_'||tabname|| ' on ' ||tabname|| ' (DATE_GPS) tablespace th_gpstrack_space ';
execute immediate 'create index INDEX2_'||tabname|| ' on ' ||tabname|| ' (DEVICE_ID) tablespace th_gpstrack_space ';
execute immediate 'create index INDEX3_'||tabname|| ' on ' ||tabname|| ' (gid100) tablespace th_gpstrack_space ';
i:=i+1;
end loop;
end;
/*TR_GPSTRACK_CZC表*/
begin
--从下一个月的第一天开始循环建一个月的表及分区及索引
while j<=dayNum loop
select to_char(firstOfNextMonth+(j-1),'yyyy-mm-dd') into partime_cz from dual;--动态获得分区时间
select 'TR_GPSTRACK_CZC_'||to_char(firstOfNextMonth+(j-1),'yyyymmdd') into tabname from dual;--动态获得表名
execute immediate 'create table ' ||tabname|| ' (
id NUMBER not null,
device_id VARCHAR2(50) not null,
vehiclecolor NUMBER,
encrypt NUMBER default 0 not null,
date_gps DATE not null,
lon NUMBER(11,8) not null,
lat NUMBER(11,8) not null,
direction INTEGER not null,
speed_gps NUMBER(6,1),
speed_trck NUMBER(6,1),
mileage NUMBER(11,1),
state NUMBER default 0,
alarm NUMBER default 0,
altitude NUMBER(6,1) default 0,
date_insert DATE default sysdate not null,
gid10 NUMBER,
gid100 NUMBER,
gid1000 NUMBER,
accesscode NUMBER,
old_lon NUMBER,
old_lat NUMBER,
gps_type NUMBER default 0,
zhujian VARCHAR2(100)
)tablespace TR_GPSTRACK_CZC_space
PARTITION BY RANGE (date_gps)
(
PARTITION par0_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 00:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par1_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 01:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par2_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 02:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par3_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 03:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par4_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 04:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par5_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 05:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par6_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 06:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par7_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 07:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par8_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 08:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par9_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 09:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par10_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 10:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par11_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 11:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par12_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 12:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par13_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 13:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par14_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 14:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par15_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 15:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par16_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 16:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par17_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 17:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par18_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 18:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par19_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 19:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par20_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 20:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par21_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 21:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par22_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 22:00:00'',''yyyy-mm-ddhh24:mi:ss'')),
PARTITION par23_'||tabname||' VALUES LESS THAN (TO_DATE('''||partime_cz||' 23:00:00'',''yyyy-mm-ddhh24:mi:ss''))
)';
execute immediate 'create index I1_'||tabname|| ' on ' ||tabname|| ' (DATE_GPS) tablespace TR_GPSTRACK_CZC_space ';
execute immediate 'create index I2_'||tabname|| ' on ' ||tabname|| ' (DEVICE_ID) tablespace TR_GPSTRACK_CZC_space ';
execute immediate 'create index I3_'||tabname|| ' on ' ||tabname|| ' (gid100) tablespace TR_GPSTRACK_CZC_space ';
j:=j+1;
end loop;
end;
/*TR_GPSTRACK_CB表*/
begin
while k<=dayNum loop
select 'tr_gpstrack_cb_'||to_char(firstOfNextMonth+(k-1),'yyyymmdd') into tabname from dual;--指定表名生成格式
execute immediate 'create table ' ||tabname|| ' (
licenseplate VARCHAR2(50) not null,
dtfd_id FLOAT,
updatedate TIMESTAMP(6) not null,
longitude FLOAT,
latitude FLOAT,
speed FLOAT,
direction FLOAT,
bisnew INTEGER,
msg_info VARCHAR2(300),
gnp_jrsh DATE default sysdate,
gps_type NUMBER,
zhsjc DATE default SYSDATE
)tablespace TR_GPSTRACK_CB_space
';
commit;
execute immediate 'create index I1_'||tabname|| ' on ' ||tabname|| ' (updatedate) tablespace TR_GPSTRACK_CB_space';
execute immediate 'create index I2_'||tabname|| ' on ' ||tabname|| ' (licenseplate) tablespace TR_GPSTRACK_CB_space';
k:=k+1;
end loop;
end;
end;
相关推荐
触发器、存储过程等上机作业 数据库SQL Server
1.编写带输入参数的存储过程proc_St:在查询分析器中创建一个存储过程,要求输入学号和姓名-----即要求以学号(@SSno)和姓名(@SSname)为存储过程的输入参数(存储过程的参数名必须以@开头,每个参数都应当有数据...
MySQL存储过程作业6.docx
MySQL实验报告5(存储过程与函数)(1)(1).pdf
(1)统计离散数学成绩分布 CREATE TABLE SCC( Grades CHAR(5), Num INT ) --存人数 INSERT INTO SCC(Grades,Num) VALUES('>90',0); INSERT INTO SCC(Grades,Num) VALUES('>80',0); INSERT INTO SCC...
视图,触发器,存储过程,ER图.sqlserver数据库实训,广告公司管理系统,sqlsever数据库大作业,包括增删改查。。视图,触发器,存储过程,ER图.sqlserver数据库实训,广告公司管理系统,sqlsever数据库大作业,包括...
自动备份SQL SERVER数据库的作业的脚本及存储过程(学习)
存储过程-作业1-利思源(6)-参考答案.sql
作业1申请130KB 作业2申请60KB 作业3申请100KB 作业2释放60KB 作业4申请200KB 作业3释放100KB 作业1释放130KB 作业5申请140KB 作业6申请60KB 作业7申请50KB 作业6申请60KB 请采用首次适应算法或最佳适应算法进行内存...
存储过程中查找关键字,存储过程,关键字,查询存储过程关键字
11.6.3 用于维护作业的存储过程 11.6.4 操作员和报警 11.7 SQL Server和Web 11.7.1 Web Assistan 11.7.2 Web任务存储过程 11.7.3 sp_makewebtas 11.7.4 sp_runwebtas 11.7.5 sp_dropwebtas 11.7.6 Web页模板 11.8 串...
存储过程 自定义函数 作业 - 参考答案.sql
教程\存储过程和触发器.ppt
->命令 [ 如果是简单的SQL直接写进去即可,也可用打开按钮输入一个已写好的*.sql文件 如果要执行存储过程,填 exec p_procedure_name v_parameter1,[ v_parameter2…v_parameterN] ] ...
SQL存储过程与事务
1、实验目的:了解动态分区分配方式中的数据结构和分配算法,并进一步加深对动态分区存储管理方式及其实现过程的理解 2、实验内容: (1)用C语言分别实现采用首次适应算法和最佳适应算法的动态分区分配过程和回收...
用C语言语言模拟一个作业的执行过程,该作业共有320条指令, 即它的地址空间为32页,目前它的所有页都还未调入内存。在模拟过程中,如果所访问的指令已在内存,则显示其物理地址,并转下一条指令。如果所访问的指令...
2、系统架构设计是否良好,运行过程是否报错 3、界面设计的合理性和美观程度 4、基本功能的实现 分值60 (包括布局、组件、Activity、Intent等使用) 数据存储的使用 分值10 网络功能 ...
基于SQL Server作业 扩展存储过程实现数据库自动远程备份.pdf
第8章 存储过程的操作与管理 sql server