ITPub博客

首页 > 数据库 > Oracle > [20241208]sql语句注解风格问题2.txt

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

原创 Oracle 作者:lfree 时间:2024-12-12 20:49:17 0 删除 编辑

[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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7969263