参数赋值示例

  • Last update: October 23, 2023
  • 1. 概述

    1.1 应用场景

    demo1 数据库中有一张数据表名为「S产品」,想要将「类别ID」=2 的数据同步到 demo2 数据库中。

    1698052260595586.png

    1.2 实现思路

    「S产品」中,产品ID为主键,先取出「类别ID」=2 数据的「产品ID」值,设置为参数,在下游的数据同步中使该参数,将满足条件的数据同步至数据库中。

    2. 操作步骤

    2.1 参数赋值

    1)新建定时任务,拖入参数赋值」节点。

    2)取出「类别ID」=2 数据的「产品ID」值,设置为参数如下图所示:

    SQL语句:select 产品ID from `demo1`.`S产品` where 类别ID=2

    38.png

    点击「数据预览」,可看到「类别ID」=2 数据的「产品ID」值被取出。如下图所示:

    1698052815615973.png

    3)将取出的产品ID输出为参数。

    点击「输出参数」,设置参数名为 id_para ;因为取出的「产品ID」字段位于取出数据的第一列,因此取出第一列所有行的数据作为参数值。对「参数赋值」中单个参数输出的字段值个数进行限制,限制最多不能超过 10000 个。

    由于取出的「产品ID」是数值,所以不开启「闭包符」;点击参数预览」按钮,预览成功后,自动选取前五个值填入对应参数的调试值。

    注:调试值只是为了下游节点提前预览设置的,实际运行时不会用到该值。

    如下图所示:

    40.png

    注:参数赋值只能生成一条数据,若需要分开输出多条数据,可以使用 循环容器

    此时若发现取出的数据需要进行一些复杂的操作,例如行列转换数据关联JSON解析等数据处理和转换才能成为参数,则可以使用「生成数据转换」功能,将根据「参数赋值」节点的数据来源和输出参数,新增一个「数据转换」节点,你可以使用数据转换替代参数赋值进行复杂的数据处理工作,将处理好的数据使用「参数输出」设置参数,详情请参见:参数赋值生成数据转换

    2.2 使用参数

    设置好参数后,即可在下游的数据同步中使该参数,将满足条件的数据同步至数据库中。

    1)拖入数据同步节点,与参数赋值节点相连。

    2)设置数据同步节点,从 demo1 数据库中取出「S产品」数据表中满足「参数赋值」中参数条件的所有数据,也就是取出满足类别ID=2产品ID对应的所有数据。如下图所示:

    SQL 语句:SELECT * FROM `demo1`.`S产品` where 产品ID in (${id_para})

    注:跟自定义参数不同,参数赋值节点的参数引用时,不一定需要加单引号,如果在「参数赋值」中定义的分隔符是正确的,那么使用时直接用${参数名}即可。

    41.png

    3)设置数据去向。将满足条件的数据同步至 demo2 数据库里的「canshu」表中。如下图所示:

    42.png

    3)写入方式默认即可。

    2.3 效果查看

    1)点击「保存并运行」按钮,任务运行成功后。如下图所示:

    43.png

    2)数据库表数据如下图所示:

    1698057851661365.png






    附件列表


    主题: 数据开发
    • Helpful
    • Not helpful
    • Only read

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    Get
    Help
    Online Support
    Professional technical support is provided to quickly help you solve problems.
    Online support is available from 9:00-12:00 and 13:30-17:30 on weekdays.
    Page Feedback
    You can provide suggestions and feedback for the current web page.
    Pre-Sales Consultation
    Business Consultation
    Business: international@fanruan.com
    Support: support@fanruan.com
    Page Feedback
    *Problem Type
    Cannot be empty
    Problem Description
    0/1000
    Cannot be empty

    Submitted successfully

    Network busy