大家好,小晋来为大家解答以上问题。oracle的游标的属性,Oracle的游标很多人还不知道,现在让我们一起来看看吧!
1、 Oracle中的游标不同于Java中的迭代器。作为迭代器,它在开头指向第一个元素之前,遍历之后,指向最后一个元素之后。光标打开后,指向第一行记录;
2、 声明
3、 -
4、 1声明游标;
5、 cursorccisselectename,salfromemp
6、 nameemp.ename % type
7、 salary em p . sal % type;
8、 开始
9、 -
10、 2打开光标;
11、 opencc
12、 -
13、 3使用光标;
14、 fetchccintoname,工资;
15、 show('name:'||name|| ',salary : ' | | salary);
16、 -
17、 4关闭光标;
18、 closecc
19、 结束;
20、 /
21、 光标的属性;
22、 找到1个光标%;存在记录;
23、 2找不到光标%;没有记录;
24、 3游标% rowcount当前遍历的是哪一行?
25、 4cursor % isopen是否开放;
26、 遍历;
27、 声明
28、 -
29、 1声明游标;
30、 cursorccisselectename,salfromemp
31、 nameemp.ename % type
32、 salary em p . sal % type;
33、 开始
34、 -
35、 2打开光标;
36、 opencc
37、 -
38、 3使用光标;
39、 环
40、 exitwhencc %未找到;
41、 fetchccintoname,工资;
42、 show(' | | cc % rowcount);
43、 show('name:'||name|| ',salary : ' | | salary);
44、 结束循环;
45、 -
46、 4关闭光标;
47、 closecc
48、 结束;
49、 /
50、 另一种方法是使用游标遍历表,使用for循环。使用for遍历时,不需要显式打开和关闭游标;在这种情况下,我们把光标看作一个“数组或集合”,用一个光标变量作为“元素”来执行;
51、 声明
52、 -声明光标;
53、 cursorccisselectename,salfromemp
54、 开始
55、 forcinccloop
56、 show('ename:'||c.ename|| ',sal : ' | | c . sal);
57、 结束循环;
58、 结束;
59、 /
60、 使用for循环用游标遍历表时,游标作为一个集合使用,而循环中的临时变量作为每行的记录使用;
61、 声明
62、 -声明光标;
63、 cursorccisselect * fromemp
64、 开始
65、 forcinccloop
66、 show(' | | c . hiredate | | ',' ||c.deptno|| ',' | | c . sal);
67、 结束循环;
68、 结束;
69、 /
本文到此结束,希望对大家有所帮助。
标签:
免责声明:本文由用户上传,如有侵权请联系删除!