本篇文章給大家分享的是有關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中怎么創建存儲過程,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。