[20241208]sql语句注解风格问题2.txt
--//生产系统有时候sql语句太复杂,会选择在toad下格式化sql语句最近在格式化时遇到的问题,通过一个例子说明问题:
SELECT EMPNO , /*EMPNO */
ENAME , /*ENAME */
JOB , /*JOB */
MGR , /*MGR */
HIREDATE , /*HIREDATE */
SAL , /*SAL */
COMM , /*COMM */
DEPTNO , /*DEPTNO */
SYSDATE /*SYSDATE */
FROM emp;
--//逗号出现在注解中间。
--//如果toad下格式化变成这样
/* Formatted on 2024/12/8 16:23:55 (QP5 v5.277) */
SELECT EMPNO, /*EMPNO */
ENAME, /*ENAME */
JOB, /*JOB */
MGR, /*MGR */
HIREDATE, /*HIREDATE */
SAL, /*SAL */
COMM, /*COMM */
DEPTNO, /*DEPTNO */
SYSDATE /*SYSDATE */
FROM emp;
--//显然这样显示无法接受,在语句很短时出现如上的情况。如果语句在长一些变成这样
--//修改如下增加1个字段显示。
SELECT EMPNO , /*EMPNO */
ENAME , /*ENAME */
JOB , /*JOB */
MGR , /*MGR */
HIREDATE , /*HIREDATE */
SAL , /*SAL */
COMM , /*COMM */
DEPTNO , /*DEPTNO */
SYSDATE , /*SYSDATE */
SYSDATE /*SYSDATE */
FROM emp;
--//格式化如下:
/* Formatted on 2024/12/8 16:27:37 (QP5 v5.277) */
SELECT EMPNO
, /*EMPNO */
ENAME
, /*ENAME */
JOB
, /*JOB */
MGR
, /*MGR */
HIREDATE
, /*HIREDATE */
SAL
, /*SAL */
COMM
, /*COMM */
DEPTNO
, /*DEPTNO */
SYSDATE
, /*SYSDATE */
SYSDATE /*SYSDATE */
FROM emp;
--//注解单独占一行,这条算短的,如果sql语句在长一些,显得占用太多的行,我个人喜欢逗号在前面的前导风格。
--//类似这类情况最好修改toad formatter定义
--//view =>toad options ... => formatter
--//oracle formatter options=>List Arrangements=>, commas ,选择 尾部 风格就ok了。
--//顺便提一下我个人喜欢使用前导 风格,前面的测试在此情况下的结果,也就是每行1个字段逗号在前面。
--//选择尾部 风格,格式化如下:
SELECT EMPNO, /*EMPNO */
ENAME, /*ENAME */
JOB, /*JOB */
MGR, /*MGR */
HIREDATE, /*HIREDATE */
SAL, /*SAL */
COMM, /*COMM */
DEPTNO, /*DEPTNO */
SYSDATE, /*SYSDATE */
~~~~~~~~~~~~~~~~
SYSDATE /*SYSDATE */
FROM emp;
--//但是如果语句太短,还是出现前面的情况。删除以上下划线那行,格式化如下:
/* Formatted on 2024/12/8 16:31:25 (QP5 v5.277) */
SELECT EMPNO, /*EMPNO */
ENAME, /*ENAME */
JOB, /*JOB */
MGR, /*MGR */
HIREDATE, /*HIREDATE */
SAL, /*SAL */
COMM, /*COMM */
DEPTNO, /*DEPTNO */
SYSDATE /*SYSDATE */
FROM emp;
--//顺便提一下我个人喜欢逗号在前面的前导风格,这样注解方便,一般第1个很少选择注解,而逗号尾部风格的情况下,无法简单的注
--//解最后一个显示字段。
--//像上面的情况语句短一般问题不大,而语句很长要格式化,只能选择逗号 尾部 风格的模式格式化。
--//个人建议开发不应该选择逗号在注解中间的写法,必须修改如下逗号在注解最后,选择逗号 前导 风格的模式。
SELECT EMPNO /*EMPNO */ ,
ENAME /*ENAME */ ,
JOB /*JOB */ ,
MGR /*MGR */ ,
HIREDATE /*HIREDATE */ ,
SAL /*SAL */ ,
COMM /*COMM */ ,
DEPTNO /*DEPTNO */ ,
SYSDATE /*SYSDATE */ ,
SYSDATE /*SYSDATE */
FROM emp;
--//格式化后如下:
SELECT EMPNO /*EMPNO */
,ENAME /*ENAME */
,JOB /*JOB */
,MGR /*MGR */
,HIREDATE /*HIREDATE */
,SAL /*SAL */
,COMM /*COMM */
,DEPTNO /*DEPTNO */
,SYSDATE /*SYSDATE */
,SYSDATE /*SYSDATE */
FROM emp;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-3056582/ ,如需转载,请注明出处,否则将追究法律责任。