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脚本说明,查询指定用户下...
通过上述分析,我们可以了解到利用Oracle PL/SQL编写存储过程或函数来实现表数据导出为CSV文件的具体步骤。这种方式不仅能够提高工作效率,还能确保数据的安全性和准确性。此外,通过创建通用的函数还可以进一步提升...
通过这个教程,用户不仅学会了如何使用TOAD将CSV数据导入Oracle,还了解到数据导入过程中的注意事项和问题解决策略。这将极大地提升数据库管理和数据处理的效率,对于数据库管理员和开发者来说是非常实用的技能。...
本文档中提供的五个Oracle存储过程练习题,正好能帮助开发者加深对Oracle存储过程应用的理解和实践。 首先,创建用户和分配权限是Oracle数据库管理中的基础工作。通过创建特定的用户并为其分配适当的权限,可以确保...
本问题涉及的是将CSV格式的Excel数据导入Oracle数据库的过程,这是一个涉及到数据转换、数据清洗和数据库操作的重要环节。下面将详细解释这个过程中的关键知识点。 首先,CSV(Comma Separated Values)是一种通用...
CSV(Comma Separated Values)是一种通用的文本文件格式,用于存储表格数据。Oracle提供了多种工具来导入CSV文件,最常用的是SQL*Loader和SQL Developer。 1. SQL*Loader:这是Oracle提供的一个命令行工具,可以...
### ORACLE 表数据导出至TXT或CSV格式的存储过程详解 #### 一、背景与目的 在数据库管理工作中,经常会遇到需要将Oracle表中的数据导出为其他格式(如TXT、CSV)的需求,特别是在进行数据分析或者与其他系统进行...
CSV(逗号分隔值)是一种常见的数据交换格式,通常用于存储表格数据,而Oracle数据库是企业级的关系型数据库管理系统。我们将探讨如何通过Java编程实现这一过程。 在描述中提到的"从文件(.csv或.txt)导入Oracle...
在Python编程中,有时我们需要将Oracle数据库中的数据导出到CSV文件中,以便于数据分析、存储或传输。这里我们将详细探讨如何使用cx_Oracle模块和csv模块来实现这个功能。 首先,cx_Oracle是Python中用于连接Oracle...
PLSQL 导入 CSV 文件是指使用 PLSQL 语言将 CSV 文件的数据导入到 Oracle 数据库中。 在 PLSQL 中导入 CSV 文件之前,需要首先将 Excel 文件保存为 CSV 格式。这是因为 CSV 文件是文本文件,可以轻松地被 PLSQL ...
Oracle文本导入工具是一种实用程序,专门设计用于将TXT和CSV格式的数据文件批量导入到Oracle数据库中。这个工具是由开发者自己编写的,旨在简化数据导入过程,提高效率,并可能解决传统方法(如SQL*Loader或SQL命令...
1. **Oracle数据库简介**:Oracle是一款关系型数据库管理系统,由甲骨文公司提供,广泛应用于大型企业的数据存储和管理。它提供了强大的数据处理能力和安全性。 2. **VC6.0环境设置**:首先,确保你的开发环境VC6.0...
PLSQL(Procedural Language/SQL)是Oracle数据库系统中用于编写存储过程、函数、包等的编程语言,它提供了丰富的功能来处理和操作数据库中的数据。当需要将PLSQL查询结果导出为CSV(Comma Separated Values)格式时...
然后,我们使用 Statement 对象来执行查询,并将结果存储在 ResultSet 对象中。 获取元数据信息 在执行查询后,我们需要获取元数据信息,包括列数、列名等信息。这可以通过 ResultSetMetaData 对象来实现。我们...
oracle存储过程生成csv文件,易学易懂,通过此方法能够学习到oracle文件流具体操作,对于能力提升有极大帮助。
这个工具利用Oracle的存储过程功能,每天凌晨0点自动创建库存的快照,确保了库存数据的实时性和历史可追溯性。 首先,我们要理解什么是存储过程。存储过程是预编译的SQL语句集合,存储在数据库服务器中,可以被多次...
- 避免在批处理文件或脚本中明文存储数据库凭据,而是使用操作系统认证或连接字符串。 - 定期检查和更新批处理任务,以确保其依然符合业务需求。 通过这些方法,即使没有编程经验,你也能轻松地将Oracle数据库中...
* 支持多种数据格式,包括 CSV、Excel、XML 等。 * 提供了强大的 SQL 编辑器,支持语法高亮、自动补全和调试等功能。 Oracle 数据库的特点 Oracle 数据库是当前最流行的关系数据库管理系统之一,它具有以下特点...
CSV(Comma Separated Values)是一种通用的、轻量级的数据交换格式,它以纯文本形式存储表格数据,广泛应用于数据导入导出操作。 首先,要完成这个任务,你需要确保已经安装了Oracle数据库客户端工具,例如SQL*...