Oracle9i PLSQL程序设计PPT教学课件


2. PL/SQL是以块的方式设计,块中可以嵌套子块,子块可以位 于块中任何部分
3. 子块可以是PL/SQL中的一条命令
4. PL/SQL中可以使用条件判断,循环,游标等高级语言程序设 计方法
5. 模块式的过程化语言,以块为单位执行
6. 使用PL/SQL可以优化程序设计,得到更好的性能
(例如,执行 10个SQL语句,需要访问10次 Oracle核心,如果
2020/12/09
《PL/SQL程序设计》
6
PL/SQL数据类型扩展
数字型
NUMBER
存储整型及实型数据,可以定义精度和取值范围
✓ BINARY_INTEGER
可存储带符号整数,为整数计算优化性能
✓ DEC
NUMBER的子类型,存储实型数据
✓ DOUBLE PRECISION
NUMBER的子类型,高精度实数
辑 执行,其块结构如下:
块 DECLARE
说明部分:说明变量及常量
结 BEGIN
执行部分:使用SQL的DML语言事务处理
束 EXCEPTION
2020/1E2/0N9 D;
例外处理:处理错误及警告信息
《PL/SQL程序设计》
2
PL/SQL语言的特点
1. PL/SQL中可以定义变量,变量有其作用范围
✓ RAW 存储多媒体数据,如图象、声音、视频等 ✓ BLOB 大对象如图象、声音、视频等(Oracle8、Oracle8i)
PL/SQL基础
数据定义
标示符 数据类型 ; 标示符 数据类型 := PL/SQL表达式; 例如, v_salary number(7,2); v_ename varchar2(20) :=‘SMITH’;
对于SQL的数据类型进行了扩充,增加了新的数据类型,使 PL/SQL所支持的数据类型更灵活.
Oracle RDBMS 对于PL/SQL中引用的表名,列名进行语句检 查
对于SQL语句的执行结果,PL/SQL提供返回信息检查,通过
PL/SQL的例外处理,记录SQL的执行结果.
2020/12/09
《PL/SQL程序设计》
Declare 段中定义record类型数据,使某一
变量使用该record型数据.
定义方法:TYPE r_record is RECORD (
v_name emp.ename%TYPE,
v_job emp.job%TYPE,
v_sal emp.sal%TYPE);
变量定义
r_emp r_record;
2020/12/09
《PL/SQL程序设计》
11
PL/SQL基础
变量赋值 变量名 := 值;
v_salary := 890.76;
v_date :=‘25-MAR-99’;
Available_now :=FALSE;
%TYPE类型
Credit Real(7,2);
Debit Credit%TYPE;
5
PL/SQL基础
1. 变量的使用 2. 注释 3. 数据类型
数据类型
4.
和其他高级语言一样,在PL/SQL中可以使用变 量
单行注释: --
多行注释: /*
*/
Float
日期型 Date
字符型 CHAR,VARCHAR2 子类 数字型 NUMBER
Int Real Smallint
布尔型 BOOLEAN(TRUE,FALSE,NULL)
10个SQL组成一个PL/SQL程序,则只需访问一次Oracle 核
心,将结果一次返回给用户,则程序执行效率高,节省时间,降
20低20/1通2/09信量)
《PL/SQL程序设计》
3
PL/SQL语言的特点
减少对于Oracle核心的访问,降低网络负责 数据库数据类型集成
PL/SQL支持全部的SQL数据类型,这些共享的数据类型与 SQL所提供的直接存取相结合,使PL/SQL与Oracle数 据字典结合成一体. PL/SQL与Oracle RDBMS集成在一起,可以使用PL/SQL 的集成数据类型,使变量的数据类型在数据库的操作中实 时确定.
PL/SQL的使用,使SQL成为一种高级程序设计语言,支持高 级语言的块操作,条件判断,循环语句,嵌套等,与数据库核心的 数据类型集成,使SQL 的程序设计效率更高.
逻
PL/SQL是一种块结构语言,构成PL/SQL的基本单位是逻辑 块,块中可以嵌套子块,以块为单位向Oracle Server传递数据
字符型
✓ VARCHAR2 存放可变长字符串,有最大长度限制
✓ CHAR 字符型,固定长度 ✓ LONG 长字符型 ✓ CLOB 大对象字符(Oracle8、Oracle8i)
日期型
✓ Date 存储日期数据
PL/SQL数据类型扩展
布尔型
✓ BOOLEAN 结果是TRUE或FALSE
二进制数据
✓ INTEGER NUMBER的子类型,整数
✓ INT
NUMBER的子类型,整数
PL/SQL数据类型扩展
数字型
✓ SMALLINT
NUMBER的子类型,取值范围比INTEGER小
✓ NUMERIC NUMBER的子类型,与NUMBER等价
✓ REAL
NUMBER的子类型,存储实型数据
PL/SQL数据类型扩展
My_name Employee.ename%TYPE;
%TYPE 属性 + 不必知道My_name的真正数据类型
+ 当数据库中列ename列定义改变时,数 据库运行时自动修改.
%ROWTYPE:
2行020类/12/0型9
《PL/SQL程序设计》
12
PL/SQL程序设计
PL/SQL基础
PL/SQL 的记录类型 把逻辑相关的数据作为一个单元存储起来,在
《Oracle9i PL/SQL程序设计》
Procedurቤተ መጻሕፍቲ ባይዱl Language
PL/SQL 概述
PL/SQL是Oracle对关系数据库语言SQL的过程化扩充,它将数据库技术和 过程化程序设计语言联系起来,是一种应用开发语言,可使用循环,分支处理 数据,将SQL的数据操纵功能与过程化语言数据处理功能结合起来.
2020/12/09
《PL/SQL程序设计》
4
PL/SQL与SQL语言结合
PL/SQL语句含有SQL的DML语句,检索及事务处理 PL/SQL中可以使用的SQL语句如下:
INSERT
UPDATE
COMMIT ROLLBACK
DELETE SELECT INTO SAVEPOINT
支持 RDBMS 的所有数据类型
合集下载

《PLSQL经典教程》课件

《PLSQL经典教程》课件

PLSQL变量与常量
了解如何定义和使用变量以及常量,实现 数据存储和常量值的复用。
PLSQL条件语句
学习使用条件语句(IF-THEN, IF-THEN-ELSE, IF-THEN-ELSIF)控制程序的执行流程。
PLSQL循环语句
掌握使用循环语句(LOOP, WHILE, FOR) 实现重复执行某一段代码的功能。
《PLSQL经典教程》PPT课 件
本课程旨在介绍PLSQL编程的基础知识和技能。通过本课程,您将全面了解 PLSQL语言的特点和高级应用,提升自己的编程能力。
简介
本课程为PLSQL经典教程PPT课件,旨在介绍PLSQL编程基础知识和技能。
第一章:PLSQL基础
PLSQL简介
PLSQL是Oracle数据库的编程语言,具有丰 富的数据处理和逻辑控制功能。
强制执行。
结束语
感谢您的耐心学习!希望本课程能对您的PLSQL编程有所帮助。
第二章:PLSQL高级应用
1
PLSQL异常处理
学习如何编写异常处理程序以及如
PLSQL游标
2
何定义和抛出异常。
了解如何定义、使用和操作游标,
处理和管理查询结果集。来自3PLSQL存储过程
学习如何定义和使用存储过程,提
PLSQL触发器
4
高编程的模块化和代码复用性。
掌握如何定义和使用触发器,实现 数据库操作的自动化和业务规则的

Oracle_数据库应用教程课件-第1章Oracle 9i系统入门

Oracle_数据库应用教程课件-第1章Oracle 9i系统入门

第1章 Oracle 9i系统入门
2001年,Oracle 9i release 1发布。这是Oracle 9i的 第一个发行版。2002年,Oracle 9i release 2发布。它在 release 1的基础上增加了集群文件系统(Cluster File System)等特性。Oracle 9i版本功能强大,其产品包括数据 库核心、开发组件、应用服务器及客户端开发工具组件,集 成了Apache Web Server,可以使用PL/SQL和Java开发Web应 用。
第1章 Oracle 9i系统入门 图1-2 “文件定位”界面
第1章 Oracle 9i系统入门
(3) 单击【下一步】按钮,出现如图1-3所示的“可用产 品”界面。“可用产品”的安装选项分别为Oracle9i Database 9.0.1.1.1、Oracle9i Client 9.0.1.1.1、Oracle9i Management and Integration 9.0.1.0.1,这些选项对应的详细 说明如表1-1所示。在这里选中“Oracle9i Database 9.0.1.1.1” 单选项,单击【下一步】按钮,出现如图1-4所示的“安装 类型”界面,选中“企业版”安装类型。
第1章 OracΒιβλιοθήκη e 9i系统入门(4) 支持分布式数据库和分布处理。Oracle可以将物理 上分布在不同地点的数据库或不同地点的不同计算机上的数 据看做一个逻辑数据库,数据的物理结构对应用程序是隐藏 的。数据是否驻留在数据库中对应用程序是透明的。锁定、 完整性控制等都由Oracle数据库系统自动完成。数据可被全 部网络用户存取,就好像所有数据都是物理地存储在本地数 据库中一样。
安装选项
安装类型
企业版:为高端应用程序提供数据管理。安装的内容包括一个预先配制好的示例数据 库、网络服务、许可选项、环境配制工具、Oracle 企业管理器框架、数据仓库以及事务 处理环境的工具

Oracle9i的关系数据库实用教程第二章 Oracle的体系结构 56页PPT文档

Oracle9i的关系数据库实用教程第二章  Oracle的体系结构 56页PPT文档

2.表空间的使用
在数据库中使用多个表空间具有如下优势: (1)能够将数据字典与用户数据分离开来,避免 由于字典对象和用户对象保存在同一个数据文件 中而产生的1/0冲突。 (2)能够将回退数据与用户数据分离开来,避免 由于硬盘损坏而导致永久性的数据丢失。 (3)能够将表空间的数据文件分散保存到不同硬 盘上,平均分布物理1/0操作。
INITIAL:段建立时分配的第一个区的大小(单位:字节) NEXT:段内分配的下一个增量区大小(单位:字节) MAXEXTENTS:分配给段的区总数。 MINEXTENTS:建立段时分配的区的总数,也就是段的最 小区数量。 PCTINCREASE:为段分配的每个增量区超过上一个区的 百分比。 INITRANS:为初试数量的DML事务条目(并发访问数据 块中的行)保留的预分配空间数量。 NTKXTRANS:当多个事务同时访问同一数据块的行时, 为数据块中每个DML事务的条目分配的空间。
2.4.2 进程
进程又称任务,是操作系统中一个极为重要的 概念。一个进程执行一组操作,完成一个特定 的任务。对Oracle数据库管理系统来说,进程由 用户进程、服务器进程和后台进程所组成。
进程与程序的区别在于前者是一个动态概念, 后者是一个静态实体;程序仅仅是指令的有序 集合,而进程则强调执行过程。进程可以动态 地创建,完成任务后即会消亡。
器参数文件的初始化参数是永久的,它提供 了由Oracle数据库服务器自我调节的一个基 础。服务器参数文件是二进制文件,不能使 用一个文本编辑器浏览或编辑。Oracle提供 了浏览和查看相关参数的另外接口。
2.2 逻辑结构
2.2.1 表空间 2.2.2 段 2.2.3 区 2.2.4 数据库块
2.2.5 模式对象
1.用户进程服务器进程

第七章 PL SQL子程序设计 oracle9i青鸟

第七章 PL SQL子程序设计 oracle9i青鸟

17 /22
触发器的定义和使用
案例:生成数据 CREATE OR REPLACE TRIGGER testTab_trg BEFORE INSERT OR UPDATE OF ID ON testTab FOR EACH ROW BEGIN IF INSERTING THEN SELECT SEQ_TEST.NEXTVAL INTO :NEW.ID FROM DUAL; ELSE RAISE_APPLICATION_ERROR(-20020, '不允许更新ID值!'); END IF; END;
思考:处理一个业务究竟使用函数还是使用过程呢?
10 /22
函数过程总结
定义
参数
RETURN
调用
存储函数
存储过程
Oracle中子程序、游标等参数类型定义的共性问题
11 /22
包的定义和使用
Java中我们可以把功能相关的类放一个包中,达到方便 维护信息隐蔽的目的。Oracle中有没有包呢? 程序包是对相关过程、函数、变量、游标和异常等对象的 封装 程序包由规范和主体两部分组成(类似java 中的接口和实 现)
第七章
PL/SQL子程序设计
目标
子程序的概念 存储过程的定义和使用 存储函数的定义和使用 包的定义和使用 触发器的定义和使用 过程相关的视图
2 /22
子程序的概念
过程
匿名过程
子程序
存储过程
存储函数
触发器
子程序的优势: 1。安全性,减少网络流量,增强信息安全 2。效率高,充分使用共享池。 3。封装复杂的业务处理,提高效率,可维护性强 4。可重用。
包的定义和使用
CREATE OR REPLACE PACKAGE pack_me CREATE OR REPLACE PACKAGE BODY pack_me AS IS PROCEDURE order_proc (orno VARCHAR2) IS PROCEDURE order_proc (orno VARCHAR2); stat CHAR(1); FUNCTION order_fun(ornos VARCHAR2) RETURN VARCHAR2; BEGIN END pack_me; SELECT ostatus INTO stat FROM order_master / WHERE orderno = orno; …… END order_proc; FUNCTION order_fun(ornos VARCHAR2) RETURN VARCHAR2 IS icode VARCHAR2(5); ocode VARCHAR2(5); BEGIN …… END order_fun; END pack_me; /

PLSQL编程基础ppt课件

PLSQL编程基础ppt课件
5
7.2 变量的声明与赋值
变量声明并使用变量: 变量名称可以有字母、数字、_、$、#等组成。 所有变量名称要求以字母开头,不能是Oracle中的保留字 变量的长度最多只能为30个字符 变量不区分大小写
6
7.2 变量的声明与赋值
声明变量语法: 变量名称 [CONSTANT] 类型 [not NULL] [:=value] 使用%TYPE声明变量类型: 在编写PL/SQL程序时,如果希望某一个变量与指定数据表中某 一列的类型一样,则可以采用 “变量定义”表名称.表名称%TYPE的格式
DBMS_OUTPUT.put_line('雇员:' || v_eno || '的收入为高工资。') ;
WHEN v_salary >= 2000 AND v_salary <3000 THEN
CASE语句
Case语句是一种多条件的判断语句,其功能与IF……elseif……else类似
Case语法:
Case[变量] when [值|表达式] THEN
执行语句块; when [值|表达式] THEN
执行语句块; Else
条件都不满足时执行语块; End case
22
7.4.1 分支结构
范例:使用CASE进行多条件判断
END IF;
19
7.4.1 分支结构
范例:用户输入一个雇员编号,根据它所在的部门给 上涨工资,规则:
·10部门上涨10%,20上涨20%,30上涨30%; ·但是要求最高不能超过5000,超过5000就停留在 5000。
20
7.4.1 分支结构
DECLARE
v_empSal
emp.sal%TYPE ;

Oracle PL、SQL程序设计培训课程ppt(共25页)

Oracle PL、SQL程序设计培训课程ppt(共25页)

对于有触发语句影响每一行记录
20
触发器主体可以访问的表
变化表:被DML语句正在修改的表,义既定义触 发器的表

限制表:有些表在创建的时候就带有参考完整 性限制的声明主建与外建

触发器主体中的限制

不可以读取或修改任何变化表
21
创建行级触发器:
当触发器已经存在时,使用Replace选项。 Update中的of是可选项,用于指定Update语句要
3、可以降低网络的通信量
4、保证数据库的安全性和完整性

通过存储过程不仅可以使没有权限的用户在控制之下间接地存取数据库,保
证数据的安全;而且可以使相关的动作在一起发生,从而可以维护数据库的完
整性。
5、灵活性

存储过程可以用流控制语句编写,具有很强的灵活性,可以完成复杂的判断
和运算,可以根据条件执行不通SQL语句。
修改的列。 根据进行一个操作时触发器的触发次数决定是用
语句级、还是行级触发器。 当某一操作结果只影响一行时,语句级触发器与
行触发器效果相同。当操作影响到数据库多行数 据时,语句级触发器只触发一次,而行级触发器 触发多次。
……; End 包名;
9
创建包
10
创建包体
1
----定义过程
11
创建包体
2 3
----定义过程
12
包的调用
13
Oracle Database Trigger 数据库触发器设计
14
数据库触发器作用
防止非法的数据库操纵、维护数据库安全 对数据库的操作进行审计,存储历史数据 完成数据库初始化处理 控制数据库的数据完整性 进行相关数据的修改 完成数据复制 自动完成数据库统计计算 限制数据库操作的时间、权限等,控制实体的

Oracle9i基础精品PPT课件


安全性
获得最高认证级别的 ISO 标准认
证。
使用风险 长时间的开发经验,完全向下兼
容。得到广泛的应用。
并行实施和共存模型并不成熟。 很难处理日益增多的用户数和 数据卷。伸缩性有限。
没有获得安全证书。
完全重写的代码,经历了长期 的测试,不断延迟,许多功能 需要时间来证明。并不十分兼 容早期产品。
Oracle9i服务器体系结构
•卸载完毕后,进入注册表编辑器,将与oracle相关的信息删除: \HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE项 \HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services项中的 关于Oracle的服务 \HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services项中的 关于Oracle的服务
3. 使用Oracle9i管理工具 3.1 Net Configuration Assisstant 3.2 Oracle Enterprise Manager 3.3 Sqlplus
4. 一些常用的SQL语句 4.1 数据定义语言(DDL)
4.2 数据操作语言(DML) 5. PL/SQL简介
5.1 PL/SQL语言 5.2 PL/SQL特点 6. 答疑
第二章 Oracle9i服务器的安装
• 安装前的准备 • Oracle9i服务器的安装与卸载 • 创建数据库实例 • 实例的启动与关闭
安装前的准备
• 硬件: CPU:PⅢ 800MHz或以上 内存:256MB或以上 硬盘:安装Oracle9i的分区的剩余空间至少4.5GB
• 软件: OS:Windows2000(SP1或以上)/Windows XP 数据库:Oracle9i安装程序 下载地址:

第10章 Oracle9i数据库应用程序的开发(2)PPT课件

信息管理系统作为实例)
10.4.1 创建应用程序框架 ⑴ 打开VC++,建立一个新的工程。在“工程”选项卡中选 择“MFC AppWizard(exe)”选项,在“工程”文本框中输入 “学生综合信息管理系统”,在“位置” 文本框中选择“D:\ Microsoft Visual Studio\MyProjects”,其它设置不变。 ⑵ 单击“确定”按钮,在“MFC AppWizard-step 1”对话 框中选择应用类型为“基本对话”,其它设置不变,如图10. 27所示。
图10.3 “创建新数据源”对话框
11
⑹ 建立菜单与主界面对话框的连接。方法是:打开对话框 IDD_DIALOG1,右击之,在快捷菜单中单击“属性”,弹出 如图10.32所示的“Dialog Properties”对话框,在通用属性 选项卡中选择菜单为“IDR_MENU1”。
图10.32 建立对话框与菜单的连接
12
10.4.4 制作“学生信息管理”对话框 前面已为“学生综合信息管理系统”制作了一个较为完整的框 架,它包括系统的启动界面、主界面、主菜单、状态条等各种 Windows应用程序的相关要素,但尚未有任何实质性的功能, 从本小节开始将制作系统的各个功能模块。本小节将制作“学 生信息管理”对话框。 ⑴ 新增对话框资源IDD_DIALOG2(方法见10.3节),标题 设为“学生信息管理” ⑵ 删除IDD_DIALOG2对话框中的“OK”和“Cancel”命令 按钮。 ⑶ 在IDD_DIALOG2对话框中加入一个ADO Data控件(简 称ADODC控件,是一个ActiveX控件),并为它引入数据库 表。步骤是:
图10.29 “IDD_MY_DIALOG”对话框的重新布局
5
⑵ 编写“进入系统”命令按钮的过程代码为: void CMyDlg::OnButtonlogin() { // TODO: Add your control notification handler code here

【学习课件】第5章Oracle9i的数据库管理(1)PPT课件

5.2.1 创建表空间:有两种方式 1.使用Oracle企业管理器创建表空间 ⑴ 启动Oracle企业管理器,以system身份连接数据库,打开 如图5.16所示的企业管理器树状结构。
图5.16 Oracle企业.管理器主窗口
20
⑵ 展开“存储”节点,右击“表空间”节点,弹出如图5.17 所示的快捷菜单。
每个Oracle9数据库都有一个物理结构和一个逻辑结构。物理 结构是由构成数据库的操作系统文件所决定;逻辑结构是用户 所涉及的数据库结构,包括表空间和数据库对象(表、索引、 视图、同义词、序列、簇、过程、函数等)。创建数据库是开 发Oracle9i数据库应用程序的前提,数据库管理(包括对表空 间和段的管理)是Oracle9i的基本工作。
图5.8 数据库存. 储设置
12
⑼ 该对话框显示树列表和概要视图,允许用户更改并查看控 制文件、数据文件和重做日志组等对象。单击“下一步”按钮, 弹出如图5.9所示的数据库创建选项对话框。
图5.9 数据库.创建选项
13
⑽ 选择“创建数据库”,单击“完成”按钮即进行数据库的 创建。数据库创建完成后弹出如图5.10所示的更改口令对话框, 输入相应的口令即可。
图5.2 数据库配置助手. “欢迎使用”界
5
⑶ 单击“下一步”按钮,弹出如图5.3所示的选择希望执行的 操作对话框。
图5.3 选择希望. 执行的操作
6
⑷ 选择“创建数据库”,单击“下一步”按钮,弹出如图5.4 所示的选择模板创建数据库对话框。
图5.4 选择模板.创建数据库
7
⑸ 选择“Data Warehouse”,单击“下一步”按钮,弹出如 图5.5所示的创建数据库标识对话框。
大型数据库概论
Introduction of Large Database

Oracle 9i(第一讲)


▪
牢记安全之责,善谋安全之策,力务 安全之 实。20 20年1 0月15 日星期 四9时2 8分49 秒Thursday, October 15, 2020
▪
相信相信得力量。20.10.152020年 10月15 日星期 四9时 28分4 9秒20. 10.15
谢谢大家!
▪
树立质量法制观念、提高全员质量意 识。20 .10.15 20.10 .15Th ursda y, October 15, 2020
•Sybase •Oracle •db2
负载量: 海量数据
为什么要学oracle
▪ 需求量大
– 从目前软件公司对数据库的需求上来看,oracle程序 员的需求量是最大的。这里我们可以看一下数据(有 图有真相)。
为什么要学oracle
上海市oracle 相关职位需求 量为1910个。
为什么要学oracle
上海市sql server相关职位 需求量为1126 个。
为什么要学oracle
上海市db2相关 职位需求量为 435个。
为什么要学oracle
上海市sybase 相关职位需求 量为199个。
为什么要学oracle
▪ 薪水高
– Oracle的DBA普遍工资比较的高,我们可以看一下通 过oracle的ocp认证参加工作的人工资情况。
…
…
Oracle及oracle公司介绍
▪ 公司总裁-Larry Ellison
✓财富榜前30名内 ✓与盖茨相媲美 ✓ORACLE建立者和发展者 ✓IT风云人物
Oracle及oracle公司介绍
▪ 产品线
– 工具 ▪ JDeveloper---JBuilder ▪ Developer2000---VB ▪ Designer2000---数据库建模
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档