首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

oracle 游标是咋回事,有木有一个小例子

2013-06-19 
oracle 游标是怎么回事,有木有一个小例子啊oracle 游标是怎么回事,有木有一个小例子啊[解决办法]-- 声明游

oracle 游标是怎么回事,有木有一个小例子啊
oracle 游标是怎么回事,有木有一个小例子啊
[解决办法]
-- 声明游标;CURSOR cursor_name IS select_statement

--For 循环游标
--(1)定义游标
--(2)定义游标变量
--(3)使用for循环来使用这个游标
declare
       --类型定义
       cursor c_job
       is
       select empno,ename,job,sal
       from emp
       where job='MANAGER';
       --定义一个游标变量v_cinfo c_emp%ROWTYPE ,该类型为游标c_emp中的一行数据类型
       c_row c_job%rowtype;
begin
       for c_row in c_job loop
         dbms_output.put_line(c_row.empno
[解决办法]
'-'
[解决办法]
c_row.ename
[解决办法]
'-'
[解决办法]
c_row.job
[解决办法]
'-'
[解决办法]
c_row.sal);
       end loop;
end;


      
--Fetch游标
--使用的时候必须要明确的打开和关闭

declare 
       --类型定义
       cursor c_job
       is
       select empno,ename,job,sal
       from emp
       where job='MANAGER';
       --定义一个游标变量
       c_row c_job%rowtype;
begin
       open c_job;
         loop
           --提取一行数据到c_row
           fetch c_job into c_row;
           --判读是否提取到值,没取到值就退出
           --取到值c_job%notfound 是false 
           --取不到值c_job%notfound 是true
           exit when c_job%notfound;
            dbms_output.put_line(c_row.empno
[解决办法]
'-'
[解决办法]
c_row.ename
[解决办法]
'-'
------解决方案--------------------


c_row.job
[解决办法]
'-'
[解决办法]
c_row.sal);
         end loop;
       --关闭游标
      close c_job;
end;

[解决办法]
游标你可以理解为一个数据集。跟java的list差不多。把一组数据放入游标中:
  cursor curr_list is
    select TSK_CD_ID, MDL_BUKT_ID, CTLG_BUKT_ID, expndtr_ctgry_id, tran_id,MGMT_ENTY_ID
      from cnfm.cnfm_tran_ln_dtl
     where MGMT_ENTY_ID in
           (select MGMT_ENTY_ID
              from cnfm.cnfm_mgmt_enty
             where model_id = model_id
               and Gl_Qtr_Desc in (qtr_desc));

热点排行
Bad Request.