SQL Server儲存過程入門案例詳解

2021-04-28 07:16:12 字數 1178 閱讀 6472

問題提出我使用過幾次sql server,但所有與資料庫的互動都是通過應用程式的編碼來實現的。我不知到在**使用儲存過程,也不了解實現儲存過程需要做哪些工作。希望能詳細說明。

儲存過程是儲存於資料庫中的一組t-sql語句。有了儲存過程之後,與資料庫的互動就沒有必要在程式中寫一堆的sql語句,而只需用一條語句呼叫適當的儲存過程來完成就可以了。另外,由於**是儲存在資料庫中,我們也可以在不同的應用程式或查詢視窗中不斷的重複利用那些**。下面將講述一些簡單的例子,它們將說明如何構造和使用儲存過程。

下面的例子將簡單的說明如何建立儲存過程。以下所有例子均使用adventureworks資料庫。其它的資料庫和應用程式可以依此類推。

例 1 – 簡單的儲存過程 中國網管聯盟www.bitscn.com

這個簡單的儲存過程將實現如下功能:從person.contact表中取出第一條記錄。

create procedure uspgetcontact

as select top 1 contactid, firstname, lastname

from person.contact

建立完上面的語句後,使用下面的命令可以執行該儲存過程。

exec uspgetcontact

查詢的結果如下:

例 2 – 帶引數的儲存過程

這個例子在上個例子的基礎上做了一點修改:傳入了乙個引數,根據傳入的引數來查詢相應的記錄。為了更好地利用上面的例子,這次我們就不用重新再建立乙個儲存過程了,而是使用alter procedure(注意:不是create procedure)來修改例1中已經建立好的儲存過程。**如下: 中國網管論壇bbs.bitscn.com

alter procedure uspgetcontact @lastname nvarchar(50)

as select top 1 contactid, firstname, lastname

from person.contact

where lastname = @lastname

下面顯示了執行儲存過程的2種不同方法。第一種方法僅僅傳入了我們想要的引數值。而第二種方法包含了引數名和引數值。任意一種方法都可以執行該例中的儲存過程。

exec uspgetcontact 'alberts'

exec uspgetcontact @lastname='alberts'

SQL Server儲存過程入門學習

儲存過程的定義,儲存過程 stored procedure 是一組為了完成特定功能的sql 語句,集經編譯後儲存在資料庫中,使用者通過指定儲存過程的名字並給出引數,如果該儲存過程帶有引數來執行。在sql server 的系列版本中,儲存過程分為兩類 系統提供的儲存過程和使用者自定義儲存過程。系統sp...

SQLSERVER儲存過程入門與提高

什麼是儲存過程呢?定義 將常用的或很複雜的工作,預先用sql語句寫好並用乙個指定的名稱儲存起來,那麼以後要叫資料庫提供與已定義好的儲存過程的功能相同的服務時,只需呼叫execute,即可自動完成命令。講到這裡,可能有人要問 這麼說儲存過程就是一堆sql語句而已啊?microsoft公司為什麼還要新增...

SQLSERVER儲存過程入門與提高

什麼是儲存過程呢?定義 將常用的或很複雜的工作,預先用sql語句寫好並用乙個指定的名稱儲存起來,那麼以後要叫資料庫提供與已定義好的儲存過程的功能相同的服務時,只需呼叫execute,即可自動完成命令。講到這裡,可能有人要問 這麼說儲存過程就是一堆sql語句而已啊?microsoft公司為什麼還要新增...