• <menu id="w2i4a"></menu>
  • logo SQL Prompt教程

    文檔首頁>>SQL Prompt教程>>SQL語法提示SQL Prompt使用教程:如何格式化SQL代碼(上)

    SQL語法提示SQL Prompt使用教程:如何格式化SQL代碼(上)


    SQL Prompt根據(jù)數(shù)據(jù)庫(kù)的對(duì)象名稱、語法和代碼片段自動(dòng)進(jìn)行檢索,為用戶提供合適的代碼選擇。具有自動(dòng)完成您的工作、分享您的代碼片段、保存并恢復(fù)在SSMS中丟失的標(biāo)簽、安全重構(gòu)SQL代碼等功能。本教程探索和討論了SQL格式化(由SQL Prompt自動(dòng)完成)的最新技術(shù),內(nèi)容較多,分為上下兩篇內(nèi)容,這是第一部分~

    點(diǎn)擊下載SQL Prompt免費(fèi)版


    SQL忽略空格、制表符和換行符。它甚至忽略大小寫,除非您固執(zhí)地堅(jiān)持它不應(yīng)該這樣做。因此,與Python不同的是,您可以隨意修飾SQL代碼,使其更易被其他人理解。它不會(huì)改變其運(yùn)行方式。

    這里存在一個(gè)問題:盡管SQL格式設(shè)置的一般原則已經(jīng)設(shè)定并達(dá)成共識(shí),但是在管理細(xì)節(jié)方面有許多差異。例如,圍繞逗號(hào)的爭(zhēng)論會(huì)變得非常激烈。

    創(chuàng)建第一個(gè)“SQL Beautifiers”時(shí),您只需將代碼粘貼進(jìn)去,它看起來就更漂亮了。這對(duì)于在網(wǎng)上發(fā)布代碼很好,但是SQL開發(fā)人員都有自己格式化SQL的方式,因此,對(duì)于這些美化工具所缺乏的控制力,他們不是特別滿意。

    當(dāng)Redgate創(chuàng)建SQL Prompt時(shí),它引入了多種格式設(shè)置選項(xiàng),使您可以根據(jù)自己的喜好微調(diào)它的執(zhí)行方式。格式化SQL代碼的方式似乎并沒有什么限制,而理解可能的情況的唯一方法是了解每個(gè)旋鈕和轉(zhuǎn)盤的功能。這是一個(gè)很有用的練習(xí),我了解SQL Prompt的格式化相關(guān)內(nèi)容,因此撰寫了這篇文章。

    有155個(gè)可配置選項(xiàng),被分組到各個(gè)部分,我將詳細(xì)記錄所有部分,描述每個(gè)部分中的選項(xiàng)以及它們的作用。生成的SQL Prompt格式化的Wallchart可在本文底部的PDF中找到。

    基本概念

    SQL Prompt使用樣式,每種樣式由XML文件定義,存儲(chǔ)在文件夾中。樣式為155種格式選項(xiàng)中的每個(gè)定義了一組值,這些格式值決定如何布置SQL代碼。每個(gè)選項(xiàng)都映射到XML文件中的配置項(xiàng)。幸運(yùn)的是,除了最勇敢的開發(fā)人員之外,Prompt的用戶界面使所有其他人都看不到這些東西。您無需再看到XML文件。

    當(dāng)您在SQL Prompt中選擇一種樣式(“活動(dòng)樣式”)時(shí),它將加載其XML文件,并將其定義用于所有后續(xù)格式化操作(Ctrl K,Ctrl Y)。

    每個(gè)開發(fā)人員可以定義自己的個(gè)人樣式,還可以加載和使用共享樣式。這些樣式通常與項(xiàng)目和開發(fā)團(tuán)隊(duì)相關(guān)聯(lián),并且隨著時(shí)間的推移易于更改,因?yàn)镻rompt會(huì)改進(jìn)選項(xiàng),而團(tuán)隊(duì)會(huì)改進(jìn)他們的樣式偏好。因此,它們可以有效地存儲(chǔ)在源代碼管理中,以便可以看到它隨著時(shí)間的推移如何發(fā)展,以及誰改變了什么。

    格式選項(xiàng)

    從“SQL Prompt”菜單中,選擇“編輯格式樣式”,然后可以編輯現(xiàn)有樣式,或使用“選擇+創(chuàng)建樣式...”來創(chuàng)建新樣式。給您的樣式起一個(gè)名字,并指定樣式所基于的樣式;我喜歡從名為“折疊”的“極簡(jiǎn)主義”內(nèi)置Redgate樣式開始。

    UI列出了所有不同的選項(xiàng)組,您只需單擊每個(gè)選項(xiàng)組即可為其定義的每個(gè)選項(xiàng)設(shè)置值。以下是一些控制空白格式的選項(xiàng)。您可以并且應(yīng)該經(jīng)常檢查更改對(duì)適當(dāng)?shù)摹邦A(yù)覽”查詢的影響。

    SQL語法提示SQL Prompt使用教程:如何格式化SQL代碼(上)

    至于為其中一些配置項(xiàng)目推薦設(shè)置的建議,我希望保持謹(jǐn)慎,但本文附帶了我自己的XML文件,其中包含我使用的所有設(shè)置。

    當(dāng)您決定要選擇的值時(shí),最重要的原則是將SQL設(shè)計(jì)為盡可能接近真實(shí)的英語語言。它的意圖是寫一個(gè)句子。 當(dāng)然,一個(gè)長(zhǎng)句子將被分解為短語、項(xiàng)目符號(hào)列表或詩(shī)意的臺(tái)詞。 如果我是在沒有SQL Prompt的情況下手動(dòng)執(zhí)行此操作,那么如果我正在寫的查詢長(zhǎng)于例如上面指定的80個(gè)字符,我將在子句的開頭中斷行。 在“包裝”部分。 我喜歡用足夠的空格縮進(jìn)從句和子查詢,以說明問題。 例如,ON短語在JOIN短語之外將不存在,而JOIN短語在其FROM子句之外將不單獨(dú)存在。 縮進(jìn)應(yīng)該是顯而易見的。

    在確定格式樣式時(shí),令人不禁想起格式化是為了強(qiáng)調(diào)查詢的結(jié)構(gòu)并使其更易于閱讀和理解。它不必看起來很漂亮。我真的不喜歡將所有東西都排列在一起的SQL,例如喬治亞風(fēng)格房屋的外墻。我看不到強(qiáng)制執(zhí)行垂直列表,大范圍的空格和以逗號(hào)開頭的行的意義,但是我盡力避免被別人認(rèn)為是因?yàn)檫@樣的討論在數(shù)據(jù)庫(kù)開發(fā)人員和DBA中引起了不滿的聲音和面無表情的面孔。

    全局

    從概念上講,全局格式設(shè)置選項(xiàng)是最需要考慮的選項(xiàng)。它們處理適用于所有格式的一般原則,無論代碼的類型或目的如何。

    在這里,您可以指定如何處理空格,如何布置列表,如何管理括號(hào)以及如何完成關(guān)鍵字,函數(shù)和類型大小寫的轉(zhuǎn)換。這里的一個(gè)小變化可以產(chǎn)生很大的不同。

    空格

    SQL語法提示SQL Prompt使用教程:如何格式化SQL代碼(上)

    列出

    SQL語法提示SQL Prompt使用教程:如何格式化SQL代碼(上)


    括號(hào)

    SQL語法提示SQL Prompt使用教程:如何格式化SQL代碼(上)

    套管

    SQL語法提示SQL Prompt使用教程:如何格式化SQL代碼(上)

    本教程內(nèi)容尚未完結(jié),請(qǐng)點(diǎn)擊下方鏈接查看后面剩余內(nèi)容!您也可以下載SQL Prompt試用版嘗試一下~

    相關(guān)內(nèi)容推薦:

    SQL語法提示SQL Prompt使用教程:如何格式化SQL代碼(下)

    下載 SQL Prompt Formatting Wallchart


    想要購(gòu)買SQL Prompt正版授權(quán),或了解更多產(chǎn)品信息請(qǐng)點(diǎn)擊“咨詢?cè)诰€客服”

    04-850x68.png

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();