程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQLServer2008:助您輕松編寫T-SQL存儲過程

SQLServer2008:助您輕松編寫T-SQL存儲過程

編輯:關於SqlServer

本文主要介紹 SQLServerExpress2008不用第三方工具調試T-SQL語句,經過本文的介紹,用SQLSERVER2008 Manage studio 編寫、調試T-SQL存儲過程都將是一件輕松、快樂的事情。

 

    一、回顧早期的SQLSERVER版本:


        早在SQL2000時代,查詢分析器的功能還很簡陋,遠不如VS那麼強大。到SQL2005時代,代碼高亮、SQL優化等功能逐漸加強,但是依然無法調試SQL語句。好一點的第三方的SQL語法編輯器似乎也不夠完美,這樣導致一些人抱怨存儲過程不便於維護,開發的時候能不用則不用。

 

    二、SQLSERVER2008Express 智能提示加強:


       該功能是SQL2008在SQL2005之後的升級版,我們可以很方便的調用智能提示,和 VS一致:使用快捷鍵ctrl + J 即可。

       截圖如下:

      

 

該功能是否與VS一樣了呢? 畢竟他們都是微軟的產品。

 

   三、調試T-SQL語句:


     1.Debug普通T-SQL語句:

         SQL代碼如下:

1 use northwind
2  go
3
4  declare @i int ,@j int,@k int
5  set @i = 1;
6  set @j = 2;
7  set @k=@i + @j
8 select @i;
9 go

   非常簡單的定義了 三個int 型變量:i、j、k並且對這些變量進行簡單的邏輯運算,在Management Studio 中只要輕松的按F11鍵,即可調試以上代碼塊。

   截圖如下:

    接著點擊F11逐語句debug 或者F10逐過程調試代碼。

    截圖如下:

這個dubug的場面您是否覺得已經和VS相差無幾了呢?

 

    四、支持復雜存儲過程嵌套debug:


     您可能會疑問,在一個龐大的系統中,如果數據庫邏輯絕大部分都是存儲過程實現的情況下,會出現存儲過程嵌套存儲過程或者嵌套存儲函數這樣的代碼。

     SQL2008是否支持調試功能呢?答案是肯定的。

     首先定義一個簡單的存儲過程(本文使用NorthWind數據庫)代碼如下:

 1 CREATE procedure sp_getOrders
2 @orderID int = null
3  as
4  if (@orderID is null )
5 begin
6 print 'null'
7 end
8 else
9 begin
10 print 'correct'
11 end
12 select * from Orders where OrderID = @orderID
13  go

該存儲過程在以下批處理內被調用,代碼如下:

1 declare @i int ,@j int,@k int 
2  set @i = 1;
3  set @j = 2;
4  select @k=@i + @j
5  exec sp_getOrders 10248
6  select @i;
7  go
  

   F11對以上代碼進行SQL Debug。

   截圖如下:

   當斷點經過exec sp_getOrders 10248 這段代碼時,點擊F11進入sp_getOrders存儲過程進行逐語句debug。

   截圖如下:

這樣可以在嵌套的存儲過程或函數內進行debug了,此刻不得不承認: 升級後的SQL2008越來越強大。您還恐懼使用或者調試存儲過程麼?

 

   五、小結:


     附上SQLSERVERExpress2008官方下載地址,該版本還有另外一個好處是自帶了Agent,這樣就可以直接使用Agent進行自動備份數據庫。比在SQLExpress2005中自動備份數據庫更方便,關於SQL2005的自動備份請閱我的這篇文章

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved