文档详情

4 PLSQL编程简介.doc

发布:2017-08-02约2.89万字共27页下载文档
文本预览下载声明
第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 列的值 数字开头 */ mineyours number; -- 非法的标识符 debit-amount number(10,4) ; -- 非法的标识符 使用了减号- on/off char(1); -- 非法的标识符 user id varchar2(20); -- 非法的标识符(不能用
显示全部
相似文档