悉思SQL标签与可视化构建器上线

悉思SQL标签与可视化构建器上线

1024KB1024KB 悉思动态 2026-10-04 09:00:00 浏览 79416 字数 1384

悉思SQL标签正式上线,模板中可直接书写只读查询语句并按循环标签的形式渲染结果,标准标签覆盖不到的复杂取数场景有了统一出口。SQL标签默认关闭,站点开启后才解析,未开启时标签整体输出空字符串,页面其余内容正常渲染。

适用场景与开关

SQL标签面向多表关联统计、自定义聚合与跨表取数三类需求,查询结果按行渲染,行内可输出列值与行序号。开关按站点隔离,配置项位于站点配置的其他分组,默认关闭,修改后清理配置缓存即生效。

配置项默认值说明
站点开关关闭按站点隔离,关闭时标签输出空字符串
显示行数上限二百行仅可收窄,不允许突破上限
时间列格式日期时间格式可被字段级格式覆盖

行数上限的收紧设计出于稳定性考虑:查询结果直接进入渲染流程,行数上限避免一次取数把大表内容全部载入内存,站点按页面实际需要收窄条数即可。

站点隔离由服务端自动完成

查询语句不需要也不允许手写站点标识,服务端会为每一张含站点标识的表自动追加当前站点条件,主表注入到筛选子句,JOIN从表注入到关联条件内以保持左连接语义。语句显式写了其他站点标识或包含其他站点编号的列表时,执行被拒绝并记入服务日志。

  • 主表注入:筛选条件缺失时自动补齐站点条件,存在分组与排序时插在其前。
  • 从表注入:关联语句中的从表条件写入关联条件内,左连接语义保持不变。
  • 越权拒绝:显式写入其他站点标识或跨站点编号列表时直接拒绝执行。

不含站点标识的全局共享表不参与注入,数据本就全站点共享。子查询无法自动定位注入位置,因此整体拒绝执行,需要在语句中显式写明站点条件;公共表表达式整体拒绝,避免通过别名伪装绕过隔离。同一模板用于多个站点时,各站点自动读取各自数据,无需为每个站点改写模板。

可视化构建器按子句顺序配置

不熟悉语句写法时可用标签生成器内置的可视化构建器,按SQL子句顺序依次配置数据表、关联表、筛选条件、分组字段、聚合函数、分组筛选、输出字段、去重、排序与显示条数,语句实时生成并填入参数框。

  • 表与字段:选项带中文注释,常用字段可一键选中,字段支持别名。
  • 关联表:支持内连接、左连接与右连接,选表后自动猜测关联字段,关联两侧均为下拉选择。
  • 分组聚合:支持计数、求和、平均、最大、最小与去重计数,聚合结果可设别名并按别名排序。
  • 分组筛选:字段下拉包含聚合表达式与分组字段,用于过滤分组结果。

生成语句时自动处理表限定:存在关联时主表自动加前缀、从表使用顺序别名,字段歧义问题在生成阶段消除。启用分组后若输出字段既未分组也非聚合,界面会提示调整,避免数据库严格模式报错。构建器面向所有模板作者开放,无需登录即可使用,敏感表不出现在可选清单中。

元数据清单可自行维护

构建器的可选表与字段清单来自站点目录下的元数据文件,直接编辑即可更新,无需改代码或重新编译。数据库结构变更后可运行项目自带脚本重新生成清单,文件缺失或解析失败时自动回退内置清单,功能不中断。

元数据中的站点标识标记决定是否自动注入站点条件,手工增删表时需如实填写,否则可能出现跨站点数据串站。构建器不提供站点标识字段的选择入口,清单更新后清理缓存即生效。

使用方式

  1. 在站点配置中开启SQL标签开关并清理配置缓存。
  2. 打开标签生成器,切到构建模式,按子句顺序完成配置并复制生成的语句。
  3. 把语句放入模板的查询标签参数中,用字段标签输出列值并验证结果。
分享到:

评论

加载中...
我
还没有评论,快来抢沙发吧~