OraclePLSQL讲解培训资料课件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
带参数的游标 假如程序中声明了一个游标用于处理指定部门的员工数据,部门是用户在程序运行时选择的. 我们应当如何声明游标? 象下面这样吗? 当然不是. 有多个部门. 我们需要为每个部分声明一个游标吗, 每个游标使用不同的 WHERE 条件? 不用. 我们只需声明一个带参数的游标就可处理所有部门. 第六十二页,共一百零二页。 带参数的游标 参数是一个变量,它的名称用于 游标的定义中. 游标打开时, 实际参数值传递给 Oracle 服务, 用于决定哪些记录会被选入游标的活动集. 这意味着你可以在同一块中或不同块中多次打开游标, 每次使用不同参数获取不同活动集. 下面幻灯片的例子中,你可传递任意 region_id 给游标,然后游标返回对应地区的国家名称. 第六十三页,共一百零二页。 带参数的游标 第六十四页,共一百零二页。 定义带参数的游标 游标定义时声明的每个参数,在游标打开时( OPEN语句中)必须提供一个值. 参数数据类型和定义标量变量时相同, 但不能给出大小(size)和精度. 参数名在游标的 SELECT语句的 WHERE 子句中使用. 语法: 第六十五页,共一百零二页。 定义带参数的游标 语法中: cursor_name 是前面定义的游标名 parameter_name 是参数名 datatype 是是参数的标量数据类型 select_statement 是不带INTO子句的 SELECT 语句 第六十六页,共一百零二页。 打开带参数的游标 语法如下: 第六十七页,共一百零二页。 带参数的游标 打开游标时给参数传递实际的值. 因此你可以多次打开同一游标,每次使用不同参数获取不同的数据(活动集). 下例中, 游标被多次打开. 第六十八页,共一百零二页。 带参数的游标 DECLARE v_deptid employees.department_id%TYPE; CURSOR empcur(p_deptid NUMBER) IS SELECT employee_id, salary FROM employees WHERE department_id = p_deptid; v_emp_rec empcur%ROWTYPE; BEGIN SELECT MAX(department_id) INTO v_deptid FROM employees; OPEN empcur(v_deptid); LOOP FETCH empcur INTO v_emp_rec; EXIT WHEN empcur%NOTFOUND; DBMS_OUTPUT.PUT_LINE(v_emp_rec.employee_id || || v_emp_rec.salary); END LOOP; CLOSE empcur; END; 第六十九页,共一百零二页。 带参数的游标 也可在游标 FOR 循环中使用带参数的游标: 第七十页,共一百零二页。 带多个参数的游标 下例中游标有两个参数: 第七十一页,共一百零二页。 带多个参数的游标 下例中游标用于获取所有收入超过$10000的 IT 程序员. DECLARE CURSOR emp_cursor3(p_job VARCHAR2, p_salary NUMBER) IS SELECT employee_id, last_name FROM employees WHERE job_id = p_job AND salary p_salary; BEGIN FOR v_emp_record IN emp_cursor3(IT_PROG, 10000) LOOP DBMS_OUTPUT.PUT_LINE(v_emp_record.employee_id || || v_emp_record.last_name); END LOOP; END; 第七十二页,共一百零二页。 显式游标简介 此部分讲解了: 区分显式游标和隐式游标 在 PL/SQL 中为什么、何时使用显式游标 如何声明、使用显式游标 声明游标 打开游标 获取数据 关闭游标 第三十页,共一百零二页。 显式游标属性 此部分将讲解: 使用 %ROWTYPE 定义记录 在 PL/SQL 中使用记录变量处理活动集 使用游标属性 获取显式游标状态 第三十一页,共一百零二页。 显式游标属性 使用显式游标可以更灵活的处理数据. 本部分讨论如何更有效的使用显式游标. 游标记录使你可以声明一个变量就能获取游标里的所有字段. 游标属性使你可以获取关于显示游标状态的信息. 第三十二页,共一百零二页。

文档评论(0)

虾虾教育 + 关注
官方认证
文档贡献者

有问题请私信!谢谢啦 资料均为网络收集与整理,收费仅为整理费用,如有侵权,请私信,立马删除

版权声明书
用户编号:8012026075000021
认证主体重庆皮皮猪科技有限公司
IP属地重庆
统一社会信用代码/组织机构代码
91500113MA61PRPQ02

1亿VIP精品文档

相关文档