24.4. 关于 SQL 语句中更新数据的参数占位符和值


流中中间的数据库连接,或者完成简单集成,可以执行更新数据的 SQL 语句。将数据库连接添加到集成时,您可以在 SQL 语句中指定要执行的占位符参数。在执行期间,当输入参数值位于集合中时,连接可以执行批处理更新。

在 SQL 语句中指定参数

当您创建或编辑集成并添加一个更新数据库的连接时,您可以在 SQL 语句中指定连接在运行时执行的占位符参数,或者可以在运行时执行保存过程中的占位符。例如:

INSERT INTO TODO(task, completed) VALUES(:#param_1, :#param_2)
DELETE FROM TODO WHERE task LIKE :#param_3

要指定这些占位符的值,请在数据库连接前添加数据映射步骤到流中。在 data 映射步骤中,将适当的源数据字段映射到目标数据字段,例如,将源数据映射到 :#param_1:#param_2、和 :#param_3 target 字段。请参阅添加 数据映射程序步骤

使用参数值集合进行批处理更新

在运行时,当数据库连接执行可插入、删除或更新数据的 SQL 语句时,执行的 SQL 语句通常会指定一个或多个占位符参数,例如 :#task。当连接时,到连接的输入可以是一组参数或一组参数集,其中每个元素会为对应的占位符参数定义值。

对数据库连接的输入来自流中的较早连接,如 HTTP 请求(Webhook),或发送到 API 供应商集成的 REST API 服务的请求。当输入是集合时,连接将使用批处理模式来更新表。例如,考虑这个 SQL 语句:

insert into todo (task) values (:#task)

如果输入集合包含 3 个值,则连接插入三个记录,每个值对应一个。现在,考虑使用带有两个占位符参数的 SQL 语句:

insert into todo (task, completed) values (:#task, :#completed)

在执行此 SQL 语句的连接输入中,数据形成的规格可以指定单个元素,例如:

{"task": "write some docs", "completed": 0}

或者可以指定集合,例如:

[{"task": "write doc", "completed": 1},
 {"task": "publish doc", "completed": 0}]

使用集合作为输入时,连接会针对每一组参数值执行一次插入操作。在本例中,连接会在表中添加两个记录,每个参数值对应一个。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部