第十课Oracle PLSQL块基础、编写规则.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十课Oracle PLSQL块基础、编写规则

索引是一个单独的、物理的数据库结构,它是表中一列或多列值的集合和相应行所对应的rowid。 数据字典 数据字典(Data Dictionary,简称DD)是以数据表和视图为主要存在形式的。对它们可以象处理其他数据库表或视图一样进行查询,但不能进行任何修改。 数据字典的分类 静态数据字典:主要是在用户访问数据字典时不会发生改变 PL/SQL块基础 PL/SQL块简介 块(block)是PL/SQL程序的基本单元,编写PL/SQL程序实际就是编写PL/SQL块。 PL/SQL块结构 PL/SQL块分类 当使用PL/SQL开发应程序时,根据需要实现的应用模块功能,可以将PL/SQL块划分为匿名块、命名块、子程序和触发器四种类型。 PL/SQL块分类 PL/SQL块分类 PL/SQL块的DECLARE部分 PL/SQL数据类型 当编写PL/SQL块时,为了存储临时数据,需要定义变量和常量。为了在应用环境和子程序之间传递数据,需要为子程序定义参数。当定义变量、常量和参数时,需要指定合适的PL/SQL数据类型: 标量数据类型 标量数据类型包括数字、字符、日期和布尔等类型。 标量数据类型—数字类型 number(p,s) pls_integer:定义整数,范围为-2147483647到+ 2147483647。 binary_integer:同pls_integer。 binary_float:定义单精度浮点数。当为该类型变量赋值时,应该带有后缀f(例如:1.5f)。 binary_double:定义双精度浮点数。当为该类型变量赋值时,应该带有后缀d(例如:3.00095d)。 PL/SQL块的BEGIN部分 例如:输入任意的职工编号并输出。 DECLARE v_empno number(4):=v_e; BEGIN dbms_output.put_line(v_empno); END; PL/SQL块的EXCEPTION部分 当嵌入SELECT INTO语句时,该语句必须返回一条数据,否则会触发异常。 1、当SELECT INTO语句没有任何数据返回时,会触发NO_DATA_FOUND异常,如果没有在异常处理部分捕捉并处理该异常,则会将错误消息传递到调用环境; 2、当SELECT INTO语句返回多条数据时,会触发TOO_MANY_ROWS异常。如果没有在异常处理部分捕捉并处理该异常,则会将错误消息传递到调用环境; 例:要求输入雇员号,输出雇员名并处理不存在的雇员号(对于不存在的雇员显示提示信息:请输入正确的雇员号!) 练习: 1、输出消息“Hello everyone!” 练习: 2、使用替代变量输入雇员号并输出雇员名。 4、使用替代变量输入雇员号,输出雇员名并处理不存在的雇员号。 PL/SQL代码编写规则 DECLARE v_ename VARCHAR2(8) ; BEGIN SELECT ename INTO v_ename FROM scott.emp WHERE empno=7369; dbms_output.put_line(v_ename); END; 输出 例如:将职工编号为7369的职工姓名以变量v_ename输出。 输入字符 输入字符 DECLARE v_ename VARCHAR2(8) ; v_empno NUMBER(4):= no; BEGIN SELECT ename INTO v_ename FROM scott.emp WHERE empno = v_empno; dbms_output.put_line(v_ename); END; 练习:将任意职工编号的职工姓名以变量v_ename输出。 输入字符 DECLARE v_ename VARCHAR2(8) ; BEGIN SELECT ename INTO v_ename FROM scott.emp WHERE empno = no; dbms_output.put_line(

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档