gpt4 book ai didi

sql - 在 IBM netezza aginity sql 数据库工作台中导出大表时如何添加列名

转载 作者:搜寻专家 更新时间:2023-10-30 23:47:45 25 4
gpt4 key购买 nike

我需要将一个表 (60 GB) 从 IBM netteza aginity sql 数据库工作台导出到一个 csv 文件。

但是,即使我将“跳过行”设置为 0,列名也丢失了。

由于文件太大,无法用Excel或notepad/notepad++打开编辑。

如何添加列名?

如有任何帮助,我们将不胜感激。

谢谢

最佳答案

据我所知,Aginity Workbench 没有 self 记录导出数据的功能。此外,据我所知,导出功能中的“跳过行”功能已禁用,与添加列文档无关。对于导入,它肯定会让您跳过列标题行。

编辑:在 NPS 7.2 的 GA 中,“IncludeHeader”选项已添加到可用的外部表选项中,该选项将在输出文件中创建带注释的标题行。 Aginity 可能需要一段时间才能更新 Workbench 以直接支持此功能,但您始终可以复制它生成的代码并手动添加该选项。

您可以创建一个独立的头文件,并在 Windows 中使用命令提示符复制将两个文件附加在一起,而无需打开任何一个,如下所示:

copy header_file.txt+data_file.txt new_file.txt

我使用了两种不同的方法来创建标题行。

首先是使用“LIMIT 1”运行用于导出的查询,然后在输出窗口中选择所有输出,右键单击并选择“copy with headers”。然后您可以将输出粘贴到 Excel 中并添加到标题列表中。

第二种方法是在表格中生成一个有序的列列表,然后将电子表格中的输出从列转换为行。您可以使用以下代码片段生成该输出。

SELECT attname,
atttype,
attnotnull,
attnum
FROM _v_relation_column_def
WHERE attnum > 0
AND objid =
(
SELECT objid
FROM _v_obj_relation
WHERE objname = ^TABLENAME_TO_EXPORT^
AND schemaId IN ( current_schemaid,
4,
5 )
AND objclass NOT IN (4919,
4917)
ORDER BY schemaId DESC
)
ORDER BY attnum

这两种方法都不是完美的组合,但我想我应该分享我的经验。

关于sql - 在 IBM netezza aginity sql 数据库工作台中导出大表时如何添加列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26173706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com