游标有什么用,如何使用在oracle中?

解决方案 »

  1.   

    在存储过程或者函数中
    select 语句要求是格式如下
    select 字段 into 变量 from 表名
    要求select 结果只能有一条而有时候需要对一个select 结果集进行的一定的操作
    就需要用游标
    cursor 游标名
    is 
    seletc 字段1,字段2  from 表名begin
        open 游标名;
          loop
         FETCH 游标名 into 变量1,变量2//(此处根据select的字段数赋值给相等数量的变量)
              EXIT WHEN 游标名%NOTFOUND;
             //此处对这些数据做相应的操作
         end loop;
        close 游标名;
    end;
      

  2.   

    hebo2005说的没错,游标用处挺大的
      

  3.   

    --这个例子是显示游标的用法
    set serveroutput ondeclare
    emp_sal_cur emp.sal%type;   --定义一个游标变量
    cursor emp_sor is select sal from emp where sal<2000;  --定义游标
    begin
       open emp_sor; --打开游标
       
       loop  --进入循环体
       fetch emp_sor into emp_sal_cur;  --赋值
       exit when emp_sor%notfound; --如果找不到游标就不循环了
       dbms_output.put_line(emp_sor%rowcount||'.工资:'||emp_sal_cur); --打出游标的目录
       end loop;
       
       close emp_sor;--关闭游标
     
    end;
    有时候需要对一个select 结果集进行的一定的操作  
    就需要用游标 提高查询速度
      

  4.   

    隐式游标的用法
    cursor emp_sor is select sal from emp where sal <2000;  --定义游标
    for a in emp_sor  loop--打开游标
        XXX := a.sal --赋值 
    end loop;
      

  5.   

    我经常看见hello2005回答,相信他没错的
      

  6.   

    简单说,cursor 就是记录集的行指针,用来遍历记录集。