永发信息网

求一个ORACLE将表数据导出为TXT的存储过程

答案:2  悬赏:50  手机版
解决时间 2021-02-12 07:41
最好支持多表 如:
产品名称 工序 计划数 完成数 人员 设备
中滑门 落料 3000 2500 张三 DJQRE-01 (表1数据)
中滑门上 落料 3000 2500 李四 DJQRE-01 (表2数据)
PS:实在不行就单表数据导出就行,SQL可以固定写死,但是要加上上面字段标题
最佳答案
#首先声明存储生成txt文件的目录,注意oracle要有写权限,其权限不能由自己赋给自己,必须由sysdba赋给
create directory DIR_DUMP as '/home/oracle/';
conn / as sysdba
grant read,write on directory dir_dump to psbc; (或者是public;)

#创建存储过程
CREATE OR REPLACe PROCEDURE tabtotxt IS
testjiao_handle UTL_FILE.file_type;
BEGIN
testjiao_handle := UTL_FILE.FOPEN('DIR_DUMP','testjiao.txt','w');
FOR x IN (SELECT * FROM tab) LOOP
UTL_FILE.PUT_LINE(testjiao_handle,x.工序 || ',' || x.计划数 ||','|| x.完成数 ||','|| x.人员 ||','|| x.设备 ||',');
END LOOP;
UTL_FILE.FCLOSE(testjiao_handle);
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SUBSTr(SQLERRM,1,2000));
END;

#执行存储过程
exec tabtotxt
全部回答
如果数据量比较大的话,还是用d.c.b.a的ociuldr吧,也省得sqlplus spool还要麻烦地格式化输出
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
三友挤塑板有哪些规格,有什么区别
信诚宏珠宝我想知道这个在什么地方
求个红色警戒3 1。12版安装包下载地址。谢咯
gtx650玩收获日2开什么画质? 电脑配置:i5 46
do do ro的歌词 汉意及罗马发音请各位大虾帮
新沂黑埠邮政支局我想知道这个在什么地方
中牟我想买一辆三轮车,时风20~22匹 825轮胎
国家规定私营企业为员工缴纳五险了吗?如果规
俄罗斯用日语怎么说
男人本色,理之常情。这话有错的地方吗?
放假回家的心情作文600
丽联超市平望小圩店我想知道这个在什么地方
现在市场上哪些一种手机的无线信号(WIFI)最
想更新iOS 11.1beta 5 版本 需要先从11.0.2更
义安区地税局征收管理分局地址在哪,我要去那
推荐资讯
宣仁墩北街北十五巷/跃华三巷(路口)地址在什
如何安装万能鈅匙
源玺源烧麦馆竹园店地址在什么地方,想过去办
人体吸收营养物质的主要器官是A. 小肠B. 大肠
上海月生投资管理有限公司地址在什么地方,想
久久鸭怎么去啊,有知道地址的么
氧化还原反应包括氧化和还原反应吗?还是这三
83×17+17×17的简便算法
三中西巷/兴业大街(路口)我想知道这个在什么
东方汽修(大连金州区金州新区辽宁街)地址在哪
支付宝信用额度超过608怎么开通花呗
Sean has formed the habit of joggingthe tr
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?