welcome to my blog!我每天都会纪录我学习的点点滴滴,也希望各位前辈多指教.

自己写的一个游标使用的例子

上一篇 / 下一篇  2007-09-19 14:45:09 / 个人分类:study

J8^$O9CB z@0下面的例子包括了创建.使用.关闭.释放一个游标的完整过程。顺便把创建表的过程和插入数据也描述了一下。51Testing软件测试网"sXY j M7v}x7V

51Testing软件测试网7] k8W]R)i

---创建表51Testing软件测试网:C_ ]pAn.V'`%p
create table test
6~t hwU1a/M(n"H0(
Vln6sK L0 name char(30),51Testing软件测试网_(I}H#Hc
 age char(40),
IK"D7BQ0 subject char(20),51Testing软件测试网1E e9y!G8f])L.j]
 id numeric(10)
rn {hWt}U(V5Eb0)
HS ZRr E V(m5}&]0 --插入数据
8d nnB^ v7\0 insert into test values ('hehe','haha','hh',4)
OP0t9N&D k Vq0 ---定义变量
2i0Rz?K$G0declare @name char(30)
@ O}/FY(l}0declare @age char(40)
DJY8z(qg0declare @subject char(20)
:d2tVuo U0declare @id numeric
EGMhv0----创建游标
;xOMezm5@0declare himm1 cursor51Testing软件测试网n r pT d+g#k
for select [name],age,subject,id from  test51Testing软件测试网w ~B(n`z1m
---打开游标51Testing软件测试网}1H.|0[#['{.uw
open himm151Testing软件测试网 r/?.sr i4v2@/gy d
--- 使用游标进行翻阅
JO[3D6g*[6]Z!^0fetch himm1 into @name, @age, @subject, @id51Testing软件测试网?.zqLz4@oi9iW#w
--注意@@FETCH_STATUS是SQL SERVER里面的变量和ORACLE的@@sqlstatus有区别。
{ Krx(tM#u8l |8w0while (@@FETCH_STATUS = 0) 
%Q XV8F.b~0begin
([`_ Z'`0---打印51Testing软件测试网#b@!eH;]
print @name
c3T[hp2W"RA0print @age
m*T)mve sp`0print @subject
5W3e?.lb"QY a0print @id51Testing软件测试网&sX-rAD~^
fetch himm1 into @name, @age, @subject, @id
ZtB4y(Bc0end51Testing软件测试网 mT bi{3gVC
----关闭游标(关闭游标结果集,而不是它的全部内容)51Testing软件测试网#R;Xk6o })j1Ri
close  himm151Testing软件测试网9[e'sQ:cb.k
---关闭游标(释放游标所占用的内存,并且可以让游标的名字可以被再次使用)
W)D:ZDu-H(c\9yB)T0deallocate himm151Testing软件测试网C3C3{]Vl
 * 注意在SQL SERVER和ORACLE的里面函数和数据类型的区别。51Testing软件测试网[q'g-bu]N+i(~


TAG: study

引用 删除 zlghitler   /   2007-09-19 15:28:11
嘿嘿,这么牛的人啊!什么时候能给我讲讲啊!
引用 删除 zlghitler   /   2007-09-19 15:27:31
你太有才了啊!
 

评分:0

我来说两句

我的栏目

日历

« 2023-12-27  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 60754
  • 日志数: 76
  • 图片数: 1
  • 建立时间: 2007-03-07
  • 更新时间: 2008-05-31

RSS订阅

Open Toolbar