前言

最近三個月因為工作需求,重新開始撰寫 Stored procedure,面對這個只有曾經維護過但沒有正式學習的工作,總是會有些忐忑不安。幸虧周遭同事相當有經驗,給我蠻多指點。這一篇文章主要是撰寫 SQL Scripts 或 stored procedure 過程中,遇到格式與版面跑位的問題,也因為程式碼皆需要 code review,跑版問題常常造成閱讀上的困擾。這一篇將簡單介紹幾個方法與工具,協助我們撰寫程式過程能輕鬆的排版。若有錯誤請各位先進不吝指教。

本篇文章內容:
1. 起手式 - 定位點與空白調整
   1.1 定位點與空白 (Tab and Space)
   1.2 定位點調整


起手式 - 定位點與空白調整

定位點與空白 (Tab and Space)

定位點與空白若沒有一致,當 Scripts 放在不同的地方會導致格式與排版不一致,所以可能在自己電腦上的SSMS撰寫時格式整齊一致,但上傳Code Review的平台,或者團隊成員透過不同的IDE開啟,就會有跑版的情況產生。

首先我們在 SSMS 先將定位點與空白顯示出來:
編輯 → 進階 → 檢視空白區




你會發現撰寫區塊出現空白標示,這樣可以明確知道目前格式是定位點還是空白,如此以來比較好調整



定位點調整

工具 → 選項 → Transact-SQL → 定位點
修改定位點大小與縮排大小一致,並且選擇插入空白,如此一來你的縮排就不會出現定位點,而皆由空格縮排



換行之後輸入文字,會發現定位點變成空白


經過前面的調整,開始撰寫 scripts 的時候,就不會因為定位點與空白而導致排版跑位。那先前的程式碼怎麼辦呢?只需要將選取程式碼 → 編輯 → 進階 → 選取範圍定位鍵轉成空白鍵,就完成轉換。









透過套件格式化與排版程式碼 -  ApexSQL Refactor

SQL 格式化的套件蠻多的,這邊簡單簡單介紹 ApexSQL Refactor 

Step 1. 前往官方下載網站 https://www.apexsql.com/Download.aspx,下載ApexSQL Refactor 



Step 2. 點選開啟,並且依照步驟進行安裝





Step 3. 自動選擇目前電腦上有的 SSMS 與 VS 版本



Step 4. 完成安裝



Step 5. 開啟SSMS 輸入一段語法,選取它



Step 6. ApexSQL → ApexSQL Refactor → Format SQL



Step 7. 完成



註:本文章為第九屆鐵人賽系列文章之一