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

    文檔首頁>>SQL Prompt教程>>語法提示SQL Prompt教程:SQL生產(chǎn)力功能“代碼完成”和“IntelliSense”

    語法提示SQL Prompt教程:SQL生產(chǎn)力功能“代碼完成”和“IntelliSense”


    SQL Prompt是一款實(shí)用的SQL語法提示工具。其根據(jù)數(shù)據(jù)庫的對(duì)象名稱、語法和代碼片段自動(dòng)進(jìn)行檢索,為用戶提供合適的代碼選擇。自動(dòng)腳本設(shè)置使代碼簡(jiǎn)單易讀--當(dāng)開發(fā)者不大熟悉腳本時(shí)尤其有用。SQL Prompt安裝即可使用,能大幅提高編碼效率。

    點(diǎn)擊下載SQL Prompt試用版

    有個(gè)老笑話說,升級(jí)到最新的SQL Server在某些DBA上是浪費(fèi)的,因?yàn)樗鼈內(nèi)詫⒅饕獔?jiān)持在SQL Server 2005中起作用。根據(jù)我的經(jīng)驗(yàn),這種類型的DBA變得越來越罕見,但是我們很多人沒有從我們的SQL Server工具中獲得“全部功能”的觀點(diǎn)是有一定道理的。當(dāng)它們“開箱即用”時(shí),我們會(huì)與他們合作,并且僅使用其功能的一小部分。探尋“新事物”的時(shí)間,至少與我們想要的一樣,仍然難以捉摸。

    SQL Prompt是一個(gè)很好的工具,可以幫助個(gè)人開發(fā)人員以及整個(gè)團(tuán)隊(duì)在編寫SQL時(shí)提高工作效率。但是,我懷疑許多用戶從未發(fā)現(xiàn)它的許多功能,尤其是較新的增強(qiáng)功能。對(duì)于他們使用的零件,他們并不總是花時(shí)間來研究如何配置和控制其行為以最適合其需求。

    如果您的情況如此,希望本文對(duì)您有所幫助。我將介紹Prompt最著名的生產(chǎn)力功能,代碼完成和IntelliSense,尤其是我如何控制其工作方式以適應(yīng)我的需求。然后,我將簡(jiǎn)要介紹一些“鮮為人知”的功能,這些功能可以提高團(tuán)隊(duì)的工作效率,并有助于防止不必要的錯(cuò)誤以及從錯(cuò)誤中恢復(fù)所造成的時(shí)間損失。

    更快地編寫SQL

    作為數(shù)據(jù)庫開發(fā)人員,我需要提高工作效率,而且我一直都在使用SQL Prompt的代碼完成和IntelliSense功能。是的,IntelliSense在SQL Server Management Studio中是本地可用的,但是除了列出可用對(duì)象之外,它所做的只是其他事情。

    SQL Prompt的IntelliSense更有用。它為列和表提供自動(dòng)完成建議,幫助填寫JOIN條件,GROUP BY子句,顯示對(duì)象定義和依賴項(xiàng)等。當(dāng)然,作為開發(fā)人員,由于我們將大量使用它,因此我們將希望能夠精確控制此功能的工作方式,以優(yōu)化生產(chǎn)力。

    最近的一項(xiàng)增強(qiáng)功能是,使最近使用最多的對(duì)象上升到建議框頂部的選項(xiàng)。和往常一樣,我們可以在“SQL Prompt選項(xiàng)”菜單中進(jìn)行配置,在這種情況下,可以在“建議” >“行為”中:

    語法提示SQL Prompt教程:SQL生產(chǎn)力功能“代碼完成”和“IntelliSense”

    在下面的示例中,我輸入了前面的兩個(gè)查詢,第一個(gè)查詢?cè)趗sers表上,第二個(gè)查詢?cè)趕ales表上。現(xiàn)在,當(dāng)我在第三個(gè)查詢中鍵入內(nèi)容時(shí),我看到sales和users表是列表中的前兩個(gè)建議,用灰色細(xì)線將其與其他選擇分開。

    語法提示SQL Prompt教程:SQL生產(chǎn)力功能“代碼完成”和“IntelliSense”

    建議” >“行為”部分包含其他有用的選項(xiàng),例如,使我們可以控制何時(shí)彈出建議框,顯示對(duì)象定義框等。另一個(gè)相對(duì)較新且簡(jiǎn)單的增強(qiáng)功能是“使彈出窗口透明... ”選項(xiàng)。當(dāng)您在查詢中間進(jìn)行編輯時(shí),這很有用,否則彈出建議框會(huì)掩蓋查詢的其余部分。當(dāng)您需要進(jìn)行的更改與隱藏的語句相關(guān)時(shí),這尤其令人煩惱。只需按Ctrl鍵,彈出框就會(huì)暫時(shí)透明。

    語法提示SQL Prompt教程:SQL生產(chǎn)力功能“代碼完成”和“IntelliSense”

    您還可以在“建議”部分的其他位置找到其他有用的控件。例如:

    • 建議 > 連接——控制為其提出建議的數(shù)據(jù)庫和模式。這可以立即消除很多“噪音”

    • 建議 > 連接條件——指定建議JOIN條件的條件

    改善SQL標(biāo)準(zhǔn)

    除了IntelliSense之外,SQL Prompt還有很多事情要做。它還提供了一組有助于改善SQL編碼標(biāo)準(zhǔn)的功能,例如自動(dòng)格式化、可重復(fù)使用的代碼段以及代碼分析。在每種情況下,這些功能均旨在允許您定義團(tuán)隊(duì)標(biāo)準(zhǔn),然后共享它們并一致地實(shí)施它們。

    這些功能使SQL Prompt成為了出色的團(tuán)隊(duì)協(xié)作工具。它們幫助我與開發(fā)人員合作,灌輸良好的SQL編碼實(shí)踐,防止重復(fù),并減少將其轉(zhuǎn)化為生產(chǎn)代碼的代碼問題。

    之前我有描述過這些功能,現(xiàn)在就不贅述了。但是,值得經(jīng)常檢查發(fā)行說明和文檔,因?yàn)閷?duì)這些功能進(jìn)行更改和添加非常頻繁。例如,對(duì)于代碼分析,SQL Prompt現(xiàn)在將自動(dòng)修復(fù)越來越多的一些較簡(jiǎn)單的代碼問題。

    避免意外丟失數(shù)據(jù)

    在作為DBA的職業(yè)生涯中,我一直想嚴(yán)格控制誰可以從SQL Server Management Studio訪問我們的生產(chǎn)SQL Server實(shí)例。但是,盡管存在明顯的危險(xiǎn),但通常很難勸阻組織不要允許人們使用這種“快速、簡(jiǎn)便”的方式進(jìn)行更改。我一直在努力尋找更好的選擇。安全地進(jìn)行修復(fù),進(jìn)行測(cè)試然后優(yōu)雅地發(fā)布它們的過程。但是,改變主意并不容易,尤其是在經(jīng)常重復(fù)“所有客戶都應(yīng)該通過SSMS訪問”之類的組織中。當(dāng)然,有時(shí)負(fù)責(zé)生產(chǎn)數(shù)據(jù)庫性能和數(shù)據(jù)安全性的DBA除了直接進(jìn)行緊急修復(fù)外,別無選擇。

    對(duì)于所有這些情況,SQL Prompt都具有一些有用的功能,這些功能可以保護(hù)我以及任何直接訪問登臺(tái)服務(wù)器或生產(chǎn)服務(wù)器的開發(fā)人員,避免意外地進(jìn)行破壞性的數(shù)據(jù)庫更改,或意外刪除對(duì)象或數(shù)據(jù),或者進(jìn)行更多操作。錯(cuò)過了重要的過濾條件,因此進(jìn)行了超出預(yù)期的廣泛更改。要“消除”此類事故的影響,可能需要花費(fèi)數(shù)小時(shí)的艱苦工作。

    SSMS選項(xiàng)卡著色

    此功能將根據(jù)連接的每個(gè)選項(xiàng)卡所使用的服務(wù)器或服務(wù)器類型,對(duì)查詢窗格頂部的每個(gè)“標(biāo)簽”以及底部狀態(tài)窗格進(jìn)行顏色編碼。一旦您習(xí)慣了亮紅色的標(biāo)簽表示“我已連接到生產(chǎn)服務(wù)器” 的想法,在連接到“錯(cuò)誤”服務(wù)器的查詢窗格中意外執(zhí)行代碼就變得更加困難!

    執(zhí)行警告

    有許多方法可以無意或以其他方式破壞數(shù)據(jù)或?qū)ο?。您突出顯示DELETE或UPDATE語句,但不小心忽略了該WHERE子句。您的代碼中有不需要的DROP或TRUNCATE命令,可能是一些測(cè)試代碼的殘跡,或者是一些未經(jīng)測(cè)試且不正確的代碼,它們會(huì)根據(jù)某些業(yè)務(wù)邏輯修改數(shù)據(jù)。從本質(zhì)上講,沒有辦法在不實(shí)現(xiàn)附加邏輯或不使用觸發(fā)器的情況下停止執(zhí)行此類命令。

    當(dāng)我們嘗試執(zhí)行可能導(dǎo)致意外更改或數(shù)據(jù)丟失的無條件命令時(shí),SQL Prompt的執(zhí)行警告可以提醒我們。這個(gè)想法基于語法檢查引擎。該工具可以嗅探該命令,并且可以檢測(cè)以下情況并提出警告:

    • UPDATE或DELETE沒有WHERE條件的語句,包括用于,INNER JOIN創(chuàng)建或更改過程或觸發(fā)器時(shí)的條件。

    • DROP和TRUNCATE聲明(v9.5.6及更高版本)

    例如,以下DELETE語句將從表Table1中刪除ID值與表Table2中所找到的那些行匹配的所有行:

    DELETE FROM T1
    FROM
        dbo.Table1 AS T1
        JOIN dbo.Table2 AS T2 ON T1.ID = T2.ID;

    默認(rèn)情況下,當(dāng)我們對(duì)以下語句單擊“執(zhí)行”時(shí),SQL Prompt將發(fā)出警告:

    語法提示SQL Prompt教程:SQL生產(chǎn)力功能“代碼完成”和“IntelliSense”

    但是,由于我多次使用這種語句,因此對(duì)于生產(chǎn)率而言,禁用此類警告的能力也很重要。您可以從“選項(xiàng)”菜單(“建議” >“警告和突出顯示” >“執(zhí)行警告”)控制SQL Prompt將發(fā)出哪些警告。如前所述,即使啟用這些警告,早處理臨時(shí)對(duì)象時(shí)也不會(huì)引發(fā)這些警告。

    語法提示SQL Prompt教程:SQL生產(chǎn)力功能“代碼完成”和“IntelliSense”

    在每種情況下,如果您決定不繼續(xù)執(zhí)行該語句,則會(huì)看到一條綠色的波浪線和一個(gè)工具提示,解釋了為什么發(fā)出警告。這是一個(gè)DROP聲明的示例:

    語法提示SQL Prompt教程:SQL生產(chǎn)力功能“代碼完成”和“IntelliSense”

    結(jié)論

    SQL Prompt是一個(gè)很棒的SQL生產(chǎn)工具。我特別喜歡它經(jīng)常對(duì)其所有功能進(jìn)行改進(jìn),因此,值得一提的是使用UserVoice服務(wù)要求某個(gè)功能或增強(qiáng)功能。

    我喜歡這種方法。每天都在使用SQL Server的最終用戶共享他們的知識(shí),并要求進(jìn)行更改,團(tuán)隊(duì)會(huì)做出回應(yīng),從而使產(chǎn)品變得更好。這就是為什么多年來SQL Prompt已成為開發(fā)T-SQL代碼的最佳工具之一的原因。

    本教程內(nèi)容到這里就結(jié)束了,希望文章內(nèi)容對(duì)您有所幫助~您也可以下載SQL Prompt試用版進(jìn)行評(píng)估~

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

    SQL Prompt系列教程>>>


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

    1024致敬程序員,慧都18888元大禮包全場(chǎng)送,活動(dòng)詳情點(diǎn)擊下方圖片

    30a3147b29e3cd4e58f7d0fb83ba1e21.jpg


    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    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); })();