oracle 存储过程创建表分区
程序员文章站
2022-06-09 19:22:05
...
oracle 存储过程创建表分区 Oracle 存储过程 CREATE OR REPLACE PROCEDURE BIP_MMS_PARTITION_PROC AS v_Mms_Task_Tab VARCHAR2(50); --表名 v_Mms_Content_Tab VARCHAR2(50); v_Mms_User_Tab VARCHAR2(50); v_TableSpace VARCHAR2(20); --表空间 v_PartPreFl
oracle 存储过程创建表分区Oracle 存储过程
CREATE OR REPLACE PROCEDURE BIP_MMS_PARTITION_PROC AS v_Mms_Task_Tab VARCHAR2(50); --表名 v_Mms_Content_Tab VARCHAR2(50); v_Mms_User_Tab VARCHAR2(50); v_TableSpace VARCHAR2(20); --表空间 v_PartPreFlag VARCHAR2(50); --分区名标识 v_SqlCursor NUMBER; --游标 v_SqlExec VARCHAR2(2000); --执行语句 v_PartPreDate VARCHAR2(20); --分区日期 v_RangeValue NUMBER; v_RangeDate NUMBER; v_Rows NUMBER(30) := 0; v_Num NUMBER(30) := 0; vErrInfo VARCHAR2(200); p_DateFrom NUMBER; p_PartNum NUMBER; p_Range NUMBER; BEGIN v_Mms_Task_Tab := 'BIP_MMS_MT_TASK_LOG_TAB_TEST'; v_Mms_Content_Tab := 'BIP_MMS_MT_CONTENT_TAB_TEST'; v_Mms_User_Tab := 'BIP_MMS_MT_USER_LOG_TAB_TEST'; -- 读取配置参数 BEGIN SELECT TO_NUMBER(VALUE) INTO p_DateFrom FROM BIP_OTHERS_PROPERTIES_TAB WHERE NAME = 'p_DateFrom'; SELECT TO_NUMBER(VALUE) INTO p_PartNum FROM BIP_OTHERS_PROPERTIES_TAB WHERE NAME = 'p_PartNum'; SELECT TO_NUMBER(VALUE) INTO p_Range FROM BIP_OTHERS_PROPERTIES_TAB WHERE NAME = 'p_Range'; EXCEPTION WHEN OTHERS THEN BEGIN p_DateFrom := 0; p_PartNum := 1; p_Range := 180; END; END; --记录存储过程添加分区 INSERT INTO BIP_LOG_STAT_EXEC_TAB VALUES (TO_CHAR(SYSDATE, 'yyyymmddhh24miss'), 'BIP_MMS_PARTITION_PROC_ADD', 'BEGIN'); COMMIT; --ADD PARTITION FOR i IN 1 .. p_PartNum LOOP --BIP_MMS_MT_CONTENT_TAB 添加分区 v_PartPreDate := TO_CHAR(SYSDATE + p_DateFrom + i, 'YYYYMMDD'); dbms_output.put_line(v_PartPreDate); v_Num := 0; v_TableSpace := 'BIP_MMS_TS_TEST'; v_PartPreFlag := 'MMS_MT_CONTENT'; SELECT COUNT(*) INTO v_Num FROM user_tab_partitions WHERE table_name = v_Mms_Content_Tab AND SUBSTR(partition_name, 16, 8) = v_PartPreDate; IF v_Num
上一篇: 一个普通人
下一篇: 85 php 绘图体系