Db2 格式化工具
使用 Db2 规则格式化适用于 Db2 for LUW 和 Db2 for z/OS 的 IBM Db2 SQL,支持 X''、G'' 和 N'' 字面量、双引号标识符,以及包含 #、@ 和 $ 的名称。FETCH FIRST n ROWS ONLY 单独占一行,WITH UR 等隔离子句保留在查询所在行,MERGE 分支另起新行。数据库开发人员和 DBA 可以查看未闭合字符串和括号所在的行和列。
常见问题
支持哪些 Db2 语法?
可以识别单引号字符串(其中的引号以成对引号表示)、十六进制 X''、图形 G'' 和国家 N'' 字面量,以及 GX''、UX'' 和 BX'' 字符串。双引号标识符以及包含 #、@ 或 $ 的普通名称都会保持原样。
如何处理 FETCH FIRST?
FETCH 与 LIMIT 一样从新行开始。子句的其余部分(例如 FIRST 10 ROWS ONLY)会在下一行保持连在一起。
WITH UR 和其他隔离子句如何处理?
WITH UR、WITH CS、WITH RS 和 WITH RR 会与前面的子句保留在同一行。它们绝不会被误认为是 WITH 公用表表达式。
支持 MERGE 吗?
可以。WHEN MATCHED THEN 和 WHEN NOT MATCHED THEN 分支会另起新行。
它能格式化 SQL PL 存储过程吗?
可以。带有 IF、CASE 和 LOOP 结构的 BEGIN 和 END 块会缩进,内部语句则各占一行。
注释会保留吗?
可以。-- 行注释和 /* 块注释 */ 会保留原位。多行块注释会按照新的布局重新缩进。
它会更改关键字的大小写吗?
不会。关键字和名称会保留你输入时的大小写。数据库会将未加引号的 Db2 名称统一转换为大写,因此混合大小写仍然有效。
会检测哪些错误?
未闭合的字符串、带引号的标识符和块注释,以及不平衡的括号;每项都会标出行和列。不会向数据库发送任何内容。
输入内容可以有多大?
每次请求最多 1 MB,每条语句最多 128 KB。较长的脚本会逐条语句格式化。
可以选择缩进方式吗?我的 SQL 会保存吗?
可使用 2 个或 4 个空格,也可使用制表符。SQL 只会在内存中格式化,绝不会保存。