您好,登錄后才能下訂單哦!
這篇文章主要講解了“SQLServer2005數據庫游標調用函數的使用方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“SQLServer2005數據庫游標調用函數的使用方法”吧!
1、建立基表
createtableplanwork(planidint,empidint)insertintoplanworkvalues(1,100)insertintoplanworkvalues(2,200)insertintoplanworkvalues(3,300)insertintoplanworkvalues(4,400)insertintoplanworkvalues(5,500)insertintoplanworkvalues(6,600)insertintoplanworkvalues(7,700)insertintoplanworkvalues(8,800)select*fomplanwork
2、建立函數
dropfunctionfindworkplancreatefunctionfindworkplan(@numint)returnsintasbegindeclare@eidintset@eid=(selectempidfromplanworkwhereplanid=@num)return@eid;end;
3、測試函數
selectdbo.findworkplan(3)
SQLServer2005數據庫游標調用函數怎么使用
4、利用游標調用函數
4.1、創建一個表,利用這個表里面的數值得到workplan表里面對應的empno
createtablexb_test1(xidint)insertintoxb_test1values(1)insertintoxb_test1values(2)insertintoxb_test1values(3)insertintoxb_test1values(4)insertintoxb_test1values(5)insertintoxb_test1values(6)insertintoxb_test1values(7)insertintoxb_test1values(8)select*fromxb_test1
4.2、只能用循環遍歷xb_test1表分別找出對應表workplan的empno,考慮到需遍歷整個xb_test1表,所以決定用游標,不知道用oracle的with函數怎么樣?該WHILE結構測試用于游標的函數@@FETCH_STATUS的返回值。因為@@FETCH_STATUS可能返回–2、-1或0,所以,所有的情況都應進行測試。假如某一行在開始執行此存儲過程以后從游標結果中刪除,將跳過該行。成功提取(0)后將執行BEGIN...END循環內部的SELECT語句。
declareempno_cursorcursorforselectxidfromxb_test1openempno_cursordeclare@aint,@resultintfetchnextfromempno_cursorinto@awhile(@@fetch_status<>-1)beginif(@@fetch_status<>-2)begin--print@aset@result=(selectdbo.findworkplan(@a))print@resultendfetchnextfromempno_cursorinto@aendcloseempno_cursordeallocateempno_cursor。
感謝各位的閱讀,以上就是“SQLServer2005數據庫游標調用函數的使用方法”的內容了,經過本文的學習后,相信大家對SQLServer2005數據庫游標調用函數的使用方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。