使用游标查询的方法SQL2005

来源:互联网 发布:cacti 监控linux流量 编辑:程序博客网 时间:2024/05/17 03:55

使用游标查询的方法SQL2005:


declare   游标名    cursur    for        ---定义游标
select    列名1,列名2,列名3   from   表名   ----定义游标
open   游标名            ------打开游标
declare    参数1 类型 , 参数2  类型   , 参数3  类型  --使用游标
fetch    next    from   游标名   into  参数1 ,  参数2 ,  参数3
while   @@fetch_status=0
begin
 print '.........'
 print '.........'
 print '............'
 print '----------------------'
end
fetch    next    from   游标名   into  参数1 ,  参数2 ,  参数3   ---使用游标
close  游标名     ------关闭游标

deallocate  游标名   ----释放游标


--------------举例:

declare  au_cur    cursor    for      -------------定义游标 没用scroll  for  则默认是 forward_only   for ,forward_only缺省
select  top 3  au_lname,au_fname,address,city  from    authors   
 open     au_cur   -----------------------------------打开游标
declare   @au_lname  varchar(40),@au_fname   varchar(40),@addr   varchar(50),@ct varchar(20)  ---使用游标
fetch next  from   au_cur  into  @au_lname,@au_fname,@addr,@ct
while  @@fetch_status=0  
begin
 print  '作家姓名:'+@au_lname+','+@au_fname    
  print  '地址:'+@addr+' 在 '+@ct+'市'
  print '----------------------'                --------一个print    是一行    与print所在的位置无关    
  fetch next  from   au_cur  into  @au_lname,@au_fname,@addr,@ct
end                    --------------------------------------------------------------------------使用游标                      
close    au_cur               ----------------关闭游标
deallocate    au_cur  --------多写一个fetchnext语句  即可正常显示  ---释放游标  

------结果

作家姓名:White,St
地址:10932 Bigge Rd. 在 Metro市
----------------------
作家姓名:Green,Marjorie
地址:309 63rd St. #411 在 Oakland市
----------------------
作家姓名:Carson,Cheryl
地址:589 Darwin Ln. 在 Berkeley市
----------------------

声明参数部分:

declare   @au_lname  varchar(40),@au_fname   varchar(40),@addr   varchar(50),@ct varchar(20)

也可以放在 declare  au_cur    cursor    for    前面。

--------------------转载请把网址一同复制。




















0 0
原创粉丝点击