[20220331]如何调整sql语句.txt

来源:这里教程网 时间:2026-03-03 17:32:28 作者:

[20220331]如何调整sql语句.txt --//生产环境查看视图定义,在我的机器经过toad格式化查看的语句如下. CREATE OR REPLACE FORCE VIEW ETC_ZY_LISTDETAIL ... ) BEQUEATH DEFINER AS SELECT t1.fphm AS busno       ,                           /*业务流水号*/        t2.jlxh AS listdetailno       ,                           /*明细流水号*/        t2.fyxm AS chargecode       ,                          /*收费项目代码*/        t3.sfmc AS chargename       ,                          /*收费项目名称*/        '' AS prescribecode       ,                          /*处方编码*/ --//出现这样的情况,看着非常不舒服,主要原因我定义toad格式化sql语句模式逗号在前面. --//参考链接: [20150304]关于sql格式化问题.txt =>http://blog.itpub.net/267265/viewspace-1448016/ --//也就是实际上sql语句如下: SELECT empno ,       /* empno  */        ename ,       /* ename  */        job ,         /* job    */        mgr ,         /* mgr    */        hiredate ,    /* hiredate */        sal ,         /* sal     */        comm ,        /* comm    */        deptno        /* deptno  */   FROM emp  WHERE hiredate = TO_DATE ( :b1, 'yyyy-mm-dd'); --//经过toad格式化后查看如下,看上去变得更长了,阅读也不方便: /* Formatted on 2022/4/1 8:18:53 (QP5 v5.269.14213.34769) */ SELECT empno       ,                                                           /* empno  */        ename       ,                                                           /* ename  */        job       ,                                                           /* job    */        mgr       ,                                                           /* mgr    */        hiredate       ,                                                         /* hiredate */        sal       ,                                                          /* sal     */        comm       ,                                                          /* comm    */        deptno                                                    /* deptno  */   FROM emp  WHERE hiredate = TO_DATE ( :b1, 'yyyy-mm-dd'); --//如何调整呢?测试看看vim下如何快速实现: --//定义修改范围,使用m命令标识a,b 然后执行如下: :'a,'bg/^\s*,/s/$/,/ :'a,'bg/^\s*,/s/// --//第一步替换开头含有,的行在结尾加入, . --//第二步删除开头的逗号. --//处理后情况如下: SELECT empno                                                            /* empno  */,        ename                                                            /* ename  */,        job                                                            /* job    */,        mgr                                                            /* mgr    */,        hiredate                                                          /* hiredate */,        sal                                                           /* sal     */,        comm                                                           /* comm    */,        deptno                                                    /* deptno  */   FROM emp  WHERE hiredate = TO_DATE ( :b1, 'yyyy-mm-dd'); --//然后在toad sql编辑器里面格式化处理,最后显示如下: /* Formatted on 2022/4/1 8:20:04 (QP5 v5.269.14213.34769) */ SELECT empno       /* empno  */       ,ename       /* ename  */       ,job       /* job    */       ,mgr       /* mgr    */       ,hiredate       /* hiredate */       ,sal       /* sal     */       ,comm       /* comm    */       ,deptno                                                    /* deptno  */   FROM emp  WHERE hiredate = TO_DATE ( :b1, 'yyyy-mm-dd'); --//感觉也好不到那里去。 --//处理如下: :'a,'bg/\s*,/j --//处理如下: :'a,'bs+/\*+--+ :'a,'bs+\*/++ :'a,'bs/\s*$// --//最后结果如下: SELECT empno   -- empno       ,ename -- ename       ,job -- job       ,mgr -- mgr       ,hiredate -- hiredate       ,sal -- sal       ,comm -- comm       ,deptno    -- deptno       FROM emp  WHERE hiredate = TO_DATE ( :b1, 'yyyy-mm-dd'); --//如果这样在toad下格式化,结果如下,感觉使用--在结尾这样的风格更好,不会折行: SELECT empno                                                          -- empno       ,ename                                                          -- ename       ,job                                                              -- job       ,mgr                                                              -- mgr       ,hiredate                                                    -- hiredate       ,sal                                                              -- sal       ,comm                                                            -- comm       ,deptno                                                        -- deptno   FROM emp  WHERE hiredate = TO_DATE ( :b1, 'yyyy-mm-dd'); --//主要最近在优化sql语句,看各类开发写sql语句超长,风格各异,不可能统一风格以及习惯,以及改正开发不好习惯. --//我发现我们团队好像有人写的sql无论多长就是一行.佩服!! --//记录下来,避免在这些细节上浪费时间,在查看自己喜欢的风格sql语句时心情更好,定位问题更快. --//比如链接[20220331]为什么不使用索引.txt 的例子就是类似的情况,浪费大量的时间. --//^_^,感觉自己有一点点强迫症.

相关推荐