Talend 的 tDBRow 组件帮助我们编写或执行 SQL 查询。我们可以使用此 Talend tDBRow 来执行 DML 操作或执行任何不返回结果的 SQL 查询。
为了演示如何在 Talend 中执行 DML 语句或查询,我们使用了两个表。第一个是引用表。

我们使用上面的表,并在下面的表中编写了 merge 语句。在 Merge 语句中,我们执行了 Insert、Update 和 Delete 操作。

Talend 执行 SQL 查询示例
我们使用 tDBConnection 连接到 SQL Server。接下来,将 tDBRow 从调色板拖放到 Job 设计器。
在 tDBRow 组件选项卡中,您可以看到可用选项。这与 tDBInput 相同,但我们必须使用 Query 窗口来编写我们自己的 SQL 查询。

对于连接,我们使用了在 Talend tDBConnections 组件中创建的现有连接。

对于 tDBRow_1,我们编写了 Merge Statement 来执行 DML 操作。我建议您参考 SQL Merge 文章来理解该查询的所有内容。我们使用了相同的表、相同的查询,并对数据进行了一些更改,以便于理解。

"MERGE [Merge_Table] AS mrg
USING (SELECT * FROM [Employee]) AS emp
ON mrg.EmpID = emp.EmpID
WHEN MATCHED AND mrg.[YearlyIncome] <= 50000 THEN DELETE
WHEN MATCHED AND mrg.[YearlyIncome] >= 80000 THEN
UPDATE SET mrg.[YearlyIncome] = mrg.[YearlyIncome] + 35000
WHEN NOT MATCHED THEN
INSERT ([FirstName], [LastName], [Education]
,[Occupation]
,[YearlyIncome]
,[Sales]
,[HireDate])
VALUES(emp.[FirstName], emp.[LastName], emp.[Education]
,emp.[Occupation]
,emp.[YearlyIncome]
,emp.[Sales]
,emp.[HireDate]);"
让我们在 Talend 作业中运行此 Execute DML Queries。

在 Management Studio 中,您可以看到结果。
