溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL Server 2005中怎么創建存儲過程

發布時間:2021-08-05 14:57:17 來源:億速云 閱讀:173 作者:Leah 欄目:數據庫

本篇文章給大家分享的是有關SQL Server 2005中怎么創建存儲過程,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

。一、首先說明如何創建存儲過程:

CREATE PROCEDUER my_pro @inputDate varchar ,//聲明輸入變量 @Result varchar(255) output //聲明輸出變量 AS declare @variable1 varchar(255)//聲明varchar變量 declare @variable2 int //聲明整形變量 BEGIN IF ...(條件) BEGIN ....(執行內容) END ELSE BEGIN ....(執行內容) END END 以上就是創建一個簡單的存儲過程方法。

二、刪除存儲過程 

DROP PROCEDURE my_pro

三、執行存儲過程

(1)執行沒有參數的存儲過程:EXECUTE my_pro (2)執行有參數的存儲過程:EXECUTE my_pro '輸入變量' (1)執行有參數且有返回值(即有輸出變量)的存儲過程:declare @Result varchar(1024)//聲明輸出變量 EXECUTE my_pro '輸入變量' @Result output //讓該存儲過程輸出值保存到@Result中 select @Result as result//查詢結果返回

四、例子下面需要將查詢多條記錄結果,使用一條返回值進行返回。

例如:有表Test中,其中有兩個字段為Test01與Test02,把Test01 > 10000的記錄,讓查詢Test02結果進行合并,合并成一條記錄來返回。則返回結果為:WSXEDCRFVTGB. Test01 Test02 10000 QAZ 10001 WSX 10002 EDC 10003 RFV 10004 TGB 那么,使用存儲過程,使用存儲過程中的游標,可以進行for循環來進行多條記錄的合并。將可以解決這個問題。

具體存儲過程如下: 

DROP PORCEDURE my_Cursor //習慣性,創建之前,先看看該存儲過程是否存在 CREATE PROCEDURE my_Cursor @id int ,//聲明輸入變量@Result varchar(255) output //聲明輸出變量,注意一定要有output關鍵字,否則默認為輸入變量 AS Declare city_cursor cursor for –聲明游標變量 Select [Test01] from Test where Test01 > @id –其中@id為輸入變量 Set @Result = ‘' –設置變量@Result值 Declare @Field int–聲明臨時存放查詢到的Test01的變量 Open city_cursor–打開游標 Fetch next from city_cursor into @Field –將實際Test01賦給變量,進行循環 While(@@fetch_status=0)–循環開始 BEGIN If @Result = ‘' BEGIN Select @Result = Test02 from Test where Test01 = @Field END ELSE BEGIN Select @Result = @Result + ‘,' + Test02 from Test where Test01 = @Field END Fetch next from city_cursor into @Field –循環下一個Test01 END Close city_cursor–關閉游標 Deallocate city_cursor –釋放游標引用 GO (結束) 以下是執行 Declare @Result varchar(1024) EXECUTE my_pro 10000 ,@Result output –output關鍵字一定得寫,如果是多個輸入參數,則使用“,”號來區分 Select @Result as result –查詢結果

以上就是SQL Server 2005中怎么創建存儲過程,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女