`
gip666
  • 浏览: 39315 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle 存储过程导出索引

 
阅读更多
1、首先要建立一个directory
create or replace directory DIR_DUMP as 'd:/index';

2、执行过程,在路径'd:/index' 下有index.txt文件为导出所有索引的创建语句。

create or replace procedure index_frame
is
  type index_name_type is table of user_indexes.index_name%type;
  v_index_name index_name_type;
  type index_type_type is table of user_indexes.index_type%type;
  v_index_type index_type_type;
  type table_name_type is table of user_indexes.table_name%type;
  v_table_name table_name_type;
  type ind_post_cur is ref cursor;
  ind_post ind_post_cur;
  v_column_name user_ind_columns.COLUMN_NAME%type;
  v_column_position user_ind_columns.column_position%type;
  frame_name UTL_FILE.file_type;
  v_str clob;
  s_index_type  user_indexes.index_type%type;
  status number;
begin
  frame_name := UTL_FILE.fopen('DIR_DUMP','index.txt','w');
  select index_name,index_type,table_name  bulk collect into v_index_name,v_index_type,v_table_name
    from user_indexes where index_name not like '%BIN$%';
  for i in 1..v_index_name.count loop
  status :=1;
  if v_index_type(i) = 'NORMAL' then
    s_index_type := '';
  else s_index_type := v_index_type(i);
  end if;
  open  ind_post for  select column_name,column_position   from user_ind_columns
                       where index_name=upper(v_index_name(i))
                      order by column_position asc;
  v_str := 'create '||s_index_type||' index '||v_index_name(i)||' on '||v_table_name(i)||' (';
    loop
       fetch ind_post into v_column_name,v_column_position;    
       if ind_post%notfound then
         v_str := v_str||') ;';
         exit;
       elsif status =1 then
         v_str := v_str||v_column_name;
         status := 0 ;
       else
         v_str := v_str||','||v_column_name;
       end if;
    end loop; 
  UTL_FILE.put_line(frame_name,v_str);
  close ind_post;
  end loop;
  UTL_FILE.fclose_all;
end;
分享到:
评论

相关推荐

    118个真实应用场景的Oracle存储过程案例及开发指南(从入门到熟练使用)

    4、开发指南:《Oracle存储过程入门指南&100+种真实业务场景存储过程实例.pdf》,可以帮助初学者系统学习。 5、资源包括“通用存储过程整理” 和 “真实业务存储过程整理” 两部分,通用适合各种系统,可以无缝隙...

    oracle11g导出空表、少表的解决方案

    exp 是 Oracle 中的一个工具,用于导出数据库对象,包括表、视图、索引、存储过程等。exp 导出可以生成一个可执行的 SQL 语句,用于在另一个数据库中重新创建对象。 结论 Oracle 11g 导出空表、少表的解决方案可以...

    导出创建用户下各个对象数据结构的sql语句的脚本,包括表、视图、索引、约束等等

    适用的数据库:8i, 9i数据库下该脚本通用 <br/>功能:导出一个用户的数据结构,包括表、视图、索引、约束、存储过程、触发器、函数、序列等等的定义,并且每个定义为一个文件 导出的各个对象的定义格式比较...

    Oracle数据库管理员技术指南

    3.4.3 为卸载表的导出过程的选择语句 指定一个查询 3.4.4 导出/导入预计算优化程序统计 数据 3.4.5 可移动表空间 3.5 回顾 第4章 设计高可用性数据库 4.1 如何发现和保护“致命的弱点” 4.2 复用数据库控制...

    Oracle11g从入门到精通2

    《Oracle11g从入门到精通》面向数据库管理人员和数据库开发人员,从实际角度出发,系统地介绍了数据库和Oracle的相关概念和原理、Oracle的...完整案例来介绍基于Java开发包和Oracle数据库进行案例开发的详细过程...

    Oracle 10g应用指导

    第10章 数据库管理,包括导出数据库模式的DDL脚本,管理Oracle数据库实例的方法、数据恢复与Flashback以及更改数据库字符集等具体方法。第11章 数据库的安全管理。包括加密Oracle子程序,存储应用程序用户名和口令,...

    Oracle+10g应用指导与案例精讲

    第10章 数据库管理,包括导出数据库模式的DDL脚本,管理Oracle数据库实例的方法、数据恢复与Flashback以及更改数据库字符集等具体方法。第11章 数据库的安全管理。包括加密Oracle子程序,存储应用程序用户名和口令,...

    oracle database 10g 完整参考手册part1

    第39章 Java存储过程 第40章 Oracle真正应用群集 第41章 网格体系结构和管理 第Ⅷ部分 指南 第42章 Oracle数据字典指南 第43章 调整应用程序和SQL旅行者指南 第44章 调整中的案例分析 第45章 Oracle Application ...

    Oracle11g从入门到精通

    《Oracle11g从入门到精通》面向数据库管理人员和数据库开发人员,从实际角度出发,系统地介绍了数据库和Oracle的相关概念和原理、Oracle的...完整案例来介绍基于Java开发包和Oracle数据库进行案例开发的详细过程...

    Oracle 10g 学习笔记

    这个笔记是学习oracle数据库过程中整理出来的,比较详细,适合于初学者。 │ oracle与tomcat端口冲突.txt │ Oracle学习笔记.pdf │ Oracle学习笔记.wps │ 安装Oracle后myEclipse不能正常使用.txt │ 手工配置...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

     EXP_FULL_DATABASE, IMP_FULL_DATABASE这两个角色用于数据导入导出工具的使用。  自定义角色 Oracle建议我们自定义自己的角色,使我们更加灵活方便去管理用户  创建角色 SQL> create role admin;  授权给...

    Oracle从基础到熟练(太实用了)

    ①:存储过程 ②:函数 ③:自主事务处理 ④:包规范|包主体 十一.触发器|内置包 ①:触发器类型 ②:触发器原理 ③:new和old 两个行类型变量 ④:递归 ⑤:内置包 十二.导入导出 ①:导入导出/整个DB/表空间/表/...

    Oracle.11g.从入门到精通 (2/2)

    7.3.4 存储过程检查 7.3.5 使用触发器 7.4 避免更改引起的大量改动 7.4.1 使用视图 7.4.2 使用同义名 7.4.3 使用光标 第8章 数据库用户管理 8.1 授予权限 8.1.1 直接授权 8.1.2 授权角色 8.1.3 使用OEM的“安全管理...

    Oracle.11g.从入门到精通 (1/2)

    7.3.4 存储过程检查 7.3.5 使用触发器 7.4 避免更改引起的大量改动 7.4.1 使用视图 7.4.2 使用同义名 7.4.3 使用光标 第8章 数据库用户管理 8.1 授予权限 8.1.1 直接授权 8.1.2 授权角色 8.1.3 使用OEM的“安全管理...

    Oracle Database 11g初学者指南--详细书签版

    5.7 如何创建存储过程以及创建存储过程的原因 146 5.8 函数的创建和使用 149 5.9 调用PL/SQL程序 151 5.10 本章测验 152 第6章 数据库管理员 153 6.1 了解DBA的工作 154 6.2 执行日常操作 154 6.2.1 体系结构...

    SybaseToad:小巧的oracle数据库查询修改工具

    12,另外支持数据表,存储过程,数据管道(可以支持不同的数据库之间相同表结构的数据进行传输)等功能,表结构修改,增加索引主键等,修改保存存储过程。 最后,该软件是我自己编写的,很小,打开速度快,支持两种...

    ORACLE11G宝典.rar 是光盘里面的内容,书太厚咧没法影印啊

    第5~9章分别介绍了Oracle11g的体系结构、表空间与数据文件的管理、启动和关闭数据库、网络服务与管理,第10—13章介绍了有关安全的几个内容(权限、角色、概要文件、用户的管理),第14—17章介绍了几种方案对象...

Global site tag (gtag.js) - Google Analytics