如何 save/copy table 列的值未在 vertica 复制命令的 csv 列列表中列出

How to save/copy value of table column not listed in csv column list in vertica copy command

我正在使用以下代码将数据从 csv 复制到 vertica table。

copy_command = 'COPY cb.table_format2 (ACC_NO, REF_NO, CUSTOMER_NAME, ADDRESS) FROM STDIN '\
    'ENCLOSED BY \'"\' delimiter \',\' SKIP 1 '\
    'exceptions \'' + file_path_exception + '\' rejected data \'' + file_path_rejected + '\';'
with open(file_path, "rb") as inf:
            cur.copy(copy_command, inf)

我在 vertica table 中有另一个名为 'FileId' 的字段,我想用我的局部变量的值填充它,以便稍后我可以检查针对哪个文件 ID 输入了哪些数据,在我未来的要求中,我也想在其他列中保存创建日期和用户会话 ID。

请让我知道我该怎么做?这是否可能? 如果无法做到这一点,那么还有哪些其他方法可以确保哪些数据 saved/copied 与哪个时间戳和用户会话相对应?

提前感谢您的帮助。

更新:- 我正在使用 python 3 和 vertica_python 模块从 python.

连接到 vertica

您需要对字段使用 AS 到 sql 表达式。您没有提及您使用的是哪个 python 模块,但您可以直接使用。添加如下所示的新字段条目:

FILEID AS 123456

让您的字符串看起来像那样(可能使用格式化程序或绑定值)。