[SQL]SQL Prompt5的工具欄按鈕介紹


這是SQL Prompt5的工具欄按鈕

 

Refresh Suggestions       刷新提示(數據庫更改表結構后,需要刷新一下)

 

Format SQL                         格式化代碼(Pro版本才能啟用,可定制,所有前邊帶紅花的,都是Pro版可用,以下不再特意說明),格式化亂糟糟的SQL語句,方便查看

 

Uppercase Keywords       SQL關鍵詞全部轉換為大寫(自定義變量不變)

 

Qualify Object Names      限定對象名稱,比如原來是Selectcln from A,通過此功能,會變成Select A.cln from A,即將列進行完全限定

 

Expand Wildcards             展開通配符,將Select *fromtable 的*展開為具體的列

 

Find Invalid Object            查詢無效對象

 

Find Unused Variables and Parameters           在當前腳本里查找未使用到的參數或者變量,能夠減少參數或者變量冗余

 

Summarize Script              這個類似代碼縮放的功能, 能夠層次清晰的顯示出當前腳本的嵌套關系,你再也不用怕別人一大坨的嵌套的IF-ELSE,WHILE啥的了

 

Script Object  as  ALTER       選中的對象,生成ALTER腳本(只適用於視圖,存儲過程,觸發器,函數),會新打開一個查詢器窗口,並生成該對象的ALTER腳本

 

Smart Rename                            重命名,如果你用過Eclipse或者Myeclipse,而且用過Alt+Shift+R,那么你會跟深刻的理解這個功能,在SQLServer Management Studio左側資源列表里選中對象(表,視圖,以及表或視圖的列,存儲過程,函數,以及其參數),會自動更新其他依賴此對象的依賴關系

 

Encapsulating SQL as a new stored procedure把選中的SQL腳本封裝成一個新的存儲過程

 

Split Table                          分割表,將大表或者什么原因想要把兩個表拆分的,用這個功能還行

 

Options                                選項(設置,SQLPrompt的精髓所在)

 

Disable Code Suggesttions      禁用提示,如果你覺得提示很煩,那么,就關了它吧

 

Snippet Manager              這個是SQLprompt我特別喜歡的一個功能,代碼片段,稍候細講

 

Serial Number                   輸入注冊碼

 

Provide Feedback              反饋建議,意見

 

Help                                      這個,額,不用解釋了吧

 

ExperimentalFeatures    實驗室功能,恩,還可以吧

 

Data Explore                      數據資源管理器

 

1、  Refresh Suggestions

刷新提示(數據庫更改表結構后,需要刷新一下),如果勾選了實驗性功能里的

則每次修改表結構后會自動更新,但是如果數據庫太大,或者機身內存不夠,建議不要勾選,就跟eclipse很多人把自動提示取消,每次用到后選擇alt+/一個道理

快捷鍵:Ctrl+Shift+D

 

2、  Format SQL

a)        設置的格式選項

b)        要設置格式選項,在的SQL提示菜單,選擇“Options“。在SQL提示選項“對話框中,格式化選項都是可用的格式組:

c)        

d)        單擊頁包含格式選項要設置的類型。

e)        講到Options時再細說

 

快捷鍵:Ctrl+K,Ctrl+Y

 

3、  Uppercase Keywords

當前查詢器內的腳本,如果選中部分腳本語句,則值將此部分SQL關鍵字轉化為大寫,否則,當前查詢器腳本的所有關鍵字都將大寫(自定義變量不變)

快捷鍵:Ctrl+B,Ctrl+U

 

4、  Qualify Object Names

將選中部分的變量轉換為全限定名,即

Owner.object

或者

Table.Column

快捷鍵是:Ctrl+B,Ctrl+Q

 

5、  Expanding wildcards

讓他們列出引用的表中存在的所有列

快捷鍵:Ctrl+B,Ctrl+W

 

6、  Find Invoid Objects

a)        查詢庫里所有無效的對象(無法編譯,或者已經編譯完成,但是無法執行)

b)        查詢出結果后,可以進行Alter(可以多選)

c)        可以復制無效對象列表

d)        我想說的是,如果數據庫很大,或者機器性能不行,建議不要使用該功能,特別容易卡死

 

7、  Find Unused Variables and Parameters

           在當前腳本里查找未使用到的參數或者變量,能夠減少參數或者變量冗余

           沒有使用的變量或者參數,用下划線進行標識

          快捷鍵:Ctrl+B,Ctrl+F

 

8、  Summarize Script

           這個類似代碼縮放的功能, 能夠層次清晰的顯示出當前腳本的嵌套關系,你再也不用怕別人一大坨的嵌套的IF-ELSE,WHILE啥的了

           快捷鍵:Ctrl+B,Ctrl+S

 

9、  Script  Object  as  ALTER

選中的對象,生成ALTER腳本(只適用於視圖,存儲過程,觸發器,函數),會新打開一個查詢器窗口,並生成該對象的ALTER腳本

快捷鍵:F12

10、Smart  Rename

         重命名對象,並同時修改依賴此對象的引用,只能在對象資源管理器視圖,選中要修改的對象,選擇Smart  Rename(支持修改,表,視圖,以及表或視圖的列,存儲過程,函數,以及其參數)

        

 

 

 

11、EncapsulatingSQL as a new stored procedure

將選中的代碼封裝成一個存儲過程,很簡單,就不貼圖了

12、Splitting atable

分割表:就是將一個大的表,查分成幾個小表,同過主外鍵關聯進行查詢,具體的沒研究,感興趣的可以自己看看

13、Options 選項

關於sqlPrompt的設置,在博客園看到一篇不錯的文章,就懶得自己整理了,感興趣的自己看看吧

http://www.cnblogs.com/lyhabc/archive/2013/05/02/3055583.html

為了方便上網不方便的朋友,我已經把文章復制下來,貼到另外一個word里了,不過不可避免的錯版了,湊合看吧

14、SnippetManage

最后講一下Snippet Manage—代碼片段

類似Eclipse的快捷鍵,比如,Eclipse里的快捷鍵sysout,生成的代碼就是System.out.println();

 

這里有一些自帶的,比如ssf,生成的代碼就是SELECT * FROM ,如果輸入表明后把光標放在*處,再按一下tab鍵就會把這個表的列展開,比如A表有C1,C2字段, SELECT * FROM A,

在*處按tab,就會變成

 SELECT C1,

                   C2

FROM A                                        

 

快捷鍵Scf生成的是SELCT COUNT(*) FROM

 

快捷鍵ct 生成的是

CREATE TABLE $CURSOR$

(

    -- column_name data_type,...

)

期中在代碼片段里帶有$CURSOR$生成代碼后,光標會跳到$CURSOR$處

類似的占位符有$DATE$ , $TIME$ , $USER$ , $MACHINE$

分別會生成,當前日期2013-09-26星期四($DATE$),當前時間21:51($TIME$),當前用戶AnJia ($USER$),當前機器的計算機名ANJIA-PC($MACHINE$)

比如公司為了降低學習成本,一般對於一些存儲過程有硬性要求,這樣寫出來的存儲過程,視圖,等SQL塊,比較規范,便於新人掌握,理解,所以對於一些,套式的東西,完全可以自定義成快捷鍵,每次直接生成就可以,比如我自己定義的cpa,生成的代碼如下

--**************************************************************************

--版本號Ver1.0 軟件工程事業部\物流倉儲系統模塊\

--編寫目的:

--編寫人:     趙安家                             

--編寫日期: 2013-09-26星期四 21:57

--修改目的:

--最后修改人: 

--最后修改日期:

--**************************************************************************

CREATE PROCEDURE[dbo].[]

    @oper_code    VARCHAR(12),                   -- 操作編碼

    @key_code     VARCHAR(12),                   -- 入庫通知單主鍵

    @Check_Oper       VARCHAR(20),                   -- 審核人

    @Check_Des    VARCHAR(5000),                    --傳入的字符串

    @Check_Msg    VARCHAR(500)OUTPUT                --返回信息

AS

    BEGIN

      

      

      

      

       --公共變量

       DECLARE @int_count                               INT;                       --

       DECLARE @int_i                                   INT;                       --

 

       SET @key_code= REPLACE(@key_code,'''', '');        --獲取主表主鍵

       SET @Check_Des= REPLACE(@Check_Des,'''', '');         --獲取字符串

   

       --開啟事務

       BEGIN TRANTrans;

       SAVE TRANTrana;

 

       --生成主鍵

       --EXEC dbo.BarCode_GetSheetNoProc'081033', '', @str_SOCode OUTPUT,@ErrorMsg = @HintMsg1 OUTPUT;

       --生成單據號

       --EXEC dbo.CreateNewBusinessDocNo'081002', @str_SBusinessDocNo OUT;

       --截取字符串

       --SELECT a FROMdbo.split(@Check_Des,',') WHERE i=1

       -- 錯誤處理

       IF @@error<> 0

           BEGIN

              ROLLBACK TRAN Trana;

              COMMIT TRAN Trans

           END

       ELSE

           BEGIN

              COMMIT TRAN Trans;

           END

    END

---------------------------------------------------------------------------------------------------------------

/* 時調用此存儲過程

 * 存儲過程名:

 * 第一個參數指操作編碼,目前為空

 * 第二個參數指主鍵編碼,如'10001'

 * 第三個參數指審核人工號,如管理員審核,其工號為'101'

 * 第四個參數指備注,傳參

 * 第五個參數指返回信息,前台接收的提示信息

 */

/*

EXEC  @oper_code = '', @key_code = '10010',  @Check_Oper = '101', @Check_Des = '',@Check_Msg = ''

插入操作的時候,@Check_Des為空

EXEC  '', '10010', '101', '',  '';

 

EXEC  '', '10010', '101', '',  '';

*/

 

比如自定義ds,代碼如下

 

DECLARE @str_光標在此                VARCHAR(12);--注釋

 

比如自定義的while 代碼如下

WHILE (@int_i<=@int_count)

BEGIN

    SELECT @int_i=@int_i+1,FROM 光標在此 WHERE id=@int_i;

   

END

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM