gpt4 book ai didi

database - Scriptella - 使用输出中的行填充新表的数据库到数据库 ETL 脚本

转载 作者:搜寻专家 更新时间:2023-10-30 20:55:56 24 4
gpt4 key购买 nike

我需要开发一个 ETL 脚本(在另一个脚本之后运行)从一个数据库 (DB1) 读取行并将它们复制到另一个数据库 (DB2)。

问题是从 DB1 中选择行的查询与 DB2 中的行连接,像这样:

SELECT db2.tableA.columnA, db1.tableA.columnA
FROM db2.tableA
LEFT OUTER JOIN db1.tableA
ON db1.tableA.columnB = db2.tableA.columnB

我在解决这个问题时遇到了麻烦,因为查询标签收到一个连接 ID

谢谢!

最佳答案

我很难判断特定连接的业务意义,但我相信从实现的角度来看,最简单的方法是在 db2 中创建一个临时表,它是 db1.tableA 的副本。示例:

<connection id="db1" ....>
<connection id="db2" ....>

<script connection-id="db2">
CREATE TABLE tableAFromDb1 (
....
);
</script>
<query connection-id="db1">
<!-- Copy all rows from db1 to db2 -->
SELECT columnA, columnB FROM db1.tableA
<script connection-id="db2">
INSERT INTO db2.tableAFromDb1 (columnA, columnB) VALUES (?1, ?2);
<script>
</query>
<!-- Produce the outer join if necessary or directly manipulate the tableAFromDb1 dataset -- >
<query connection-id="db2">
SELECT columnA, columnA
FROM tableA LEFT OUTER JOIN
tableAFromDb1 ON tableAFromDb1.columnB = tableA.columnB

<script>
TODO Insert the result somewhere
</script>
</query>

关于database - Scriptella - 使用输出中的行填充新表的数据库到数据库 ETL 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21242415/

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