[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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL語句效能調整原則(zt)SQL
- 【資料操作】SQL語句效能調整原則SQL
- ORACLE sql 語句的執行過程(SQL效能調整)OracleSQL
- Oracle效能調整之--DML語句效能調整Oracle
- 使用SQL調整顧問進行語句優化SQL優化
- Oracle資料庫SQL語句效能調整的基本原則 (3)Oracle資料庫SQL
- Oracle資料庫SQL語句效能調整的基本原則 (2)Oracle資料庫SQL
- Oracle資料庫SQL語句效能調整的基本原則 (1)Oracle資料庫SQL
- Java中如何解析SQL語句、格式化SQL語句、生成SQL語句?JavaSQL
- unix 系統捕獲sql語句和手工調整AWR的設定SQL
- 使用hint來調優sql語句SQL
- ORACLE 11G 使用SPM來調整SQL語句的執行計劃OracleSQL
- [20150403]修正sql語句.txtSQL
- [20170103]sql語句過載.txtSQL
- 調整oracle的一個pga引數,讓一個sql語句執行飛快OracleSQL
- sql語句如何執行的SQL
- 如何寫這個sql語句?SQL
- 透過使用hint unnest調優sql語句SQL
- 通過使用hint unnest調優sql語句SQL
- DBeaver如何調整sql檔案編碼SQL
- goto語句簡整Go
- SQL語句SQL
- 一條sql語句的建議調優分析SQL
- [20170703]SQL語句分析執行過程.txtSQL
- [20131204]sql語句優化.txtSQL優化
- [20151221]sql語句優化.txtSQL優化
- [20141013]奇怪的sql語句.txtSQL
- [20150527]跟蹤單個sql語句.txtSQL
- [20121101]tkprof抽取sql語句.txtSQL
- [20240320]空格與sqlpus的sql語句.txtSQL
- [20240607]PL/SQL中sql語句的註解.txtSQL
- [20120216]檢視資料庫整體效能問題sql語句.txt資料庫SQL
- 使用USE_HASH Hint調優一個SQL語句SQL
- 如何用SQL語句實現以下功能.SQL
- 如何寫出高效能SQL語句SQL
- Oracle如何複製表的sql語句OracleSQL
- sql語句大全SQL
- 共享SQL語句SQL