[SQL Server] 在SQL Server上撰寫預存程序使用

使用SQL Server Express 2008 R2來處理,尋找了許多資料,終於讓我如願以償的用了預存程序的方式來執行命令啦!
太美妙了! 之前使用Access都是直接使用動態SQL下參數的說。
之前一直不知道CommandType的StoreProcedure到底是什麼,這次終於使用到啦!

--------------------下面的動作是在創建資料表--------------------

1. 安裝好SQL Server Express 2008 R2. (我自己是安裝with Tools的版本)
    - 資料庫大小限制增大到10GB唷

2. 到開始底下尋找SQL Server Management Studio的選項點入。

image

3. 輸入驗證的帳號密碼之後,就進入SQL Server囉!
    - 若是在本機端進入,可使用Windows驗證的方式並輸入".\SQLEXPRESS"就可以囉!
    - "."代表本機的意思,SQLEXPRESS指的是你剛剛安裝這個SQL Server的執行個體名稱,會依照你的設定而改變喔。

4. 要創建一個資料庫來對他做新增、刪除、修改的命令所以要先新增一個資料庫。
    - 在執行個體下點選"資料庫"或"Database"按右鍵去新增資料庫。

image

5. 填入資料庫名稱之後,若沒別的設定,就直接給他OK下去囉!

6. 資料庫是用來裝很多資料表的,所以接下來的動作就是點選剛剛新增的資料庫底下的資料表,再按右鍵新增資料表囉。
    - 之後依照自己需要來填入欄位名稱、欄位屬性等等設定

    (CustomerName varchar(50), CustomerID int, JoinDate date)
image

--------------------上面的動作是在創建資料表--------------------
--------------------下面的動作是在資料庫內、跑預存程序--------------------

7.  我們要寫的預存程序是針對資料庫去寫的,所以在指定資料庫下的"可程式性" –> "預存程序" 按下右鍵新增預存程序。
    - 會出現.sql副檔名的檔案,使用CREATE PROCEDURE將會創建出一個我們可使用的預存程序喔
    - ALTER PROCEDURE是用來修改預存程序內容的
image
   
8. 來寫個簡單的新增資料的預存程序吧!
   1: CREATE PROCEDURE sp_Test01_Add
   2:     -- Add the parameters for the stored procedure here
   3:     (@CustomerName varchar(50), @CustomerID int, @JoinDate date)
   4: AS
   5: BEGIN
   6:     -- SET NOCOUNT ON added to prevent extra result sets from
   7:     -- interfering with SELECT statements.
   8:     
   9:     -- Insert statements for procedure here
  10:     INSERT INTO TEST01 (CustomerName, CustomerID, JoinDate) 
  11:     VALUES (@CustomerName, @CustomerID, @JoinDate)
  12: END
  13: GO

9. 寫好之後按右鍵來個執行吧!
    - 成功就會顯示"命令已順利完成"
    - 反之出現error就要再去修改你的程序

image

10. 完成後可以利用"New Query"或"新增查詢"去測試一下我們剛剛寫好的預存程序!

   1: EXEC sp_Test01_Add 'CherryWang', 1, '2011-08-26'

11. 若失敗會顯示紅色的警示訊息,反之則會出現成功或有幾個資訊受到變動的訊息。

image
--------------------上面的動作是在資料庫內寫、跑預存程序--------------------

以上,語法上還需要再加強,目前只會比較基本的語法。加油!

這個網誌中的熱門文章

[Tips] 設定桌面文字顏色

登入失敗: 使用者帳戶限制。可能原因為不允許空的密碼,登入時數限制,或強制的原則限制

[Win7] 電腦管理-損毀傾印