没有合适的资源?快使用搜索试试~ 我知道了~
ORACLE PLSQL编程详解 全8篇.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 189 浏览量
2021-12-17
08:56:40
上传
评论
收藏 496KB DOCX 举报
温馨提示
试读
116页
。。。
资源推荐
资源详情
资源评论
ORACLE PL/SQL 编程详解
第一章:PL/SQL 程序设计简介
SQL 语言只是访问、操作数据库的语言,并不是一种具有流程控制的程序设计语言,而只有
程序设计语言才能用于应用软件的开发。PL /SQL 是一种高级数据库程序设计语言,该语言
专门用于在各种环境下对 ORACLE 数据库进行访问。由于该语言集成于数据库服务器中,所
以 PL/SQL 代码可以对数据进行快速高效的处理。除此之外,可以在 ORACLE 数据库的某些
客户端工具中,使用 PL/SQL 语言也是该语言的一个特点。本章的主要内容是讨论引入 PL/SQL
语言的必要性和该语言的主要特点,以及了解 PL/SQL 语言的重要性和数据库版本问题。还
要介绍一些贯穿全书的更详细的高级概念,并在本章的最后就我们在本书案例中使用的数据
库表的若干约定做一说明。
1.1 SQL 与 PL/SQL
1.1.1 什么是 PL/SQL?
PL/SQL 是 Procedure Language & Structured Query Language 的缩写。ORACLE 的 SQL 是支持
ANSI(American national Standards Institute)和 ISO92 (International Standards Organization)标准
的产品。PL/SQL 是对 SQL 语言存储过程语言的扩展。从 ORACLE6 以后,ORACLE 的 RDBMS
附带了 PL/SQL。它现在已经成为一种过程处理语言,简称PL/SQL。目前的 PL/SQL 包括两部
分,一部分是数据库引擎部分;另一部分是可嵌入到许多产品(如 C 语言,JAVA 语言等)
工具中的独立引擎。可以将这两部分称为:数据库PL/SQL 和工具 PL/SQL。两者的编程非常
相似。都具有编程结构、语法和逻辑机制。工具PL/SQL另外还增加了用于支持工具(如ORACLE
Forms)的句法,如:在窗体上设置按钮等。本章主要介绍数据库PL/SQL 内容。
1.2 PL/SQL 的优点或特征
1.2.1 有利于客户/服务器环境应用的运行
对于客户/服务器环境来说,真正的瓶颈是网络上。无论网络多快,只要客户端与服务器进
行大量的数据交换。应用运行的效率自然就回受到影响。如果使用 PL/SQL 进行编程,将这
种具有大量数据处理的应用放在服务器端来执行。自然就省去了数据在网上的传输时间。
1.2.2 适合于客户环境
PL/SQL 由于分为数据库 PL/SQL 部分和工具 PL/SQL。对于客户端来说,PL/SQL 可以嵌套到相
..
应的工具中,客户端程序可以执行本地包含 PL/SQL 部分,也可以向服务发 SQL 命令或激活
服务器端的 PL/SQL 程序运行。
1.2.3 过程化
PL/SQL 是 Oracle 在标准 SQL 上的过程性扩展,不仅允许在PL/SQL 程序内嵌入 SQL 语句,而
且允许使用各种类型的条件分支语句和循环语句,可以多个应用程序之间共享其解决方案。
1.2.4 模块化
PL/SQL 程序结构是一种描述性很强、界限分明的块结构、嵌套块结构,被分成单独的过程、
函数、触发器,且可以把它们组合为程序包,提高程序的模块化能力。
1.2.5 运行错误的可处理性
使用 PL/SQL 提供的异常处理(EXCEPTION),开发人员可集中处理各种 ORACLE 错误和 PL/SQL
错误,或处理系统错误与自定义错误,以增强应用程序的健壮性。
1.2.6 提供大量内置程序包
ORACLE 提供了大量的内置程序包。通过这些程序包能够实现DBS 的一些低层操作、高级功
能,不论对 DBA 还是应用开发人员都具有重要作用。
当然还有其它的一些优点如:更好的性能、可移植性和兼容性、可维护性、易用性与快速性
等。
1.3 PL/SQL 可用的 SQL 语句
PL/SQL 是 ORACLE 系统的核心语言,现在 ORACLE 的许多部件都是由 PL/SQL 写成。在 PL/SQL
中可以使用的 SQL 语句有:
INSERT,UPDATE,DELETE,SELECT INTO,COMMIT,ROLLBACK,SAVEPOINT。
提示:在 PL/SQL 中只能用 SQL 语句中的 DML 部分,不能用 DDL 部分,如果要在 PL/SQL
中使用 DDL(如 CREATE table 等)的话,只能以动态的方式来使用。
ORACLE 的 PL/SQL 组件在对 PL/SQL 程序进行解释时,同时对在其所使用的表名、列名及
数据类型进行检查。
PL/SQL 可以在 SQL*PLUS 中使用。
PL/SQL 可以在高级语言中使用。
PL/SQL 可以在 ORACLE 的开发工具中使用(如:SQL Developer 或 Procedure Builder 等)。
其它开发工具也可以调用 PL/SQL 编写的过程和函数,如 Power Builder 等都可以调用服务器
端的 PL/SQL 过程。
..
1.4 运行 PL/SQL 程序
PL/SQL 程序的运行是通过 ORACLE 中的一个引擎来进行的。这个引擎可能在ORACLE 的服务
器端,也可能在 ORACLE 应用开发的客户端。引擎执行 PL/SQL 中的过程性语句,然后将 SQL
语句发送给数据库服务器来执行。再将结果返回给执行端。
第二章:PL/SQL 块结构和组成元素
2.1PL/SQL 块
PL/SQL 程序由三个块组成,即声明部分、执行部分、异常处理部分。
PL/SQL 块的结构如下:
DECLARE
--声明部分: 在此声明 PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数
BEGIN
-- 执行部分: 过程及 SQL 语句 , 即程序的主要部分
EXCEPTION
-- 执行异常部分: 错误处理
END;
其中:执行部分不能省略。
PL/SQL 块可以分为三类:
1.无名块或匿名块(anonymous):动态构造,只能执行一次,可调用其它程序,但不能被
其它程序调用。
2.命名块(named):是带有名称的匿名块,这个名称就是标签。
3.子程序(subprogram):存储在数据库中的存储过程、函数等。当在数据库上建立好后可
以在其它程序中调用它们。
4. 触发器 (Trigger):当数据库发生操作时,会触发一些事件,从而自动执行相应的程序。
5.程序包(package):存储在数据库中的一组子程序、变量定义。在包中的子程序可以被其
它程序包或子程序调用。但如果声明的是局部子程序,则只能在定义该局部子程序的块中调
用该局部子程序。
2.2PL/SQL 结构
PL/SQL 块中可以包含子块;
子块可以位于 PL/SQL 中的任何部分;
子块也即 PL/SQL 中的一条命令;
..
2.3 标识符
PL/SQL 程序设计中的标识符定义与 SQL 的标识符定义的要求相同。要求和限制有:
1.标识符名不能超过 30 字符;
2.第一个字符必须为字母;
3.不分大小写;
4.不能用’-‘(减号);
5.不能是 SQL 保留字。
提示: 一般不要把变量名声明与表中字段名完全一样,如果这样可能得到不正确的结果.
例如:下面的例子将会删除所有的纪录,而不是’EricHu’的记录;
DECLARE
ename varchar2(20) :='EricHu';
BEGIN
DELETE FROM scott.emp WHERE ename=ename;
END;
变量命名在 PL/SQL 中有特别的讲究,建议在系统的设计阶段就要求所有编程人员共同遵守
一定的要求,使得整个系统的文档在规范上达到要求。下面是建议的命名方法:
V_name
C_company_name
Cursor_Emp
E_too_many
Emp_record_type
Emp
Name_table_type
Name_table
Name_record
P_name
表
Emp_record
P_sal
SQL*Plus 替代变量
绑定变量
G_name
G_year_sal
..
2.4 PL/SQL 变量类型
在前面的介绍中,有系统的数据类型,也可以自定义数据类型。下表给出ORACLE 类型和
PL/SQL 中的变量类型的合法使用列表:
2.4.1 变量类型
在 ORACLE8i 中可以使用的变量类型有:
ORACLE 限制
CHAR
032767
2000
Rowid
Nchar
VARCHAR2
Varchar,
String
032767
4000
4000
NVARCHAR2
带符号整数,为整数计算优
Dec
Double
precision
Numeric
Real
0->2147483647
LONG
变长字符串
32,767 字节
..
剩余115页未读,继续阅读
资源评论
苦茶子12138
- 粉丝: 1w+
- 资源: 6万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于flask和echarts融合交易策略的bitfinex可视化微服务.zip
- 包含了wvp-assist.tar wvp-talk.tar zlmediakit.tar .
- 3r4efgh53wgrf43tw
- 2024新版Java基础从入门到精通全套视频+资料下载
- Spring AI大模型视频教程+ChatGPT视频教程+OpenAI大模型视频教程(资料+视频教程)
- ABB工业机器人教程PDF版本
- 123321123323211
- yolov8实战第八天-pyqt5-yolov8实现车牌识别系统(论文(约7000字)+数据集+完整部署代码+代码使用说明)
- 三相桥式全桥整流电路MATALB Simulink仿真文件
- ABB机器人操作培训文档
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功