oracle水平分表后如何查询 mysql水平分表后如何查询

oracle中分表怎么查总数?

CREATE OR REPLACE FUNCTION Get_Record_Count(p_table_name varchar2)

创新互联公司专注于永登企业网站建设,响应式网站开发,商城网站制作。永登网站建设公司,为永登等地区提供建站服务。全流程定制网站建设,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务

RETURN INT

IS

-- 动态SQL的游标.

v_CursorID INTEGER;

-- 动态执行的SQL语句.

v_sql varchar2(1000);

-- SQL 执行的返回值,可以不理会该数据.

v_Dummy INTEGER;

-- 用于保存读取出来的数据.

v_result INT ;

BEGIN

-- 设置好需要动态执行的 SQL 字符串.

v_sql:=

'SELECT COUNT(1) from ' || p_table_name ;

-- 打开游标.

v_CursorID := DBMS_SQL.OPEN_CURSOR;

-- 分析查询.

DBMS_SQL.PARSE(v_CursorID, v_sql, DBMS_SQL.V7);

-- 定义好要输出的列.

DBMS_SQL.DEFINE_COLUMN(v_CursorID, 1, v_result);

-- 执行动态SQL.

v_Dummy := DBMS_SQL.EXECUTE(v_CursorID);

LOOP

IF DBMS_SQL.FETCH_ROWS(v_CursorID) = 0 THEN

-- 如果没有提取到记录,那么退出循环

EXIT;

END IF;

-- 提取动态SQL执行出来的结果.

DBMS_SQL.COLUMN_VALUE(v_CursorID, 1, v_result);

END LOOP;

-- 关闭游标

DBMS_SQL.CLOSE_CURSOR(v_CursorID);

-- 返回

RETURN v_result;

END ;

/

DECLARE

v_table_index INT;

v_table_name VARCHAR(20);

v_data_count INT;

BEGIN

v_data_count := 0;

FOR v_table_index IN 0..999 LOOP

-- 组合表名

v_table_name := 'message_' || TO_CHAR(v_table_index, '000');

-- 取得记录数

v_data_count := v_data_count + Get_Record_Count();

END LOOP;

-- 输出结果

dbms_output.put_line( TO_CHAR(v_data_count) );

END

没编译 测试 运行 过.

oracle 已经分区的表需要怎样查询

oracle 已经分区的表需要怎样查询

显示分区表信息

显示数据库所有分区表的信息:DBA_PART_TABLES

显示当前用户可访问的所有分区表信息:ALL_PART_TABLES

显示当前用户所有分区表的信息:USER_PART_TABLES

显示表分区信息 显示数据库所有分区表的详细分区信息:DBA_TAB_PARTITIONS

显示当前用户可访问的所有分区表的详细分区信息:ALL_TAB_PARTITIONS

oracle 分组后怎么查询

SELECT (SUM(B.COLB)-SUM(A.COLA)) CD FROM TESTAB A,TESTCD B WHERE A.COLID=B.COLID HAVING SUM(B.COLB)-SUM(A.COLA) 20;

oracle表分区后数据怎么查询数据

分区后用户查询没有区别,就普通的查询语句即可,通常情况下不必关心分区名称等细节,只需要知道分区表名称即可。

分区后只是表的存储格式变了。


文章名称:oracle水平分表后如何查询 mysql水平分表后如何查询
转载来源:http://scyanting.com/article/hppejg.html