自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL Server 2005數(shù)據(jù)庫游標(biāo)調(diào)用函數(shù)實例解析

數(shù)據(jù)庫 SQL Server
本文我們主要介紹了SQL Server 2005數(shù)據(jù)庫中游標(biāo)調(diào)用函數(shù)的使用實例,通過這個實例,讓我們一起來了解一下游標(biāo)調(diào)用函數(shù)的使用吧,希望能夠?qū)δ兴鶐椭?/div>

SQL Server 2005數(shù)據(jù)庫游標(biāo)調(diào)用函數(shù)的使用是本文我們主要要介紹的內(nèi)容,本文我們通過一個具體的實例來介紹這一過程,接下來我們就開始介紹。

1、建立基表

  1. create table planwork  
  2. (  
  3.   planid int,  
  4.   empid int  
  5. )  
  6. insert into planwork values (1,100)  
  7. insert into planwork values (2,200)  
  8. insert into planwork values (3,300)  
  9. insert into planwork values (4,400)  
  10. insert into planwork values (5,500)  
  11. insert into planwork values (6,600)  
  12. insert into planwork values (7,700)  
  13. insert into planwork values (8,800)  
  14. select * fom planwork 

 

2、建立函數(shù)

  1. drop function findworkplan  
  2. create  function findworkplan(@num int)  
  3. returns int   
  4. as   
  5. begin   
  6.   declare @eid int  
  7.   set @eid=(select empid from planwork where planid=@num)  
  8.   return @eid;  
  9. end; 

 

3、測試函數(shù)

  1. select dbo.findworkplan(3) 

 

4、利用游標(biāo)調(diào)用函數(shù)

4.1、創(chuàng)建一個表,利用這個表里面的數(shù)值得到workplan表里面對應(yīng)的empno

  1. create table xb_test1  
  2. (  
  3.   xid int  
  4. )  
  5. insert into xb_test1 values (1)  
  6. insert into xb_test1 values (2)  
  7. insert into xb_test1 values (3)  
  8. insert into xb_test1 values (4)  
  9. insert into xb_test1 values (5)  
  10. insert into xb_test1 values (6)  
  11. insert into xb_test1 values (7)  
  12. insert into xb_test1 values (8)  
  13. select * from xb_test1 

 

4.2、只能用循環(huán)遍歷xb_test1表 分別找出對應(yīng)表workplan的empno,考慮到需遍歷整個xb_test1表, 所以決定用游標(biāo),不知道用oracle的with函數(shù)怎么樣?該 WHILE 結(jié)構(gòu)測試用于游標(biāo)的函數(shù) @@FETCH_STATUS 的返回值。因為 @@FETCH_STATUS 可能返回 –2、-1 或 0,所以,所有的情況都應(yīng)進行測試。如果某一行在開始執(zhí)行此存儲過程以后從游標(biāo)結(jié)果中刪除,將跳過該行。成功提取 (0) 后將執(zhí)行 BEGIN...END 循環(huán)內(nèi)部的 SELECT 語句。

  1. declare empno_cursor cursor  
  2. for  
  3.   select xid from xb_test1  
  4. open empno_cursor  
  5. declare    
  6.   @a int,  
  7.   @result int   
  8.   fetch next from empno_cursor into @a  
  9.   while (@@fetch_status <> -1)   
  10.   begin   
  11.      if (@@fetch_status <> -2)   
  12.      begin      
  13.        --print @a  
  14.        set @result=(select dbo.findworkplan(@a))  
  15.        print @result  
  16.      end  
  17.      fetch next from empno_cursor into @a   
  18.   end  
  19. close empno_cursor  
  20. deallocate empno_cursor 

 

 

關(guān)于SQL Server 2005數(shù)據(jù)庫游標(biāo)調(diào)用函數(shù)的使用就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!

【編輯推薦】

  1. SQL Server 2008 MDX應(yīng)用之組裝有序集合
  2. SQL Server 2008中的代碼安全之主密鑰詳解
  3. SQL Server 2008 MDX應(yīng)用之檢索集合中的元組
  4. SQL Server 2005/2008中的CTE應(yīng)用之遞歸查詢
  5. 淺析SQL Server數(shù)據(jù)庫SSIS導(dǎo)入IIS日志的簡單步驟
責(zé)任編輯:趙鵬 來源: 博客園
相關(guān)推薦

2011-08-22 09:55:30

SQL Server 排序

2010-07-16 14:17:18

SQL Server

2011-08-25 13:10:44

SQL Server 設(shè)置自動編號字段

2011-08-18 10:36:24

SQL ServerISNULL函數(shù)

2011-08-18 18:03:32

手動卸載SQL Ser

2010-07-20 10:02:41

SQL Server

2011-03-28 15:28:03

SQL Server 數(shù)據(jù)庫

2011-08-11 09:12:31

SQL Server nolock

2009-04-30 09:56:29

微軟SQL Server 緩存依賴

2010-06-30 13:19:17

SQL Server

2010-07-22 14:46:41

SQL Server

2010-07-08 15:26:05

SQL Server

2010-07-12 12:41:16

SQL Server

2011-09-07 15:11:31

SQL Server同步

2010-06-28 11:00:46

SQL Server

2010-07-13 17:25:55

SQL Server

2011-03-28 14:16:31

SQL Server 數(shù)據(jù)庫

2010-10-21 14:12:07

SQL Server游

2011-08-04 15:20:52

SQL Server數(shù)據(jù)庫鏡像

2010-07-02 10:47:20

SQL Server
點贊
收藏

51CTO技術(shù)棧公眾號