中国教育在线 中国教育网 加入收藏 设为首页

oracle认证:游标使用总结

http://itpx.eol.cn  来源:  作者:网络转载  2011-07-12    

  Oracle认证考试由Oracle公司授权国际考试认证中心对考生进行资格认证的。考生按考试标准要求参加几门课程的考试(一般为三至五门),在通过全部考试后,将获得OCP的专家认证。Oracle认证考试目前分Oracle DBA, DBO(Database Operator, DBD(Database Developer),Java Developer等几类。oracle认证:游标使用总结如下:

  显示游标(Explicit Cursor):在PL/SQL程序中定义的、用于查询的游标称作显示游标。

  隐式游标(Implicit Cursor):是指非PL/SQL程序中定义的、而且是在PL/SQL中使用UPDATE/DELETE语句时,Oracle系统自动分配的游标。

  一、显示游标

  1、使用步骤

  (1)定义 (2)打开 (3)使用 (4)关闭

  2、使用演示

  首先创建测试用表STUDENT,脚本如下:

  复制代码 代码如下:

  CREATE TABLE “STUDENT” (

  “STUNAME” VARCHAR2(10 BYTE),

  “STUNO” VARCHAR2(4 BYTE),

  “AGE” NUMBER,

  “GENDER” VARCHAR2(2 CHAR)

  )

  (1)使用WHILE循环处理游标

  create or replace PROCEDURE PROC_STU1 AS

  BEGIN

  ——显示游标使用,使用while循环

  declare

  ——1.定义游标,名称为cur_stu

  cursor cur_stu is

  select stuno,stuname from student order by stuno;

  ——定义变量,存放游标取出的数据

  v_stuno varchar(4);

  v_stuname varchar(20);

  begin

  ——2.打开游标cur_stu

  open cur_stu;

  ——3.将游标的当前行取出存放到变量中

  fetch cur_stu into v_stuno,v_stuname;

  while cur_stu%found ——游标所指还有数据行,则继续循环

  loop

  ——打印结果

  dbms_output.PUT_LINE(v_stuno||‘-》’||v_stuname);

  ——继续将游标所指的当前行取出放到变量中

  fetch cur_stu into v_stuno,v_stuname;

  end loop;

  close cur_stu; ——4.关闭游标

  end;

  END PROC_STU1;

  (2)使用IFELSE代替WHILE循环处理游标

  create or replace PROCEDURE PROC_STU2 AS

  BEGIN

  ——显示游标使用,使用if判断

  declare

  ——1.定义游标,名称为cur_stu

  cursor cur_stu is

  select stuno,stuname from student order by stuno;

  ——定义变量,存放游标取出的数据

  v_stuno varchar(4);

  v_stuname varchar(20);

  begin

  ——2.打开游标cur_stu

  open cur_stu;

  ——3.将游标的当前行取出存放到变量中

  fetch cur_stu into v_stuno,v_stuname;

  loop

  if cur_stu%found then ——如果游标cur_stu所指还有数据行

  ——打印结果

  dbms_output.PUT_LINE(v_stuno||‘-》’||v_stuname);

  ——继续将游标所指的当前行取出放到变量中

  fetch cur_stu into v_stuno,v_stuname;

  else

  exit;

  end if;

  end loop;

  close cur_stu; ——4.关闭游标

  end;

  END PROC_STU2;

推荐给好友    我要收藏    我要纠错    分享到

免责声明:

① 凡本站注明“稿件来源:中国教育在线”的所有文字、图片和音视频稿件,版权均属本网所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发表。已经本站协议授权的媒体、网站,在下载使用时必须注明“稿件来源:中国教育在线”,违者本站将依法追究责任。

② 本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。

内容推荐
eol.cn简介 | 联系方式 | 网站声明 | 京ICP证140769号 | 京ICP备12045350号 | 京公网安备 11010802020236号
版权所有 北京中教双元科技集团有限公司 EOL Corporation
Mail to: webmaster@eol.cn