[20220331]如何調整sql語句.txt
[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 的例子就是類似的情況,浪費大量的時間.
--//^_^,感覺自己有一點點強迫症.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2885299/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20201105]再分析sql語句.txtSQL
- [20220117]超長sql語句.txtSQL
- [20201210]sql語句優化.txtSQL優化
- Java中如何解析SQL語句、格式化SQL語句、生成SQL語句?JavaSQL
- [20240607]PL/SQL中sql語句的註解.txtSQL
- [20240320]空格與sqlpus的sql語句.txtSQL
- [20200320]SQL語句優化的困惑.txtSQL優化
- [20220111]該語句的sql_id如何計算的.txtSQL
- [20231114]如何知道一條sql語句涉及到那些表.txtSQL
- [20181119]sql語句執行緩慢分析.txtSQL
- [20181114]一條sql語句的優化.txtSQL優化
- [20211221]分析sql語句遇到的問題.txtSQL
- [20220329]是否開發寫錯sql語句.txtSQL
- [20210923]sql語句佔用Sharable Memory分析.txtSQL
- [20211009]使用bash計算sql語句的sql_id.txtSQL
- [20200324]SQL語句優化的困惑2.txtSQL優化
- [20211224]vim外掛格式化sql語句.txtSQL
- [20211231]vim自動格式化sql語句.txtSQL
- [20220119]超長sql語句補充3.txtSQL
- [20220329]19c sql語句打補丁.txtSQL
- [20220120]超長sql語句補充4.txtSQL
- [20210112]ashtop查詢特定表的SQL語句.txtSQL
- [20191101]通過zsh計算sql語句的sql_id.txtSQL
- [20191011]通過bash計算sql語句的sql_id.txtSQL
- sql語句如何執行的SQL
- SQL語句SQL
- [20190328]簡單探究sql語句相關mutexes.txtSQLMutex
- [20200126]使用DBMS_SHARED_POOL.MARKHOT與sql語句.txtSQL
- [20200326]dbms_monitor跟蹤與SQL語句分析.txtSQL
- [20201214]查詢隱式轉換的sql語句.txtSQL
- 20201214]查詢隱式轉換的sql語句.txtSQL
- [20220331]為什麼不使用索引.txt索引
- DBeaver如何調整sql檔案編碼SQL
- goto語句簡整Go
- [20190329]探究sql語句相關mutexes補充2.txtSQLMutex
- [20220109]開發不應該這樣寫SQL語句.txtSQL
- [20211229]toad下優化sql語句注意的問題.txt優化SQL
- [20230329]記錄除錯sql語句遇到的問題.txt除錯SQL