1
Company
Confidential
-
For internal use only
PL/SQL培训教程
文档作者:
创建日期:
确认日期:
控制编码:
当前版本: 1.0
2
Company
Confidential
-
For internal use only
目录
目录............................................................................................................................................................................................................... 2
UNIT1 SQL、PL/SQL 概要 ............................................................................................................................................................... 1
单元培训目标 ................................................................................................................................................................................ 1
LESSON 1 SQL、SQL*Plus 和 PL/SQL基本概念 ............................................................................................................. 1
UNIT2 数据查询 .................................................................................................................................................................................. 3
单元培训目标 ................................................................................................................................................................................ 3
LESSON 1 简单的数据查询....................................................................................................................................................... 3
LESSON 2 SQL*Plus 的使用 ..................................................................................................................................................... 5
LESSON 3 单行函数的使用 ...................................................................................................................................................... 6
LESSON 3 多表数据查询 ........................................................................................................................................................... 7
LESSON 4 组函数 ........................................................................................................................................................................ 8
LESSON 5 子查询........................................................................................................................................................................ 9
UNIT3 数据库....................................................................................................................................................................................... 10
单元培训目标 .............................................................................................................................................................................. 10
LESSON 1 系统开发周期和数据关联................................................................................................................................... 11
LESSON 2创建表、序列、视图和索引............................................................................................................................. 12
LESSON 3Oracle 数据字典 ...................................................................................................................................................... 15
LESSON 4 用户访问控制 ......................................................................................................................................................... 15
UNIT4 PL/SQL...................................................................................................................................................................................... 18
单元培训目标 .............................................................................................................................................................................. 18
LESSON 1 简单 PL/SQL........................................................................................................................................................... 18
LESSON 2数据获取和游标 ................................................................................................................................................... 24
LESSON 3PL/SQL控制流 ..................................................................................................................................................... 25
LESSON 4出错处理................................................................................................................................................................. 25
附录 A: ................................................................................................................................................................................................... 26
数据结构: .................................................................................................................................................................................. 26
描述: ........................................................................................................................................................................................... 26
1
Company
Confi
dential
-
For internal use only
UNIT1 SQL、PL/SQL 概要
单元培训目标
u 了解 SQL、PL/SQL的 基本概念、功能
u 了解 Oracle 产品集和关联
u 了解 SQL、PL/SQL的基本命令
LESSON 1 SQL、SQL*Plus 和 PL/SQL基本概念
SQL、SQL*Plus 和 PL/SQL是用来检索和维护存储在 Oracle数据库上数据的工具或
语言。
u Oracle是一个对象— 关系型数据库管理系统(ORDBMS),它扩展了普通关系
型数据库管理方式,支持面向对象的概念,以表的形式存储信息,维护数据的输
入、数据的存储和数据查询并处理及对数据的三种基本操作: 采集、存储、 检
索。
u SQL: 结构化查询语言(Structured Query Language),用来与 Oracle 数据库服务
器进行交互。
例:select name, salary from t_emp
select sysdate from dual
u PL/SQL: Oracle 扩展的 SQL语言,具有完整的流程控制定义。
u SQL*Plus: Oracle常用的工具,用来识别 SQL语言和编写、执行 PL/SQL代码,
它与 Oracle数据库管理系统紧密结合。
u SQL*Plus 环境登录:
(1) windows环境
(2) 命令行环境
如下格式:
2
Company
Confi
dential
-
For internal use only
username 数据库用户名
password 数据库的密码,此时是可见的
@database 要登录的数据库名
一旦成功登录,系统提示如下:
u SQL常用命令:
分类 命令
数据检索 Select
数据维护(DML) insert、update、delete
数据定义(DDL) create、 drop、alert、rename、truncate
事务处理控制 commit、rollback、savepoint
数据控制(DCL) Grant、revoke
u 数据、操作系统、Oracle 数据库管理器、 SQL和 PL/SQL及工具之间的关系
u 在 Oracle 的产品中有如下的关系:以数据为核心,Oracle Server 结合操作系统
进行数据传递和通信,外围有 SQL*Plus 等工具提供给用户,通过 SQL、
PL/SQL 与 Oracle Server 交互。 (如下图:)
u 代码、缩写和命名标准:由于 SQL与自然语的相似性,同时为提高代码的可读
性,对于检索语句、表列命名和程序代码应采用标准规则,表名和列名既要反映
数据的实际意义,又要考虑简洁性、完整性。Oracle 允许使用最多30 个字符命
名表和列,为建立完整的、含义明确的、描述性的名称提供了足够的空间。 对于
程序代码,更要讲究规范性,如变量、函数名等等,要含义明确,提高程序的可
读性。
操作系统
Oracle 8
SQL、 PL/SQL
工具
应用产品
数据
操作系统
Oracle 8
SQL、
PL/SQL
工具
应用产品
Sqlplus [username [/password [@database]]]
SQL>
3
Company
Confi
dential
-
For internal use only
UNIT2 数据查询
单元培训目标
u 理解 Oracle数据查询的概念和作用;
u 掌握数据查询的基本方法;
u 通过函数、子查询的学习,能写一些较复杂的数据查询。
LESSON 1 简单的数据查询
Ø 基本结构:
SELECT: 选择要查询的数据列
FROM: 数据列所在的表
*: 选择所有的列
COLUMN:选择的列名
ALIAS: 给选定的列一个别名
例: SELEC T * FROM s_dept
SELECT last_name, first_name, address FROM s_emp
Ø 算术表达式:
加: +
减:-
乘:*
除: /
例:
SELECT last_name, salary * 12, base_salary + salary
FROM tablename
Ø 字符串处理
字符串可以做最简单的“加”法,即合并运算:||
例:
SELECT column1||’.’||column2 ||’$’
FROM tablename
SELECT [distinct] {*, column [alias],
……
}
FROM TABLE