设为首页收藏本站
查看: 66|回复: 0

[PHP] Oracle定位10亿条数据

[复制链接]

论坛元老

Rank: 6Rank: 6

积分
34274
主题
17031
UID
1347
M币
67
贡献
17176

  • 发表于 2018-7-3 11:43:00 | 显示全部楼层 |阅读模式
    Oracle 定位10亿条数据: /**app 通过ID查询此ID所在的表及分区,1张表100个表分区的定位存储过程*parm id ID*return table_name 表

      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;
    /

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    在我站开通SVIP可同时获得17个站点VIP资源 立即登录 立即注册
    快速回复 返回顶部 返回列表