翻譯|使用教程|編輯:莫成敏|2020-04-02 14:26:11.910|閱讀 421 次
概述:本文發現了使用SQL Prompt代碼段消除重復執行各種任務的樂趣,這些任務從插入注釋標頭、創建表到執行有用的元數據查詢。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
SQL Prompt根據數據庫的對象名稱、語法和代碼片段自動進行檢索,為用戶提供合適的代碼選擇。自動腳本設置使代碼簡單易讀--當開發者不大熟悉腳本時尤其有用。SQL Prompt安裝即可使用,能大幅提高編碼效率。此外,用戶還可根據需要進行自定義,使之以預想的方式工作。
曾經有一段時間,我認為我不需要IntelliSense。畢竟,我可以在睡眠中編寫T-SQL,完全了解大多數常用語法,而更復雜或不可思議的功能僅是快速的網絡搜索。但是,SQL Prompt改變了主意。我開始使用其代碼完成建議來建議連接條件,然后幫助填寫GROUP BY子句,因此我對該工具的使用有所增加,直到我計算出現在至少每天可以節省數十分鐘。
直到幾周前,我都不認為我也不需要SQL Prompt代碼段。但是,當我終于有時間了解它們的工作原理時,我意識到它們不只是為基本命令提供SQL文本片段的幫助者。一些簡單的自定義片段可以節省很多我重復的任務,例如:
在弄清楚這一點之后,我發現自己在創建和使用代碼片段來完成許多我經常做的重復性任務。
什么是代碼段?
如果您未安裝SQL Prompt,則可以在此處免費獲得試用版。如文檔中所述,代碼段為:“任何預定義的代碼塊,您都可以在當前光標位置或當前選定的SQL文本周圍插入查詢窗格中”。
摘錄這個詞對我來說意味著“小”。從“SQL Prompt”菜單中打開“代碼片段管理器”,您將看到內置代碼片段符合以下要求:
每個預定義的代碼段都是小的代碼片段,例如用于創建或修改常見對象類型的代碼片段,您可以通過幾次擊鍵調用這些代碼片段,而不必鍵入整個片段。因此,例如,鍵入ct會調用“創建表”代碼段,并插入CREATE TABLE語句的基本內容,而“ j ”代碼段則可以節省繁瑣的鍵入任務JOIN。我不太用這些內置片段。也許他們會在這里和那里為我省去一些按鍵操作,但是記住我所需要的代碼片段的初始性可能會使我花費更長的時間。
但是,一旦我開始理解提示片段的工作原理,我意識到我可以構建自己的自定義片段,并且它們不一定需要小而簡單(盡管其中有些是)。這樣做可以消除很多重復,特別是在執行頻繁的任務(例如添加注釋標題、創建表或執行常用的元數據查詢)時。他們對占位符(參數或多或少)的支持意味著我可以根據需要非常快速地替換各種對象的正確名稱或查詢參數的值。
分享片段隨著摘要的復雜性增加,您不妨與其他人分享。您可以將代碼段文件夾重新定位到共享驅動器,如上例所示。我建議您使用文件共享系統(例如OneDrive或Dropbox)或源控制系統,以幫助防止一個團隊成員以不可恢復的方式刪除或修改代碼段。
請注意,SSMS擁有自己的代碼片段管理器,其中還包含用于構建常見對象類型的語法示例以及對模板的支持,了解SQL Prompt的代碼片段的不同之處及其原因非常有用。
對我而言,最大的區別之一就是可用性。通過在查詢編輯器中單擊鼠標右鍵可以調用SSMS代碼段,但是SQL Prompt的代碼段的工作方式與其他任何IntelliSense幫助程序一樣,使它們更加自然地工作。
用于插入重復文本的簡單代碼段
即使是非常簡單的代碼段,也可以從少量但頻繁且重復的任務中刪除令人驚訝的乏味。我很少回顧一段代碼而不會感到需要做些小改進的沖動,例如通過添加標題注釋來解釋例程的意圖,以及一組破折號來幫助將一些較大的代碼分成邏輯部分。
通常,我只是第一次輸入注釋標題,然后使用復制和粘貼。相反,我現在從以下代碼創建了一個Prompt代碼段:
/****************************************************** $CommentHere$ ******************************************************/ $CURSOR$
$字符表示的占位符,是參數值的替換點。$CommentHere$是一個自定義占位符,我可以在其中輸入注釋標題的文本,并且$CURSOR$是SQL Prompt的內置占位符之一,在這種情況下,它僅指定調用該代碼段并填寫了$CommentHere$占位符。其他內置占位符將執行特定操作,例如插入當前日期($DATE$)或連接的數據庫的名稱($DBNAME$)。
您可以通過打開我之前顯示的代碼段管理器從頭開始創建代碼段,但是要直接從此代碼創建代碼段,只需在SSMS查詢窗格中突出顯示該代碼段,然后右鍵單擊并從右鍵單擊上下文中選擇創建代碼段。菜單(或從“操作”菜單,即您可以在左上角看到的下拉圖標)中:
這會將代碼捕獲到一個代碼段中,自動檢測任何占位符,并為其分配一個默認名稱,在我的情況下為cc。我不喜歡這些簡短的縮寫,而是立即將其更改為更長但更易記的名稱,并添加了說明:
如您所見,“創建新代碼段”對話框的一部分跟蹤這些自定義占位符,您可以為每個自定義占位符提供默認值(例如,對于LIKE表達式占位符,您可以使用默認值'%')。
單擊“保存”,然后在“選項”對話框上單擊“確定”,然后轉到SSMS。鍵入commentsection一詞,并在鍵入時看到以下內容:
完成鍵入注釋部分的操作,或在菜單中選擇它,然后按Enter調用該代碼段,它將代碼片段注入到光標所在位置的查詢窗格中。現在,將選擇$CommentHere$參數,您可以開始鍵入。如果代碼中有多個具有相同名稱的參數,則在您開始輸入其中一個參數時,它們都會收到相同的文本。
按下Enter鍵后,您的注釋文本將被保存,并且光標將移至$CURSOR$占位符定義的位置。如果您需要輸入多行注釋標題,則只需使用Shift-Enter而不是Enter。
您可以輕松擴展此示例,以為整個團隊創建自定義評論標頭。例如,您可以使用以下模板來標準化文件頭:
名稱:teamfileheader
/**************************************************** Author: $USER$ Date: $DATE$ Purpose: $ScriptPurpose$ *****************************************************/ $CURSOR$
調用此代碼段后,將使用登錄人員的用戶名,本地格式的日期(無時間)填寫作者,您將能夠描述腳本的用途。
本教程內容較多,分為上下兩個部分,后續內容不斷更新中,敬請期待~感興趣的朋友可以下載SQL Prompt試用版免費體驗!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: