`
houkai2009
  • 浏览: 229023 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
  • 浪迹随风: 文章是挺好的,不过太杂了。。。信息量也很大。。。很难消化。。。 ...
    EJB 介绍
  • javaersu: yds3300376yd 写道学习了,只是楼主写的有点杂,现在 ...
    EJB 介绍
  • yds3300376yd: 学习了,只是楼主写的有点杂,现在还看不太懂,刚学习EJB,我觉 ...
    EJB 介绍
  • javaersu: 不错,这里也有一篇类似的EJB文章教程http://www.y ...
    EJB 介绍
  • dingding5060: brother , 你贴代码想说明什么???
    enum

利用存储过程将表中数据导出到

    博客分类:
  • sql
阅读更多
--*********************************************************************
--***
--***首先以dba或者是其他具有create directory的用户创建directory,然后授权
--***
--*********************************************************************
CREATE OR REPLACE DIRECTORY dir_jiang AS 'd:\oracle';
GRANT READ,WRITE ON directory dir_jiang TO scott;

--*********************************************************************
--***
--***执行导出文本文件的存储过程:p_exp
--***p_tname:要导出的表明;p_query:where条件,根据这个条件导出,如果为null,则全表导出
--***
--***
--*********************************************************************
CREATE OR REPLACE procedure p_exp(p_tname varchar2,p_query varchar2)
AS
  v_line  varchar2(2000);                       --记录的数据
  v_sql    varchar2(2000);                      --动态sql变量
  v_fname  varchar2(40);                        --导出数据的文件名字
  cursor cursor_column                          --游标:通过数据字典查找出表有哪些字段
        IS SELECT column_name,data_type
        FROM user_tab_columns WHERE table_name=upper(p_tname);
  type type_cursor IS ref cursor ;
  mycursor type_cursor;
  outf utl_file.file_type;

BEGIN
  v_fname:=p_tname||'.txt';
  FOR col IN cursor_column loop
    IF col.data_type='DATE' THEN
          v_sql:=v_sql||'to_char('||col.column_name||',''yyyy-mm-dd-hh24:mi:ss'')'||'||chr(9)||';
    ELSE
          v_sql:=v_sql||col.column_name||'||chr(9)||';
    END IF;
  END loop;
  v_sql:=rtrim(v_sql,'||chr(9)||');
  v_sql:='select '||v_sql||' from '||p_tname||' '||p_query;
  dbms_output.put_line(v_sql);
  outf:=utl_file.fopen('DIR_JIANG',v_fname,'w');
  open mycursor FOR v_sql;
  loop
    fetch mycursor INTO v_line;   
    exit when mycursor%notfound;
    utl_file.put_line(outf,v_line);
  END loop;
  utl_file.fclose(outf);
  dbms_output.put_line('导出成功');
END;
分享到:
评论

相关推荐

    Oracle存储过程导入导出数据

    特别是在Oracle数据库环境中,利用存储过程来进行数据的导出不仅可以提升效率,还能更好地控制数据处理流程。本文将详细介绍如何通过编写Oracle存储过程来实现数据的导出功能,并分享一个具体的示例代码。 #### 二...

    SQL导出EXCEL(带表头)的存储过程

    通过上述存储过程,我们可以高效且自动化地将SQL数据库中的数据导出至Excel文件,不仅节省了手动操作的时间,也提升了数据处理的准确性和效率。然而,在具体实施过程中,还需要根据实际场景进行适当调整和优化,确保...

    sql2000 利用存储过程导出excel

    标题“sql2000 利用存储过程导出excel”指的是在SQL Server 2000中使用存储过程来生成Excel文件的过程。这个技术在数据处理和分析时非常有用,因为它允许用户直接从数据库中导出数据到Excel格式,方便进一步的数据...

    C#利用Response流将数据库数据导出成Excel

    C#利用Response流将数据库数据导出成Excel C#语言是一种功能强大且灵活的编程语言,广泛应用于各种软件开发领域。其中,数据导出功能是许多软件系统中必不可少的功能之一。在本文中,我们将探讨如何使用C#语言将...

    oracle数据库的表数据导出为csv文件

    首先,通过提供的部分代码片段可以看出,该过程主要通过定义一个存储过程(`TOTXT`)来实现将表数据导出至CSV文件的功能。下面是对这一过程的详细解析: 1. **初始化变量与游标**: - `i`:用于循环控制。 - `v_...

    如何将WinCC归档的历史数据导出到EXCEL CSV文件.zip

    总的来说,将WinCC历史数据导出到Excel CSV文件是一项实用的功能,它使得数据可以脱离WinCC环境,便于在其他工具中进行进一步处理和分析。通过熟练掌握这一技巧,用户可以更好地利用WinCC生成的大量过程数据,从而...

    java使用jdbc将数据库数据导出到csv文件.pdf

    在本文中,我们将讨论如何使用 Java 和 JDBC 将数据库数据导出到 CSV 文件。 获取数据库连接 在将数据库数据导出到 CSV 文件之前,首先需要获取数据库连接。这里使用了 reqBean.getDataSyncExecInfo().getConn() ...

    将数据库数据导出到word excel txt文件中源码。

    在日常工作中,我们经常需要将数据库中的数据导出到不同的格式,以便于分析、报告或者共享。本篇将详细讲解如何使用源码实现从数据库中导出数据到Word、Excel和TXT文件。 首先,让我们了解一下这三个文件格式的特点...

    kettle批量导出mysql存储过程

    为了批量导出存储过程,我们可以构建一个Kettle转换,利用"获取数据库元数据"和"生成文件"等步骤。 1. **获取数据库元数据**:在Kettle中,我们首先需要创建一个MySQL的数据库连接,填写相应的主机名、端口、用户名...

    SQL使用存储过程导入和导出Excel

    例如,下面的存储过程`p_exporttb`可以将表中的数据导出到真正的Excel文件中: ```sql create proc p_exporttb @tbname sysname, -- 要导出的表名 @path nvarchar(1000), -- 文件存放目录 @fname nvarchar(250)...

    wincc数据导出方法

    - 通过该向导,用户可以将WinCC历史数据导出到SQL Server数据库中,然后利用数据库管理工具将数据导出为CSV格式。这种方法适合于需要将数据存储在数据库中进行长期分析的场景。 在导出过程中,还应当注意几个关键...

    Elasticsearch数据导出工具

    Elasticsearch数据导出工具是一种高效实用的解决方案,它允许用户方便地从Elasticsearch(ES)集群中抽取数据,并将其导出到不同的目标,如MySQL数据库或本地文件系统。这款工具尤其适用于需要进行数据迁移、备份或...

    gbase8s 数据库数据的导入和导出.doc

    Unload 数据导出: Unload to ‘filename’ [delimiter ‘delimiter’] select statement 其中 filename 可以是全路径或者相对路径文件名;delimiter 可选,默认为“|”;select 项为 SQL 子句,可以是任何形式的 ...

    C# 将数据导出到Excel汇总

    在软件开发中,特别是在Web应用程序的构建过程中,将数据导出到Excel是一种常见的需求,尤其是在数据分析、报表生成等场景下。C#作为.NET框架的主要编程语言之一,提供了多种方式来实现这一功能。本文将基于给定的...

    PL/SQL存储过程实现导入文件的数据到数据库(针对导出存储过程)

    标题与描述概述的知识点是关于如何使用PL/SQL存储过程来实现从文件导入数据到数据库的功能,这在数据库管理中是一种常见的需求,尤其当需要批量处理数据或迁移数据时。以下是对这一知识点的深入解析: ### PL/SQL...

    利用Oracle管理服务器将数据导入导出

    在实际操作中,导出数据可以非常直观地通过在任意表上右键点击,选择“数据管理”->“导出”,然后在作业中查看并管理导出任务。这种方式使得数据迁移和备份变得更加简单和高效。 总之,Oracle Management Server ...

    easyui datagrid 数据导出到Excel

    在实际工作中,我们经常需要将这些展示的数据导出到Excel文件,以便进行进一步的分析或存储。下面将详细介绍两种有效的方法来实现EasyUI Datagrid数据导出到Excel的功能,并结合提供的文件名来推测具体实现步骤。 *...

    plsql导出数据到excel的三种方法

    2. **导出数据**:在查询结果集上,即在结果显示区域(注意不要选中任何具体的行或单元格),点击鼠标右键,选择【Copy to Excel】选项下的【Copy as xls/xlsx】,将数据导出为Excel文件。需要注意的是,根据PL/SQL ...

    C#百万数据导出Demo

    本文将深入探讨如何在C#环境中高效地处理百万级别的数据导出,并结合“C#百万数据导出Demo”进行详细解析。 首先,我们需要了解Excel文件的存储格式。通常,我们使用的Excel文件有两种主要格式:.xls(Excel 97-...

    导出存储过程工具

    总的来说,这个【导出存储过程工具】利用C#和ADO.NET的强大功能,为开发者提供了一个便捷的手段来管理数据库中的存储过程。通过自动导出,可以有效地节省时间,提高工作效率,并且降低了因人为错误导致的数据丢失...

Global site tag (gtag.js) - Google Analytics