问答 查看内容
返回列表

一批固定的数据变量,在多个数据集中使用,希望遇到有变更的时候只改一次有什么办法?

43 1
发表于 昨天 11:36 | 查看全部 阅读模式
一批固定的数据变量,在多个数据集中使用,希望遇到有变更的时候只改一次有什么办法?如下,

template_id in ('3xxxx','14xxxx','283xxxx,'18383xxxx','13xxxx','323xxxx77',
        '33xxxx','33xxxx2')



评论1

观小豪楼主Lv.1 发表于 昨天 11:38 | 查看全部
关于这个问题,
1)首选:用“全局参数/动态参数”,不是把整段 SQL 当普通文本到处复制。比如建一个多值全局参数 template_ids,默认值维护为 3xxxxx,13xxxxx,...,各数据集 SQL 写成:
template_id in ([DYNAMIC_PARAMS.template_ids])
1.1)如果 template_id 是字符串字段,用文本/多值参数;如果是数值字段,用数值/多值参数。后端会按类型和多值规则替换成 SQL 可执行的值列表。
1.2)不建议优先用 [DYNAMIC_PARAMS.RAW_STR_template_ids] 存整段 in (...),除非这个参数只由管理员维护。RAW_STR 是原样拼接,灵活但更容易把 SQL 片段、引号和注入风险一起带进去。
2)除全局参数外,可选替代只有“换建模方式”,不是同等的公共变量能力:
2.1)如果这批 template_id 本质是业务白名单,建议落成数据库维表/中间表,然后各数据集 join 或 where exists 这张表,后续只维护表数据。
2.2)如果多个数据集都基于同一份加工逻辑,可以抽成一个 ETL 输出数据集/视图数据集,下游复用该结果。
2.3)如果数据库侧允许,也可以做数据库视图、存储过程或表函数,在数据库侧集中维护条件。


回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

微信服务号
联系我们
电话:400-880-0750
邮箱:hello@guandata.com
Copyright © 2001-2026 观远社区 版权所有 All Rights Reserved. 浙 ICP 备15006424号-3
去回复 去发帖 返回顶部
快速回复 返回顶部 返回列表