SQLServer2005数据库游标调用函数实例解析

SQL Server 2005数据库游标调用函数的使用是本文我们主要要介绍的内容,本文我们通过一个具体的实例来介绍这一过程,接下来我们就开始介绍。

10年积累的成都做网站、成都网站设计、成都外贸网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有孟津免费网站建设让你可以放心的选择与我们合作。

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、建立函数

 
 
 
  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、测试函数

 
 
 
  1. select dbo.findworkplan(3) 

 

4、利用游标调用函数

4.1、创建一个表,利用这个表里面的数值得到workplan表里面对应的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、只能用循环遍历xb_test1表 分别找出对应表workplan的empno,考虑到需遍历整个xb_test1表, 所以决定用游标,不知道用oracle的with函数怎么样?该 WHILE 结构测试用于游标的函数 @@FETCH_STATUS 的返回值。因为 @@FETCH_STATUS 可能返回 –2、-1 或 0,所以,所有的情况都应进行测试。如果某一行在开始执行此存储过程以后从游标结果中删除,将跳过该行。成功提取 (0) 后将执行 BEGIN...END 循环内部的 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 

 

 

关于SQL Server 2005数据库游标调用函数的使用就介绍到这里了,希望本次的介绍能够对您有所收获!

【编辑推荐】

  1. SQL Server 2008 MDX应用之组装有序集合
  2. SQL Server 2008中的代码安全之主密钥详解
  3. SQL Server 2008 MDX应用之检索集合中的元组
  4. SQL Server 2005/2008中的CTE应用之递归查询
  5. 浅析SQL Server数据库SSIS导入IIS日志的简单步骤

标题名称:SQLServer2005数据库游标调用函数实例解析
标题链接:http://www.csdahua.cn/qtweb/news35/506735.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网