十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
oracle 已经分区的表需要怎样查询
磐安网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联公司2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
显示分区表信息
显示数据库所有分区表的信息:DBA_PART_TABLES
显示当前用户可访问的所有分区表信息:ALL_PART_TABLES
显示当前用户所有分区表的信息:USER_PART_TABLES
显示表分区信息 显示数据库所有分区表的详细分区信息:DBA_TAB_PARTITIONS
显示当前用户可访问的所有分区表的详细分区信息:ALL_TAB_PARTITIONS
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
没编译 测试 运行 过.
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;