4 PLSQL编程简介.doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 PL/SQL编程基础 本章主要重点: PL/SQL概述 PL/SQL块结构 PL/SQL流程 运算符和表达式 游标 异常处理 数据库存储过程和函数 触发器 动态PL/SQL 4.1 PL/SQL概述 PL/SQL是 Procedure Language & Structured Query Language 的缩写。Oracle 的SQL是支持ANSI(American national Standards Institute)和ISO92(International Standards Organization)标准的产品。PL/SQL是对SQL语言存储过程语言的扩展。从Oracle 6以后,Oracle 的RDBMS附带了PL/SQL。它现在已经成为一种过程处理语言,简称PL/SQL(发音:pea ell sequel)。目前的PL/SQL包括两部分,一部分是数据库引擎部分;另一部分是可嵌入到许多产品(如C语言,JAVA语言等)工具中的独立引擎。可以将这两部分称为:数据库PL/SQL和工具PL/SQL。两者的编程非常相似。都具有编程结构、语法和逻辑机制。本章主要介绍数据库PL/SQL内容。 PL/SQL的好处 对于客户/服务器环境来说,无论网络多快,只要客户端与服务器进行大量的数据交换。应用运行的效率自然就回受到影响。如果使用PL/SQL进行编程,将这种具有大量数据处理的应用放在服务器端来执行。自然就省去了数据在网上的传输时间。 减少网络传输量,开发标准的代码、隐藏实现细节、统一的和集中的方式处理工程项目,以达到重用、更好地设计数据库应用(标准化、降低维护)、更高的编程效率(productivity) 4.2 PL/SQL块结构 4.2.1 PL/SQL程序基本结构 PL/SQL块中可以包含子块;子块可以位于 PL/SQL中的任何部分;子块也即PL/SQL中的一条命令;已定义的对象有一定的作用范围。 PL/SQL程序由三个块组成,即声明部分、执行部分、异常处理部分。 PL/SQL块的结构如下: Declare /* 声明部分: 在此 声明PL/SQL用到的变量,类型及游标 */ begin /* 执行部分: 过程及SQL 语句 , 即程序的主要部分 */ Exception /* 执行异常部分: 错误处理 */ End; 其中 执行部分是必须的。 块可以分为四类: 无名块:动态构造,只能执行一次。 命名块:加了标号的块。 子程序:存储在数据库中的存储过程、函数及包等。当在数据库上建立好后可以在其它程序中调用它们。 触发器:当数据库发生操作时,回触发一些事件,从而自动执行相应的程序。 举例:本例是一个嵌套子块的结构: Declare /* 本部分可以定义变量、游标等。 */ v_name varchar2(10); v_sql number(7,2); Begin /* 执行部分 */ . . . . . . select ename, sal into v_name, v_sal from scott.emp where empno=‘7777’; begin /* 子块开始,也是执行语句 */ . . . . . . EXCEPTION /* 执行异常处理部分 */ . . . . . . end; EXCEPTION /* 执行异常部分 */ . . . . . . end; /* 本PL/SQL 程序结束 */ 4.2.2 PL/SQL 程序标识符PL/SQL程序设计中的标识符定义与SQL 的标识符定义的要求相同。要求和限制有: 标识符名不能超过30字符;第一个字符必须为字母;不分大小写;不能用’-’(减号);不能是SQL保留字。 举例: 合法的标识符: declare v_name varchar2(20); /* 存放name 列的值 */ v_sal number(9,2); /* 存放 sal 列的值 */ . . . . . . 举例: 不合法的标识符: declare v-name varchar2(20); /* 存放name 列的值 使用了减号- */ 2001_sal number(9,2); /* 存放 sal 列的值 数字开头 */ mine&yours number; -- 非法的标识符 debit-amount number(10,4) ; -- 非法的标识符 使用了减号- on/off char(1); -- 非法的标识符 user id varchar2(20); -- 非法的标识符(不

文档评论(0)

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

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

1亿VIP精品文档

相关文档