网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle数据库-关于外联接.
.ORACLE常用傻瓜问题1000问(之二).
.关于dbms_stats取代analyze.
.关于Oracle for zLinux的几个问题.
.关于“专用服务器进程”和“多线.
.重建Oracle数据库控制文件的简单.
.ORACLE常用傻瓜问题1000问之七.
.oracle数据库备份与恢复 a piece.
.全面解读 startx.
.怎样修改查看Oracle字符集及怎样.
.用一个实例讲解Oracle的自定义聚.
.名字中包含了什么?:改善的表空.
.Oracle 最具伸缩性和成本效益的数.
.数据库学习指南Oracle数据安全面.
.Oracle密码文件的创建、使用和维.
.Oracle 8 的函数介绍.
.循序渐进讲解Oracle 9i数据库的迁.
.oracle基本概念和术语.
.教你学会使用DBCA克隆一个数据库.
.深度分析:Oracle收购JBoss &BE.

DBMS_SQL包和游标计算用户下所有表的行

发表日期:2008-2-9



  系统环境:
  1、操作系统:windows 2000,机器内存128M
  2、数据库: Oracle 8i R2 (8.1.6) for NT 企业版
  3、安装路径:C:\ORACLE
  
  实现方法:
  
  SQL> conn scott/tiger
  SQL> set serveroutput on size 1000000
  SQL>
  SQL> DECLARE
  2 t_c1_tname user_tables.table_name%TYPE;
  3 t_command varchar2(200);
  4 t_cid integer;
  5 t_total_records number(10);
  6 stat integer;
  7 row_count integer;
  8 t_limit integer := 0; --限制只取出记录大于0的表的情况
  9 cursor c1 is select table_name from user_tables order by table_name; --查出所有表的名字
  10 BEGIN
  11 t_limit := 0;
  12 open c1;
  13 loop
  14 fetch c1 into t_c1_tname; --取出一个表名
  15 exit when c1%NOTFOUND; --假如游标记录取完,退出循环
  16 t_command := 'SELECT COUNT(0) FROM 't_c1_tname; --定义SQL命令
  17 t_cid := DBMS_SQL.OPEN_CURSOR; --创建一个游标
  18 DBMS_SQL.PARSE(t_cid,t_command,dbms_sql.native); --向服务器发出一个语句并检查这个语句的语法和语义错误
  19 DBMS_SQL.DEFINE_COLUMN(t_cid,1,t_total_records); --定义将从FetchRows()函数接收数据的变量的数据类型与大小
  20 stat := DBMS_SQL.EXECUTE(t_cid); --执行此语句,因为执行的是查询,所以必须跟着Fetch_Rows函数并为单个行检索数据
  21 row_count := DBMS_SQL.FETCH_ROWS(t_cid); --取回一行数据放入局部缓冲区
  22 DBMS_SQL.COLUMN_VALUE(t_cid,1,t_total_records); --返回调用FetchRows()取回的一列的值,这一列的值存储在t_total_records中
  23 if t_total_records > t_limit then
  24 DBMS_OUTPUT.PUT_LINE(rpad(t_c1_tname,55,' ')
  25 to_char(t_total_records,'99999999')' record(s)');
  26
  27 end if;
  28 DBMS_SQL.CLOSE_CURSOR(t_cid);
  29 end loop;
  30 close c1;
  31 END;
  32 /
  DEPT 4 record(s)
  EMP 14 record(s)
  SALGRADE 5 record(s)
  
  PL/SQL 过程已成功完成。
上一篇:用Oracle9i保护你的电子商务 人气:527
下一篇:数据库在网格计算中的角色 人气:511
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐