create or replace procedure proc_a(name in varchar2,id out varchar2)
is
tempid varchar2(200);--创建了三个不同的变量
tempname varchar2(200);
tempdatetime varchar2(200);
begin
Declare cursor myCursor is select ID,name,datetime from G_station;--这里查询取了三个字段
begin
open myCursor;--打开游标
loop
fetch myCursor into tempid,tempname,tempdatetime;--这里就可以into到三个不同的变量里面
exit when myCursor%notfound;
--.............
end loop;
close myCursor; --游标很占内存,用完记得及时关闭
end;
end;
--总结下: 先是声明游标 -> Declare cursor 游标名 is 查询的SQL语句;(如:select 字段名a,字段名b from 表名)
-- -> begin
-- 打开游标 -> open 游标名;
-- -> loop
-- 操作游标-> fetch 游标名 into 变量名a,变量名b; (这里的变量个数对应第一步查询中的字段个数)
-- 排除游标无数据-> exit when 游标名%notfound; (这里的 游标名和 %notfound 是连起来写的)
-- -> --这个里面就是你想要利用游标干的事情了
-- -> end loop;
-- 游标数据操作完后关闭-> close 游标名;
-- -> end;
Oracle中游标的创建和使用
最新推荐文章于 2023-05-28 21:36:51 发布