實例學習mssql存儲過程分析
發(fā)布日期:2022-02-03 11:33 | 文章來源:源碼中國
我們知道在sql中,我們查詢一個表,可以通過select*fromstudent進行查詢,那在存儲過程中該怎么寫呢?
解:
首先我們打開查詢分析器,(以下舉的例子中的存儲過程都用查詢管理器來創(chuàng)建);
然后我們先來創(chuàng)建一個存儲過程以備等會使用,(就好像在編程中我們先來編一個函數一樣):
createprocedureproc_stu
as
select*fromstudent
go
這樣一個存儲過程就創(chuàng)建好了,現(xiàn)在我們來執(zhí)行一下
我們可以在查詢分析器中輸入:executeproc_stu 便可以看到效果
分析一下上面的例子,proc_stu為存儲過程名,select*fromstudent很顯然就是SQL語句了,執(zhí)行的時候我們只需要execute(執(zhí)行)存儲過程名,就可以了.其中,procedure和execute可以分別縮寫為proc和exec 以上演示了一個很簡單的存儲過程.下面我們來看一下帶參數的存儲過程
例2.查詢student表中sno(學號)為's1'的記錄
createprocproc_stu
@ssnovarchar(10)
as
select*fromstudentwheresno=@ssno
go
這樣一個帶參數的存儲過程就OK了,"@變量名"是sql中用來表示用戶自定義的參數的方法,有些朋友可能還看到過"@@變量名",這個是系統(tǒng)自帶的.也就是說這個變量名是系統(tǒng)定義的,不能隨便亂改.這樣分析后,相信大家應該看得懂了吧.
執(zhí)行帶參數的存儲過程,需要使用如下語句:execproc_stus1也可以不寫參數,不過這樣的話,必須首先在創(chuàng)建存儲過程中加參數賦值,可以賦Null,否則,系統(tǒng)會報錯. 最后我們來講一下如何利用存儲過程返回一個值:
例3.返回student表中學生數
方法一:(使用外部變量output)
createprocproc_stu
@numintoutput--注明是外部變量
as
select@num=count(*)fromstudent
go
現(xiàn)在我們來執(zhí)行下:
要使用外部變量,我們先要進行聲明:declare @return我們用這個變量來接收存儲過程中的外部變量
executeproc_stu,@num=@returnoutput
這樣我們便得到了這個返回值,現(xiàn)在我們通過如下賦值語句來顯示這個返回值
select'return'=@return 方法二(使用return):
注:return只能返回整形數據
createprocproc_stu
@numint
as
select@num=count(*)fromstudent
return@num
go
我們來執(zhí)行下:
declare@return
exec@return=proc_stu
select'return'=@return
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網站,禁止在非maisonbaluchon.cn所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網友推薦、互聯(lián)網收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。
相關文章
關注官方微信