CREATE
OR
REPLACE
PROCEDURE
SQL_TO_CSV
(
P_QUERY
IN
VARCHAR2
,
--
PLSQL文
P_DIR
IN
VARCHAR2
,
--
导出的文件放置目录
P_FILENAME
IN
VARCHAR2
--
CSV名
)
IS
L_OUTPUT UTL_FILE.FILE_TYPE;
L_THECURSOR
INTEGER
DEFAULT
DBMS_SQL.OPEN_CURSOR;
L_COLUMNVALUE
VARCHAR2
(
4000
);
L_STATUS
INTEGER
;
L_COLCNT
NUMBER
:
=
0
;
L_SEPARATOR
VARCHAR2
(
1
);
L_DESCTBL DBMS_SQL.DESC_TAB;
P_MAX_LINESIZE
NUMBER
:
=
32000
;
BEGIN
--
OPEN FILE
L_OUTPUT :
=
UTL_FILE.FOPEN(P_DIR, P_FILENAME,
'
W
'
, P_MAX_LINESIZE);
--
DEFINE DATE FORMAT
EXECUTE
IMMEDIATE
'
ALTER SESSION SET NLS_DATE_FORMAT=
''
YYYY-MM-DD HH24:MI:SS
'''
;
--
OPEN CURSOR
DBMS_SQL.PARSE( L_THECURSOR, P_QUERY, DBMS_SQL.NATIVE );
DBMS_SQL.DESCRIBE_COLUMNS( L_THECURSOR, L_COLCNT, L_DESCTBL );
--
DUMP TABLE COLUMN NAME
FOR
I
IN
1
.. L_COLCNT LOOP
UTL_FILE.PUT( L_OUTPUT, L_SEPARATOR
||
'
”
'
||
L_DESCTBL(I).
COL_NAME
||
'
”
'
);
DBMS_SQL.DEFINE_COLUMN( L_THECURSOR, I, L_COLUMNVALUE,
4000
);
L_SEPARATOR :
=
'
,
'
;
END
LOOP;
UTL_FILE.NEW_LINE( L_OUTPUT );
--
EXECUTE THE QUERY STATEMENT
L_STATUS :
=
DBMS_SQL.
EXECUTE
(L_THECURSOR);
--
DUMP TABLE COLUMN VALUE
WHILE
( DBMS_SQL.FETCH_ROWS(L_THECURSOR)
>
0
) LOOP
L_SEPARATOR :
=
''
;
FOR
I
IN
1
.. L_COLCNT LOOP
DBMS_SQL.COLUMN_VALUE( L_THECURSOR, I, L_COLUMNVALUE );
UTL_FILE.PUT( L_OUTPUT, L_SEPARATOR
||
'
”
'
||
TRIM(BOTH
'
'
FROM
REPLACE
(L_COLUMNVALUE,
'
”
'
,
'
””
'
))
||
'
”
'
);
L_SEPARATOR :
=
'
,
'
;
END
LOOP;
UTL_FILE.NEW_LINE( L_OUTPUT );
END
LOOP;
--
CLOSE CURSOR
DBMS_SQL.CLOSE_CURSOR(L_THECURSOR);
--
CLOSE FILE
UTL_FILE.FCLOSE( L_OUTPUT );
EXCEPTION
WHEN
OTHERS
THEN
RAISE;
END
;
/
--
创建存放文件的目录
CREATE
OR
REPLACE
DIRECTORY MYDIR
AS
'
C:\
'
;
--
执行块
begin
sql_to_csv(
'
select * from au_jxs
'
,
'
MYDIR
'
,
'
EXAMPLE.CSV
'
);
end
;
/
分享到:
相关推荐
定时导出oracle指定用户下指定表的所有数据及格式生成CSV文件,通过存储过程; 1.使用特定用户或者system登陆到oracle执行"存储过程.txt"里面的脚本生成对应的存储过程; (说明:存储过程.txt脚本说明,查询指定用户下...
主要介绍了Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法,涉及Python中cx_Oracle模块与csv模块操作Oracle数据库及csv文件的相关技巧,需要的朋友可以参考下
oracle存储过程生成csv文件,易学易懂,通过此方法能够学习到oracle文件流具体操作,对于能力提升有极大帮助。
“从数据库到CSV”允许以CSV文件的形式备份数据库(Oracle,MySQL,SQL Server)中的数据。 每个表数据都存储在单独的CSV文件中。 它还允许将数据从CSV文件加载到数据库中。 程序可以从UI或命令行运行。 还有一项更...
使用DbWebApi,您可以从任何http客户端以开箱即用的方式(例如http://BaseUrl/fully_qualified_name_of_stored_procedure/mediatype )以托管方式访问SQL Server或Oracle软件包存储过程,并以JSON,BSON,XML,CSV,...
在Oracle和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。而MySQL数据库提供了多种存储引擎,用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据自己的需要编写自己的...
对数据仓库DW层进行建模,使用简单SQL SELECT命令编写ETL / ELT逻辑,生成表脚本,存储过程和文档。 VAU是支持Oracle数据库的数据仓库源代码生成器。 它有助于根据Data Vault方法在数据仓库中生成DW层。 VAU是根据...
LOB2Table 是一组 Oracle PL/SQL 流水线函数,允许您像普通表一样查询 CLOB、BLOB、BFILE 或 VARCHAR2 中的 CSV 或固定列数据存储。 有关详细说明,请参阅 Wiki。
YADAMU-另一个数据迁移实用程序该项目的范围从仅仅替换Oracle传统的IMP和EXP实用程序的范围就变了。 现在,它支持在Oracle 11g,12c,18c和19c,Postgres,MySQL,MariaDB,SQL Server上进行的本地IMPORT和EXPORT...
plsql导出数据到excel常用的三种方法,(1)直接导出;(2)转换导出方式;(3)导出后转换格式;
功能:SQL server 2008、ORACLE与ACCESS 2007数据库的导入、导出、存储过程计算,支持EXCEL2007、EXCEL2003、ACCESS2007、 CSV文件导入数据库,支持CSV文件转EXCEL文件。 更新 V1.0,2012年2月3日 支持sql server...
DataPie可以实现SQL server 2008、ORACLE与ACCESS 2007数据库的导入、导出、存储过程计算。支持EXCEL2007、EXCEL2003、ACCESS2007、CSV文件导入数据库,支持CSV文件转EXCEL文件,支持大数据量表通过多个EXCEL工作簿...
SQLDebug是八九软件开发的一个免费的智能查询分析器,它支持Access、MSSQL、MYSQL和ORACLE数据库,它的特性有: SQL语法快速自动完成 能根据数据库类型自动补全数据库保留字、表名、字段名、函数等。 强大的脚本...
SQLDebug是八九软件开发的一个免费的智能查询分析器,它支持Access、MSSQL、MYSQL和ORACLE数据库,它的特性有: SQL语法快速自动完成 能根据数据库类型自动补全数据库保留字、表名、字段名、函数等。 强大的脚本编辑...
关于爬虫数据存储问题,通常可以有三种选择: 文本文件(txt,json)或excel文件(csv,xlsx) 优势:使用方便,不需要第三方支持 劣势:健壮性差,扩展性差 数据库(mysql,mongoDB,redis,oracle…) 优势:良好...
3.1、主脚本指数据库表或存储过程,视图脚本,序列等脚本。 3.2、副脚本指必须执行主脚本之后才执行的脚本。换句话说在没执行主键脚本的情况下,副脚本执行之后会回滚事务失败。 3.3、增量脚本指在执行主脚本...
使用C#实现对Sql数据库的操作,执行存储过程,Sql语句,返回影响行数,返回DateTable,DataSet,DataReader,以及表集等方法。实现多个数据库的切换功能。功能强大,希望大家喜欢 2.一个操作Sql2005数据库的类(备份...
程序对所有用户对象进行存在性比较,然后对常用的表、视图、存储过程和函数进行详细比较 状态:有效 - 我可能想让它不那么冗长 更多在 wiki 页面 [ ] 数据库迁移 版本:0.9 描述:一种工具,用于自动设置和自动化...
通用CSV阅读器 java-deep-learning kafka-demo 邮件演示 微服务 多数据库 石英演示https://www.opencodez.com/java/quartz-scheduler-with-spring-boot.htm restful-demo ...
支持将 DB 导出为 CSV、HTML、XLS 或 XML 以及从 CSV、XLS 或 XML 导入。 简单直观的 GUI - 图形用户界面。 在 Windows/Linux 中测试。 需要 Jre-1.8 - ...