Skip to content

page_sql ​

一条 sys.page_sql 记录是三段 SQL,在同一个事务里按顺序执行:

  1. pre_sql
  2. main_sql
  3. post_sql

列名是 main_sql。软删除看 del_flag。每次修改留在 sys.page_sql_hist。call_count 和 fail_count 是调用统计。

页面 JSON 里通过 sql_id 引用它。参数和 sql_id 写在同一个对象里,由 /sql/run 替换进 SQL 文本。

模板语法 ​

写法替换成
${name}参数原样进入 SQL。数字不加引号
%{name}SQL 字符串字面量,单引号会转义
^{name}外包一层单引号,内容不转义
@{name}[模板行]把数组或对象数组按模板行展开
!{SpEL}在 pre_sql 执行之后求值,数据来自 _pre_sql_result_list
$[可选段]由参数 _optional_N 决定这段留不留

保留参数 ​

参数含义
_user_id服务端写入当前用户。请求体里传同名参数不会覆盖它
_return_obj返回第一行对象
_return_val返回第一行的第一个字段
_optional_N控制第 N 段 $[...] 是否保留

INSERT、UPDATE 里,简单占位如果没有对应参数,会被拿掉。所以隐藏列不传值时,保存语句仍然能执行。

改完 SQL 文本后,已经打开的页面要重新打开,会话里的白名单和调用方才会使用新内容。见 新建一个页面。

这里写平台本身。某一家客户的业务表不在这份文档里。