暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 将数据假脱机到。通过SQL Plus的csv文件

ASKTOM 2021-01-20
492

问题描述

从我的职位上可以明显看出,我的角色远非dba。然而,我是Oracle SQL Developer的常客。我从事质量评估工作,并定期使用SQL Developer进行选择,更新,插入,删除等。我想为我最常运行的一些select语句带来一些自动化,并将结果假脱机到a。csv文件。这方面的一个示例是一个select语句,用于识别需要审查的最近出售的属性。

以下命令 [使用Windows命令提示符] 已存储为计划任务 [使用Windows任务计划程序]:

G :\> sqlplus用户名/密码 @ 连接 @ G:\ 销售 _ 验证 \ bat_files \ 每周销售 _ rev.sql

Weekly_salesval_rev.sql是包含假脱机命令和select语句的脚本。我包含了一个链接,因此您可以查看脚本。
我可以合并什么命令 [或命令],以便数据将被适当格式化 [并包括列标题] 以便在Excel中查看?虽然应该有大约21列数据,但结果当前以分散的方式显示在的前3列中。csv文件。

如果您需要其他详细信息,请告诉我。另外,如果您建议或推荐其他方法来自动执行频繁运行的SQL select语句,请告诉我,我很乐意研究这些替代方法。感谢您的时间和帮助!

伯克利·罗斯


产品版本:

SQL Plus版本12.2.0.1.0

Oracle数据库19c标准版2版本19.0.0.0.0

Oracle SQL开发人员4.0.3.16

视窗版本10.0.17763.1577

专家解答

从12.2开始,SQL * Plus有一个

set markup csv on


指挥。顾名思义,这将以CSV格式返回输出:

SQL> set markup csv on
SQL> select * from co.customers fetch first 10 rows only;

"CUSTOMER_ID","EMAIL_ADDRESS","FULL_NAME"
275,"elden.bufton@internalmail","Elden Bufton"
276,"chassidy.hinderaker@internalmail","Chassidy Hinderaker"
277,"broderick.faur@internalmail","Broderick Faur"
278,"jewel.ginnery@internalmail","Jewel Ginnery"
279,"james.williams@internalmail","James Williams"
280,"james.wilson@internalmail","James Wilson"
281,"mary.wilson@internalmail","Mary Wilson"
282,"patricia.wilson@internalmail","Patricia Wilson"
283,"james.smith@internalmail","James Smith"
284,"zavert.zimmer@internalmail","Zavert Zimmer"


这应该可以解决您的Excel格式问题。

https://blogs.oracle.com/opal/fast-generation-of-csv-and-json-from-oracle-database

SQLcl有一个类似的选项

设置sqlformat csv

指挥。这包括一大堆其他格式,供您出口乐趣

https://www.thatjeffsmith.com/archive/2015/02/a-quick-4-1-trick-set-sqlformat/
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论