oracle使用PLSQL导出表数据

数据库课上布置了一个作业

利用PL/SQL语言,编写一个存储过程实现针对单张表的数据导出功能,要求将给定表的数据转换成SQL语言的Insert语句,并保存在文件中。该过程以要导出的表名和保存SQL语句的文件名为参数。

在网上尝试搜索了一下,中文网里没找到合适的参考文章,要么是针对特定表结构,要么是只导出特定数量的列,于是自己完成后写篇记录。

首先需要定义一个导出目录,这里定义了“EXPORT_DIR”

CREATE DIRECTORY EXPORT_DIR AS 'D:/';

然后创建存储过程,其中,BEGIN后的第一行有用到刚刚定义的导出目录,如果定义的导出目录与我不同,那么请修改这一行的导出目录。

 CREATE OR REPLACE PROCEDURE EXPORT_CONT(
p_table_name     VARCHAR2, -- table name
p_file_name     VARCHAR2 -- filename
)
AS
    l_cursor_handle  INTEGER;
    l_dummy              NUMBER;
    l_col_cnt          INTEGER;
    l_rec_tab            DBMS_SQL.DESC_TAB;
    l_current_col      NUMBER(16);
    l_current_line   VARCHAR2(2047);
    l_column_value   VARCHAR2(300);
    l_file_handle      UTL_FILE.FILE_TYPE;
    l_print_text       VARCHAR2(100);
    l_record_count   NUMBER(16) := 0;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值