【发布时间】:2017-07-11 14:18:52
【问题描述】:
我正在尝试使用 python 和 sqlalchemy 来下载一些数据,在 Teradata 服务器上创建一个临时临时表,然后将该表合并到我创建的另一个表中以永久存储这些数据。我正在使用sql = slqalchemy.text(merge) 和td_engine.execute(sql) 其中merge 是类似于以下的字符串:
MERGE INTO perm_table as p
USING temp_table as t
ON p.Id = t.Id
WHEN MATCHED THEN
UPDATE
SET col1 = t.col1,
col2 = t.col2,
...
col50 = t.col50
WHEN NOT MATCHED THEN
INSERT (col1,
col2,
...
col50)
VALUES (t.col1,
t.col2,
...
t.col50)
脚本一直运行到最后没有错误,并且 SQL 通过 Teradata Studio 正确执行,但由于某种原因,当我通过 SQLAlchemy 执行它时,表不会更新。但是,我也运行了不同的 SQL 表达式,例如从同一个 python 脚本填充 perm_table 的插入,它运行良好。也许 MERGE 和 SQLAlchemy 组合有一些特定的东西?
【问题讨论】:
标签: python sql sqlalchemy teradata sql-merge