如何通过SQL将程序结果导出为CSV?

2020-08-21 18:57发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的HANA专家

我在将SQLScript过程结果作为CSV格式导出到Unix时遇到一些问题。

我定义了一些执行多个表联接的过程。 程序如下所示:

创建过程_SYS_BIC.TABLE_JOIN(表TT_TABLE)

...

TABLE1_RESULT =

选择DISTINCT TABLE1.FIELDA,
TABLE1.FIELDB,
TABLE1.FIELDC,
TABLE2.FIELDD,
TABLE3.FIELDE

从MY.TABLE3到TABLE3内部联接 MY.TABLE4如TABLE3.FIELDE上的TABLE3K = TABLE4.FIELDE
内部联接MY.TABLE1如TABLE3上的TABLE1.FIELDA = TABLE1.FIELDA
MY.TABLE2如TABLE2上的TABLE2上TABLE2.FIELDD = TABLE1.FIELDD;

...

在HANA Studio中调用它们时,一切正常。 但是现在我想使用如下SQL命令将联接的结果导出到Unix文件系统:

导出" _SYS_BIC"。" my.procedures/TABLE_JOIN" AS CSV INTO '/tmp' WITH REPLACE 底线10;

但是结果是我从参与JOIN操作的每个表中获取了一个CSV文件,其中包含原始数据。 在这种情况下,我找到了4个CSV文件,每个查询所涉及的表一个,但是我没有得到我的过程生成的一个表(使用JOINS,WHERE子句等)。

是否可以将过程结果写入Unix上的文件? 使用SQL命令还是HDBSQL?

谢谢

丹尼尔

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的HANA专家

我在将SQLScript过程结果作为CSV格式导出到Unix时遇到一些问题。

我定义了一些执行多个表联接的过程。 程序如下所示:

创建过程_SYS_BIC.TABLE_JOIN(表TT_TABLE)

...

TABLE1_RESULT =

选择DISTINCT TABLE1.FIELDA,
TABLE1.FIELDB,
TABLE1.FIELDC,
TABLE2.FIELDD,
TABLE3.FIELDE

从MY.TABLE3到TABLE3内部联接 MY.TABLE4如TABLE3.FIELDE上的TABLE3K = TABLE4.FIELDE
内部联接MY.TABLE1如TABLE3上的TABLE1.FIELDA = TABLE1.FIELDA
MY.TABLE2如TABLE2上的TABLE2上TABLE2.FIELDD = TABLE1.FIELDD;

...

在HANA Studio中调用它们时,一切正常。 但是现在我想使用如下SQL命令将联接的结果导出到Unix文件系统:

导出" _SYS_BIC"。" my.procedures/TABLE_JOIN" AS CSV INTO '/tmp' WITH REPLACE 底线10;

但是结果是我从参与JOIN操作的每个表中获取了一个CSV文件,其中包含原始数据。 在这种情况下,我找到了4个CSV文件,每个查询所涉及的表一个,但是我没有得到我的过程生成的一个表(使用JOINS,WHERE子句等)。

是否可以将过程结果写入Unix上的文件? 使用SQL命令还是HDBSQL?

谢谢

丹尼尔

付费偷看设置
发送
2条回答
木偶小白
1楼 · 2020-08-21 19:29.采纳回答

可以使用EXPORT功能传输数据和结构信息-而不是处理结果。

根据您的需求和需要导出的结果行数,可以使用"保存到文件"功能 SAP HANA Studio结果视图。 由于SAP HANA Studio限制了返回的记录总数,因此在所有情况下可能都不是可行的解决方案。

或者,您可以简单地在HDBSQL中执行查询并将输出保存到文件中。 将需要进行一些编辑,但可能会起作用。

当然,您可以使用任何其他JDBC客户端来执行查询并保存结果。 就我个人而言,我喜欢 http://squirrel-sql.sourceforge.net/对于JDBC的所有事情,但是您对它的收藏狂 。 搜索引擎。

最后一种方法是先将结果存储在表中,然后导出该表。

关于" threads 10"命令参数:您确实知道这

-Lars

三十六小时_GS
2楼-- · 2020-08-21 19:15

因为您的回复是在2015年,所以导出最多可以并行处理10个对象,而不是单个大表的10倍加速。 今天2020年,您的回答会是一样的吗?

此致

威廉

一周热门 更多>