`
xierui
  • 浏览: 7186 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

查看当前用户所有表信息存储过程(输出)

阅读更多
下午没事写了个简单的存储过程,功能:查看当前用户所有表信息存储过程(输出在控制台)
刚开始考虑使用 execute immediate str_sql; 后考虑到与需求不符,放弃
用到了 动态游标,record, 代码很粗拙,请大家多指点!

create or replace procedure print_tablesinfo3
as
  str_sql varchar2(500);
  -- 创建一个数据行类型
  type rowdata is record (col_name   VARCHAR2(30),
                            col_type   VARCHAR2(106),
                            isnull   VARCHAR2(1),
                            col_desc VARCHAR2(4000)
                            );
   myrow rowdata;
   tab_name varchar2(50);--表名
   TYPE TCUR IS REF CURSOR; -- 动态游标声明
   CUR TCUR;--列信息游标
   TAB_CUR TCUR;--表信息游标
   v_user varchar2(50);-- 用户名
begin
 select user into v_user from dual;--查询当前用户名
 dbms_output.put_line('当前用户名: '||v_user);
-- 查询用户的所有表
  str_sql :=  'select object_name from user_objects  where object_type=' || q'!'TABLE'!';
  --dbms_output.put_line(str_sql);
  open TAB_CUR FOR str_sql;
  loop
  fetch TAB_CUR into tab_name;
        exit when TAB_CUR%notfound;
        dbms_output.put_line('');
         dbms_output.put_line('表名:'||tab_name);
         str_sql :=  'select  t.COLUMN_NAME,t.DATA_TYPE,t.NULLABLE, col.COMMENTS  from user_tab_columns t,user_col_comments col
          where col.table_name = t.table_name and  
t.COLUMN_NAME = col.COLUMN_NAME and t.TABLE_NAME = '||q'! '!' || tab_name || q'!' !' ;
          --dbms_output.put_line(str_sql); -- 调试时用
          dbms_output.put_line('列名   '||'   类型   '||'   是否为空   '||'   描述   ');
          dbms_output.put_line('=================================');
          open CUR FOR str_sql;
          loop
          fetch cur into myrow;
            exit when cur%notfound;
            dbms_output.put_line(myrow.col_name || '  ' || myrow.col_type || '  ' || myrow.isnull || '   '||myrow.col_desc );
          end loop;
          close cur;
          --dbms_output.put_line('=================================');
        end loop;
   close TAB_CUR;
end;
分享到:
评论

相关推荐

    网络信息分类法

    网络信息分类检索是指将网络信息按照某一分类体系组织并存储起来形成信息集合,用户按照分类体系从信息集合中找出所需信息的过程。根据网络信息分类检索的概念可以分析出网络信息分类检索包括两个部分,即:信息组织...

    java课程设计学生信息管理系统.docx

    java课程设计学生信息管理系统 第 5 页 共43页 目录 1 需求分析 2 1.1 设计任务要求 2 1.2 系统功能需求分析 2 2 概要设计 2 2.1 图形用户界面的设计 2 2.2 用数据库建立学生信息表 3 2.3 数据库的连接 3 2.4 模块...

    网络信息分类法的研究进展

    网络信息分类检索是指将网络信息按照某一分类体系组织并存储起来形成信息集合,用户按照分类体系从信息集合中找出所需信息的过程。根据网络信息分类检索的概念可以分析出网络信息分类检索包括两个部分,即:信息组织...

    Toad 使用快速入门

     把鼠标定位到表/视图/存储过程名称之上,按F4,可以打开对象描述窗口,方便的查看表和视图的定义,存储过程的源代码,  非常容易对SQL语句的分析其执行计划:单击工具栏上的 按钮就可以看到Explain Plan的...

    美食数据库的设计.docx

    管理员信息表(admin) 会员信息表(member) 会员级别表(memberlevel) 餐饮类型表(foodType) 餐饮信息表(foodInfo) 订单信息表(orders) 美食数据库的设计全文共6页,当前为第1页。 购餐车信息表(cart) ...

    人事信息管理系统

    所有的处理过程均对用户透明,同时用户也可以自己设计处理过程。 五、信息表的作用 1、 维护和存储基础信息,作为应用的原始数据。 2、 用于查询、筛选和统计。 3、 作为运算处理的中间和最终数据,用于...

    数据库管理系统需求分析.docx

    当用户登录系统查询图书时,系统会根据图书信息表查询出图书信息并反馈给用户。用户可以检索到图书馆的馆藏书目、读者基本信息、读者借书、超期读者、罚款记录、最新图书、借阅频率最高的图书信息、图书具体的藏书...

    数据库课程设计--教室信息管理系统.doc

    (2)参照完整性:上课安排表中的教室编码在教室信息管理表中的教室编号中找到 与之对应的,上课安排表中的教室空闲时间在教室安排信息表中的教室空闲时间中找到 与之对应的,上课安排表中的课程编码在课程信息表中...

    SQL sever 实训

    查询course表的所有信息(所有行所有列) USE Xk GO SELECT * FROM Course --有哪些种类的选修课?学分是多少 USE XK GO SELECT Kind,Credit FROM Crouse GO 修改列名字 SELECT '课程种类'=Kind,'学分'=Credit ...

    SQLDBX3.6汉化破解版

    用户数据源只对当前用户可见,而且只能用于当前机器上。ODBC系统数据源存储了如何与指定数据提供程序连接的信息。系统数据源对当前机器上的所有用户可见,包括NT服务。 ODBC文件数据源允许用户连接到数据提供程序。...

    数据库原理实验报告整合

    2、 查询全体学生的所有基本信息(仅针对S表)。 Select * From S 3、 对SC表查询全体学生的选课记录,并对score列增加5分。 Select sno,cno,score=score+5 From SC 4、 查询全体学生的学号和姓名,将原来的英文...

    进销存系统-进货、销售、进货单、收货单、供应商、顾客等

    2.在填写货物单时,可以选择"查看商品"来浏览当前仓库内所有商品的编号,名字,数量等详细信息。如果填写的商品有错误,可以通过"删除"按扭来执行删除操作,填写货物单完成后,选择"下一步". 3.选择"下一步"后,会...

    虚拟存储管理器实验报告

    要求程序运行时屏幕能显示出置换过程中的状态信息并输出访问结束时的页面命中率。程序应允许通过为该进程分配不同的实页数,来比较两种置换算法的稳定性。 四、实验说明 1.设计中虚页和实页的表示 本设计...

    管理信息系统课程设计报告书.docx

    10 2.6 数字字典 13 第3章 系统设计 16 3.1 功能结构设计 16 3.2 数据库设计 19 3.3 输入和输出设计 20 第4章 设计小结 21 4.1 总结课程设计过程以及个人体会 21 管理信息系统课程设计报告书全文共21页,当前为第4页...

    数据结构通讯录系统需求分析报告.doc

    结束 登陆模块 管理员 普通用户 修改 查询 删除 增加 个人信息修改 查询 开始 数据输出模块 退出 数据结构通讯录系统需求分析报告全文共6页,当前为第4页。 数据结构通讯录系统需求分析报告全文共6页,当前为第5页...

    用c描述的数据结构演示软件

    图示窗口显示广义表存储结构的建立过程和算法执行过程中参数Sub的当前值。 16. 遍历二叉树 图示窗口显示二叉树的逻辑结构和遍历结果输出的结点序列,图中指针 bt 指向当前遍历的二叉树的根结点。 17. 线索二叉树 ...

    管理信息系统课程学习总结.docx

    我想先描述一下管理信息系统的基本职能:数据的收集和录入,负责数据的存贮,负责系统内信息的传输,数据的加工,模型的建立、求解、应用和修改,输出信息,向各管理层提供信息,支持决策,管理信息系统自身的管理...

    数据结构演示软件

    图示窗口显示广义表存储结构的建立过程和算法执行过程中参数Sub的当前值。 16. 遍历二叉树 图示窗口显示二叉树的逻辑结构和遍历结果输出的结点序列,图中指针 bt 指向当前遍历的二叉树的根结点。 17. 线索...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例070 网页版九九乘法表 104 实例071 读取数组购物车中的数据 105 实例072 图像验证码的生成 106 2.6 跳转语句 107 实例073 控制页面中表情图的输出 107 实例074 控制页面中数据的输出数量 108 实例075 动态改变...

Global site tag (gtag.js) - Google Analytics