[20241208]sql语句注解风格问题2.txt

来源:这里教程网 时间:2026-03-03 20:59:55 作者:

[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;

相关推荐