跳到主要內容

MS SQL Store Procedure 簡易教學


前言:

簡單的說Store Procedure 可以讓我們預先寫好一段SQL語法, 等要用的時候再去呼叫他
EXEC    @return_value = [dbo].[GetImgByProject]
這麼做的好處是我們可以讓複雜的query便精簡, 除此之外由於Store Procedure是已經編譯完後且最佳化完後的產物, 所以執行Store Procedure也可以提升query的整體效率
以下是以MS SQL示範如何建立使用Store Procedure

環境: MS SQL

建立Store Procedure





Step 1. 編寫建立語法

起手式

Create Procedure YOURNAME

AS
YOURQUERY

列如:
Create Procedure GetImgByProject
AS

SELECT TOP 1000 [SID]
,[Name]
,[PartNumber]
,[Brand]
,[ProjectName]
,[CreateDatetime]
,[UpdateDatetime]
FROM [DATA.MDF].[dbo].[modelname]
如果需要帶參數進來, 可以在Create Procedure後加入參數名, 型別, 長度

@PARAM   varchar (50) 



列如:
Create Procedure GetImgByProject
@ProjectName varchar (50)
AS

SELECT TOP 1000 [SID]
,[Name]
,[PartNumber]
,[Brand]
,[ProjectName]
,[CreateDatetime]
,[UpdateDatetime]
FROM [DATA.MDF].[dbo].[modelname]
WHERE ProjectName = @ProjectName

Step 2. 執行Execute建立 Store Procedure

 


Step 3. 重新整理看看, 檢查是否出現剛剛建立的Store Procedure

使用Store Procedure


USE [C:\TEST\APP_DATA\BOTDATA.MDF]
GO

DECLARE @return_value int

EXEC    @return_value = [dbo].[GetImgByProject]
        @ProjectName = N'hello_kitty'

SELECT  'Return Value' = @return_value

GO

如何使用Entity Framework跟Store Procedure 打交道

Step 1. 建立Entity framework model




Step 2. 選擇你想要帶入的 Store Procedure

Step 3. 使用Store Procedure
BotDataEntities1 db = new BotDataEntities1();
var query=db.GetImgByProject("hello_kitty").ToList();


留言