oracle cursor 问题

declarecursorcisselect*fromemp;v_empc%rowtype;beginopenc;loopfecthcintov_emp;exit_whe... declare cursor c is select * from emp; v_emp c%rowtype;begin open c; loop fecth c into v_emp; exit_when(c%notfound) dbms_outout.put_line(v_emo.ename); end loop; close c;end;

/
展开
 我来答
sunny521131421
2013-09-10 · TA获得超过202个赞
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:135万
展开全部

有4个错误:

  1. 把v_emp c%rowtype; 修改为:v_emp emp%rowtype;

  2. 把exit_when(c%notfound) 修改为:exit when(c%notfound) ;

  3. 把dbms_outout.put_line(v_emo.ename);修改为:dbms_output.put_line(v_emo.ename);

  4.  把fecth c into v_emp;修改为: fetch c into v_emp;

不得不批评楼主一句,你写的是啥jb游标啊,能不能用点心?犯的错误太低级了。。。

匿名用户
2013-09-10
展开全部

单词拼写错误


是 FETCH,  不是  fecth


SQL> DECLARE
  2    v_id    INT;
  3    v_value VARCHAR(10);
  4    -- 定义游标.
  5    CURSOR c_test_main IS
  6      SELECT id, value FROM test_main;
  7  BEGIN
  8    -- 打开游标.
  9    OPEN c_test_main;
 10    -- 填充数据.
 11    FETCH c_test_main INTO v_id, v_value;
 12    -- 假如检索到了数据,才处理.
 13    WHILE c_test_main%FOUND LOOP
 14      dbms_output.put_line(v_value);
 15      -- 填充下一条数据.
 16      FETCH c_test_main INTO v_id, v_value;
 17    END LOOP;
 18    -- 关闭游标
 19    CLOSE c_test_main;
 20  END;
 21  /
TWO
THREE
ONE

PL/SQL procedure successfully completed.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式