SQL Server 2005数据库游标调用函数的使用是本文我们主要要介绍的内容,本文我们通过一个具体的实例来介绍这一过程,接下来我们就开始介绍。
10年积累的成都做网站、成都网站设计、成都外贸网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有孟津免费网站建设让你可以放心的选择与我们合作。
1、建立基表
- create table planwork
- (
- planid int,
- empid int
- )
- insert into planwork values (1,100)
- insert into planwork values (2,200)
- insert into planwork values (3,300)
- insert into planwork values (4,400)
- insert into planwork values (5,500)
- insert into planwork values (6,600)
- insert into planwork values (7,700)
- insert into planwork values (8,800)
- select * fom planwork
2、建立函数
- drop function findworkplan
- create function findworkplan(@num int)
- returns int
- as
- begin
- declare @eid int
- set @eid=(select empid from planwork where planid=@num)
- return @eid;
- end;
3、测试函数
- select dbo.findworkplan(3)
4、利用游标调用函数
4.1、创建一个表,利用这个表里面的数值得到workplan表里面对应的empno
- create table xb_test1
- (
- xid int
- )
- insert into xb_test1 values (1)
- insert into xb_test1 values (2)
- insert into xb_test1 values (3)
- insert into xb_test1 values (4)
- insert into xb_test1 values (5)
- insert into xb_test1 values (6)
- insert into xb_test1 values (7)
- insert into xb_test1 values (8)
- 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 语句。
- declare empno_cursor cursor
- for
- select xid from xb_test1
- open empno_cursor
- declare
- @a int,
- @result int
- fetch next from empno_cursor into @a
- while (@@fetch_status <> -1)
- begin
- if (@@fetch_status <> -2)
- begin
- --print @a
- set @result=(select dbo.findworkplan(@a))
- print @result
- end
- fetch next from empno_cursor into @a
- end
- close empno_cursor
- deallocate empno_cursor
关于SQL Server 2005数据库游标调用函数的使用就介绍到这里了,希望本次的介绍能够对您有所收获!
【编辑推荐】
标题名称:SQLServer2005数据库游标调用函数实例解析
标题链接:http://www.csdahua.cn/qtweb/news35/506735.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网