Oracle 定位10亿条数据:/*
*app 通过ID查询此ID所在的表及分区,1张表100个表分区的定位存储过程
*parm id ID
*return table_name 表名,par_name 分区名
*/
create or replace procedure Locate(id in varchar2, table_name out varchar2, par_name out varchar2) authid current_user is
MAXSTR varchar2(12) := "000999999999";
begin
if id > MAXSTR or LENGTH(id) <> 12 then
dbms_output.put_line("id不合法!");
else
--定位id号所在的表
table_name := "TF_00"||SUBSTR(id,3,1);
--定位id号所在的分区
par_name := "P_0"||SUBSTR(id,4,2);
end if;
end ;
/set serveroutput on
declare
table_name varchar2(10);
par_name varchar2(10);
begin
Locate("000999034567",table_name,par_name);
dbms_output.put_line("所在表:"||table_name);
dbms_output.put_line("所在分区:"||par_name);
end;
/Oracle RAC相关服务无法启动问题Linux怎么自动启动Oracle服务和ArcSDE服务相关资讯 Oracle数据库 Oracle入门教程 oracle数据库教程
- Oracle数据库全球化 (03月01日)
- Oracle数据库日期过滤方法性能比较 (02/02/2015 13:20:26)
- Oracle数据库安装中端口被占用问题 (10/29/2014 07:42:24)
| - 在CentOS 6.6上搭建C++运行环境并 (10/10/2015 19:44:40)
- Oracle数据库无法使用localhost和 (11/14/2014 16:39:10)
- 使用SQLT来构建Oracle测试用例 (08/28/2014 06:17:41)
|
本文评论 查看全部评论 (1)
评论声明- 尊重网上道德,遵守中华人民共和国的各项有关法律法规
- 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
- 本站管理人员有权保留或删除其管辖留言中的任意内容
- 本站有权在网站内转载或引用您的评论
- 参与本
|