--创建业务存储过程
create or replace procedure pro_addclomn_comment
(
tablename in varchar2,--目标表名
ispartition in varchar2--是否分区表 '0'不是分区 '10'范围(时间)分区 '11' hash分区 可自由扩展
)
/*
* 评论等表增加是否非汉字字段业务处理
* @param tablename 目标表名
* @param ispartition 是否分区表 '0'不是分区 '10'范围(时间)分区 '11' hash分区 可自由扩展
* @author xKF24575
* @version [版本号, May 18, 2011]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
is
--resultchar varchar2(256);--执行结果
partitionname varchar2(256);--分区名称
v_cs_sql varchar2(1024);--动态游标sql
v_sql varchar2(1024);--执行sql
v_sql_temp varchar2(1024);--执行sql
v_error varchar2(2048);--出错日志
v_countsql varchar2(1024);--计算最大、小值sql
v_isnumber varchar2(1); --是否是数字类型
n_max number(30);
n_min number(30);
n_cur number(30);
n_tmp number(30);
v_max varchar2(30);
v_min varchar2(30);
v_cur varchar2(30);
v_tmp varchar2(30);
TYPE t_ref_cursor IS REF CURSOR;
c t_ref_cursor; --动态游标
begin
if ispartition = '10' then --是范围分区表
v_cs_sql := 'select PARTITION_NAME
from USER_TAB_PARTITIONS
where TABLE_NAME = upper(:a) and PARTITION_NAME <> ''P1''';
v_sql_temp :='select actionsql from comment_ctrl where tablename = :c';
open c for v_cs_sql using tablename;
fetch c into partitionname;
while c% found loop
execute immediate v_sql_temp into v_sql using tablename;
v_sql := replace(v_sql,':a',partitionname);
execute immediate v_sql;
commit;--以分区commit一次
fetch c into partitionname;
end loop;
end if;
if ispartition = '0' then --不是分区表
v_sql_temp :='select actionsql,isnumber,maxandminsql from comment_ctrl where tablename = :c';
execute immediate v_sql_temp into v_sql,v_isnumber,v_countsql using tablename;
if v_isnumber = '1' then --是数字id
execute immediate v_countsql into n_max,n_min;
n_cur := n_min;
while (n_cur <= n_max) loop
n_tmp := n_cur + 20000; --这里就是借鉴list分区的思路了
execute immediate v_sql using n_cur,n_tmp;
commit;
n_cur := n_tmp;
end loop;
end if;
if v_isnumber = '0' then --是字符id
execute immediate v_countsql into v_max,v_min;
v_cur := v_min;
while (v_cur <= v_max) loop
v_tmp := v_cur + '10000000';--这里就是借鉴list分区的思路了
execute immediate v_sql using v_cur,v_tmp;
commit;
v_cur := v_tmp;
end loop;
end if;
end if;
commit;
exception
when others then
v_error := sqlcode || ' - ' || sqlerrm;
prc_iread_sys_writelog (2,4,'pro_addclomn_comment',v_error,'');
end pro_addclomn_comment;
/
begin
pro_addclomn_comment('us_publiccomment','0');
end;
/
begin
pro_addclomn_comment('us_bookcomment_audit','1');
end;
/
begin
pro_addclomn_comment('us_bookcomment_publish','1');
end;
/
begin
pro_addclomn_comment('us_usercomment','0');
end;
/
begin
pro_addclomn_comment('us_topic','0');
end;
/
begin
pro_addclomn_comment('us_leaveword','0');
end;
/
分享到:
相关推荐
系统割接上线方案包括:割接上线后系统状况、割接上线条件等
3)严格按照制定的割接方案执行,当岀现特殊情况要更改割接计划时,必须提前请示 相关领导,得到允许后方可继续; 4)完成割接以后,中建鸿泰通信工程有限公司割接人员要将割接情况及出现的问题上 报相关领导; 5)...
网络割接系统测试确认表
华为官网网络割接步骤及注意事项,随着企业业务的不断发展,企业网络为了适应业务的需求不断的改造和优化。无论是硬件的扩容、软件的升级、配置的变更,凡是影响现网运行业务的操作(如造成业务的中断),企业都会...
撰写网络割接方案 一、描述项目背景 一般来说,你撰写的这个割接方案需要报送给上级领导看,而相关的领导不一定很了解这个项目 ,所以需要描述项目背景并对项目进行简单介绍。 二、制定总体割接方案和计划 ...
中国电信吉林割接材料,本次割接时间是2009年3月,资料好不容才弄到的
割接上线原则 割接上线涉及的范围 rmb系统部署结构 割接上线条件 割接上线风险 割接上线准备 环境部署 人员部署 对外接口部署 割接上线计划 割接上线步骤 应用验证 应急处理 割接上线回退 第二天工作安排 应急处理...
光缆割接报告,光缆割接时间,割接前准备!
HCIE LAB论述题 参考必备 割接 (完整版)网络项目割接方案V1.8)
通信工程中光缆线路割接流程,希望对大家有用,谢谢
割接方案:本次工程是电信定位平台新建工程,原京门PDE割接到亦庄PDE。
DPI割接方案详细步骤 DPI项目纬五路IDC链路割接方案
割接 常用 Oracle 知识,主要是一些常用的技术,及ORACLE调优方面的知识,有利大家在平时工作中,使用到。
SDH网管割接操作流程。
主要用于LAC的割接流程说明。通常情况下需注意配合的相关内容。
割接操作流程!
nsn 频率割接的NETACT 工具。快速实现割接数据
本文是关于网络割接的一些措施及解决方案,期望给网友带来方便
大型企业网络。30分钟割接一台核心交换机。。
华为交换机割接方案模板,适用于华为设备及项目