|
|
第1部分 Oracle开发前奏
3 |: k# D0 g" H* \第1章 数据库系统概述' O' g( `' D$ s0 ]
( 视频讲解:1小时10分钟)* E' u' O' c# ~7 \! S2 D
1.1 数据库的产生动机" ^/ {, x$ e/ A; ~8 }
1.2 数据、数据库、数据库管理系统、数据库系统. S+ M+ J; g6 s- Z6 d
1.3 数据管理与数据库系统的特点
! ^; S6 Q1 K1 S [9 D* l8 b1.4 数据模型
6 C6 f0 M8 d& d* V' F1.4.1 两类数据模型
& r# I2 f u' v _# i1.4.2 概念模型% O( f2 d6 G$ Y, u. i" @
1.4.3 数据模型
; K/ @9 d: l: Y0 S0 w$ w0 s1.4.4 关系模型基础- W, j, V( N+ t8 T8 d1 R- [
1.5 SQL概述
( O* Y l' q! u7 X提示:关于NOSQL技术4 U5 O0 T8 ^9 @2 {# k
1.6 本章小结
, J! m4 j2 [+ D4 z. ]* f; O% G* l3 d0 Y8 w* @+ M* ]0 p
第2章 Oracle的安装与基本使用+ d5 {; C6 e5 S5 G. {& J# j6 S
( 视频讲解:1小时40分钟)% U9 }4 N! R" l9 M
2.1 Oracle简介
& i! F' P# A, s0 c* e2.2 安装Oracle数据库
/ N! X" S! N0 q1 w7 E' N7 g提示:关于CDB与PDB
" D; _8 h7 [- r0 U n注意:如果不进行口令配置,有可能某些用户为锁定状态
' z! U# Y" l7 G' G8 i- |2.3 Oracle体系结构2 ~7 Z4 \7 g( i3 e6 J
提示:Oracle服务器、Oracle实例(instance)、Oracle数据库(database)的关系
! W5 G4 I, ?$ f. s2.3.1 Oracle实例体系
T, J U; ?$ R h6 g+ L6 j7 @2.3.2 Oracle物理体系
* E4 D+ O9 v* R* t3 f. k: d2.4 Oracle监听服务( h3 d, U% F8 u7 T0 ^7 y9 T
2.4.1 注册表被破坏导致监听无法启动 w* t `& s/ C2 A" C# j9 b1 _! C8 C7 q
2.4.2 计算机名称修改导致监听无法启动
) W2 L f: i; @9 G {. f. V2.4.3 监听工具LSNRCTL D! c/ X1 n) G) [' ?; Z8 @+ N
2.5 SQLPlus简介
) E+ m8 a/ S% ?6 o( \8 I+ Z9 _2.6 SQLPlus常用命令
/ q- c3 V. j# ]( c7 _提示:关于sqlplus.exe工具的补充说明
. P8 i0 W% \- x提示:sqlplusw.exe的输入形式, U$ L2 f& _1 {! @! ?
提示:需要设置命令行格式0 T% f `* _4 a9 z& M
2.7 配置SQL Developer
* @. O. T$ U3 ~1 t: v& U \3 I# ?; ^2.8 c##scott用户表
E1 x3 _9 S8 \2.8.1 部门表dept( K K$ {# U/ s& A: b2 A
2.8.2 雇员表emp
8 K0 F' {: e) b: h3 u" Z; e2.8.3 工资等级表salgrade
R8 q* i4 J0 \- J1 m2.8.4 工资补贴表bonus
5 ?0 O: k3 Z2 y( K2.9 本章小结
9 P. @- [/ J$ A2 h; y3 d5 G, B' C2 `
第2部分 SQL基础语法
1 \; a7 m# p( B! ^第3章 简单查询% P: X t4 a: l& u' P
( 视频讲解:35分钟)/ t" K7 r4 a3 w! J
3.1 简单查询语句; Q4 J+ j @3 A1 H% i' d- b
提示:关于null的问题3 L5 m# ^- u& g) S5 E
提示:关于SQL中的投影概念# E1 |- }# M3 H0 F1 T" {$ G+ a
3.2 其他简单查询. [$ @* N1 x: P! P" z
3.3 本章小结5 Y+ d& x8 I7 m, [1 U0 \
. L5 ?# x) B6 U6 q! \+ L V9 A, J第4章 限定查询与排序显示
+ t2 B3 R3 D0 e" }+ A( 视频讲解:1小时12分钟)
; ^) N* ~5 N, [( G6 W1 ^6 }4.1 限定查询
* P$ t3 G$ u* G* L0 s! ~; ?4.1.1 认识限定查询7 F @" i* ~1 Y7 j& k# B( T8 S
提示:一般在执行查询之前都先查看一下表中的记录数
7 J) W8 j1 {" C( x! d O! v4.1.2 对数据进行限定查询
5 W4 D l: ~5 q: h6 {# i, L提示:阅读查询语句的小技巧: r5 [3 [( ?8 g1 z/ \% B
注意:在使用NOT IN操作符时列表不能有NULL
& D; g2 c s8 V, j' R4.2 对结果排序:ORDER BY
4 A- v* v: |7 _4 q提示:语句执行顺序
, H4 D8 r& Q% j4.3 本章小结
& g! d% n7 M, g7 d4 B# o
- r+ ~' g! S( t( E4 i第5章 单行函数+ W0 T* `% ]2 X% E+ z
( 视频讲解:2小时6分钟)
& O1 I% \' p V5 O M) o$ F3 p5.1 单行函数简介
! f e H, L: a5.2 字符函数
* F: x2 U- U/ z v0 Q5.3 数值函数 d' @2 q" o1 f/ R) A
5.4 日期函数- }/ ^% Q6 x* P
提示:关于日期和数字的问题
5 w1 {7 o3 H8 D: G5.5 转换函数; B8 {7 p7 E9 J! X7 v: t; i, `
注意:建议保留前导0
, W0 N' b- y, x* C$ ^提示:关于数据的隐式转换操作( x H P& d, o6 M! [
5.6 通用函数
/ ?4 Y, o& }; O% m5.7 本章小结# D3 Z& B5 f3 c: v5 m
# `8 S7 K5 y2 A) S' Z5 _
第6章 多表查询& v f. r, o$ N/ Q
( 视频讲解:1小时30分钟)
5 G7 L; @, w$ Q9 [% D5 [6.1 多表查询的基本语法
. s$ z4 m2 o( c# U( _* y: P提示:关于笛卡尔积的代数表示& h6 \. q5 m+ ^: G& d' \; ]
提示:关于笛卡尔积的消除2 S* u7 `" [* ~: O# b
6.2 多表查询实例% n" F+ }, R+ L7 H4 X8 N
6.3 表的连接操作
0 l" F+ K5 h; Z提示:左外连接与右外连接的操作7 K- p4 i7 `; k* j8 @: y% T
6.4 自身关联) ^5 b0 V" ]! L4 e( w" g
6.5 SQL:1999语法
' M- x$ n' d# [. ]; Q6.5.1 交叉连接
+ O4 a, w8 W& p+ n' _" t6.5.2 自然连接
9 ?4 d- ?/ D, f提示:自然连接的操作: w5 W' P- _; w. [4 g+ v1 t- c6 U3 w; g
6.5.3 USING子句7 N4 Z% Z" n, i
6.5.4 ON子句: v8 x2 h; Y% Q1 o# w1 a
提示:关于θ连接
% H- x7 Q E8 N4 d0 y3 P; E6.5.5 外连接0 o4 c" T. R9 l4 X. F; m
6.6 数据的集合运算
6 Q! H9 `( ]! ~5 h6 K# Q" }+ i6.7 本章小结2 f+ \/ d% U! ]; `
1 C3 O @4 ?4 W J$ Z3 ^第7章 分组统计查询
; M$ e! E' n; F i' D- z/ n7 h7 t( 视频讲解:1小时20分钟)$ `- N: E1 j/ y
7.1 统计函数. H7 t W& c) n+ _
7.2 单字段分组统计( ]3 r& A# K; M) L
提示:分享一下个人的分组规律1 }8 g. s, T8 f4 l1 C. Y6 }
7.3 多字段分组统计
3 T6 ~) ^3 `- S) `7.4 HAVING子句- p1 _+ ?9 v9 V; p% q
7.5 本章小结. W6 ?6 N/ U" T" H$ @7 B5 `
! ^; m. [9 r5 Z/ g" u: x第8章 子查询3 B* S; U% L8 `" I
( 视频讲解:4小时3分钟)" K6 n x$ ^ u
8.1 认识子查询) ~) f0 k$ r; L# p9 R( @- G7 m) P# o
8.2 在WHERE子句中使用子查询
) f- k+ B9 O$ Q5 L+ h, ^; F. S8.2.1 子查询返回单行单列数据% s* z% H! ?& V3 H
8.2.2 子查询返回单行多列数据
$ m, s7 F2 R: C, O l# L( H8.2.3 子查询返回多行单列数据; ~1 C3 i7 R T& c0 I9 J9 ~; F& a! C
提示:关于SOME操作符
# ~2 \1 Q: T' F* S: h8.2.4 空数据判断' d; S, ~ u7 K K9 C L5 t- f
8.3 在HAVING子句中使用子查询5 m! E2 ]$ k. ?$ i
8.4 在FROM子句中使用子查询
) I8 I3 H( y& ?! r7 u8.5 在SELECT子句中使用子查询
. L: k- [. G- A3 X8.6 WITH子句
- \3 R$ ^3 _9 b2 Y, c5 s8.7 分析函数
" x& p& w# i% F7 J5 h& o# H8.7.1 分析函数基本语法
5 u1 Y( r3 O. J- ?: j提示:关于“分组”与“分区”
4 S- `- B7 o, {6 O I+ u" L: ~9 H, C8.7.2 分析函数范例+ P K& ~7 ~) K$ S) x ` N$ h
8.8 行列转换9 w1 _2 ?$ m. n
提示:使用XML与ANY+ k# J9 l" z2 R
8.9 设置数据层次& Q4 k3 `* M& z" a% W+ I/ z- ^
8.10 本章小结
5 P4 z+ S, `, O$ ^3 \5 E# \7 g/ ~# c% U x9 ?
第9章 更新及事务处理
& a" F5 a5 b: s! h$ s' w( 视频讲解:1小时32分钟)
9 c5 s% Z+ Q. _9.1 更新操作前的准备
9 V: }+ Q- I) X( U! N4 c+ b3 |9.2 数据的增加操作0 K! w6 e: w8 a
9.2.1 增加数据
: b1 A$ ?. i- G v; B9.2.2 增加子查询结果数据
5 L# s7 `+ x2 z9.3 数据的更新操作- l7 z, Q3 |# f
9.3.1 由用户指定更新数据
3 I ?7 ~" _. a: ~6 q' [1 i9.3.2 使用已有数据更新数据表
+ @5 O0 }) j/ I" J. s+ e0 ^9.4 数据的删除操作
" _9 d+ k( f9 A ?9.5 事务处理+ `+ v' w4 V9 t# b
9.6 锁0 g, j- m. @" U5 I" q
9.6.1 行级锁定
7 x, a( W" S. [2 g9.6.2 表级锁定
. p/ P- D: J1 A9.6.3 解除锁定
: j/ X: @: T4 t4 J( @$ I% k; C9.7 本章小结
, Q: g& s5 @( ~: Y
& ?; ^' C% ?6 j8 l$ S+ r第10章 替代变量
) ^3 o& }( W& e; L) A2 X( 视频讲解:43分钟)
7 ^8 r G! y1 s10.1 替代变量的基本概念% U. T6 u/ m0 b" g+ |
10.2 替代变量的详细说明9 _, \% B7 Q2 I5 ^% z) u7 u
10.3 定义替代变量% o9 o5 _- N$ D8 q0 N, c9 }
10.4 ACCEPT指令
, P1 q: y, p" h9 Y- x& z) e10.5 本章小结
C& Y6 w' ]8 p) j3 y$ A
5 V) T+ k2 L g0 a第11章 表的创建与管理
3 @$ o" ^1 B( R/ Y( 视频讲解:1小时48分钟)2 k: ^$ l. P( W* n$ ]& ~8 `0 a; r
11.1 数据表的基本概念
# {+ j1 w' H( D m11.2 Oracle常用数据类型4 w7 l6 E5 S* m0 k) D c4 c3 l( `
11.3 表的创建
. Q" ~6 u# P1 e% o7 V11.4 表的复制
# S0 @/ G- Q! ?, p y ^6 @11.5 数据表重命名4 z. c+ ]- p' l" `: n' ~" O) i
11.6 截断表4 b2 `. z- [; K) s! e
11.7 表的删除
3 K7 s! ?: p9 Z1 H! ^+ d/ f1 b11.8 闪回技术(FlashBack)
! b/ J+ Y" M( A0 F6 W11.9 修改表结构: d% n" D$ x* D7 d$ I$ j0 e8 B% U, i
11.10 添加注释
; ]: I# p& t3 \% L11.11 设置可见/不可见字段
2 W2 n( g+ u! ^# R11.12 表空间" p7 e* T: o; O; f1 K
提示:关于数据库系统的三级模式结构
. i' J" `1 i9 C& R) ^1 p# s* p提示:关于数据库、表空间、表的简单理解" n r. I5 f5 T1 V* I8 P
提示:关于非系统表空间的称呼
1 R0 O$ j0 J3 U11.12.1 创建表空间, [ C, C+ t* @' j" b. M3 ~
提示:Oracle中的默认表空间( ?' Q7 r7 N2 F. v8 f
11.12.2 使用表空间& ]8 A' j3 t# E3 z- V
11.13 本章小结5 O5 c, a# [9 L) v% l
% z6 I' H5 N+ |2 p6 O4 c
第12章 完整性约束4 m( O2 C2 `6 g5 k8 T
( 视频讲解:2小时20分钟)3 K, b, F5 f6 e
12.1 数据库完整性约束简介
; F5 v ~& j# a7 }1 Y! h" m12.2 非空约束NK
) B3 f9 T, R9 y+ G0 s! K- `12.3 唯一约束UK
8 Q1 H- q( n7 m/ U' i6 M12.4 主键约束PK; ~# c1 k2 q9 w) j# I+ R6 U D' Q
12.5 检查约束CK u/ f6 @" G3 m9 ~( p( W5 V
12.6 主-外键约束FK
1 \9 ~2 k# X# e. a% F, c; W2 E12.7 查看约束: C# f K$ a1 A( _5 P
12.8 修改约束8 b0 G1 l9 Y6 ]# C
注意:在为表中添加约束时一定要保证表中的数据没有违反约束# {# H s' Q7 j' ?7 f: b- }
12.9 数据库综合实战
& o0 F w) T2 w/ y12.9.1 建立数据表7 H4 L0 P9 E& V3 i& l
12.9.2 为数据表增加数据
$ t, u) w( b! \& H! t12.9.3 数据操作! \. d; i/ n3 X+ u6 f
12.10 本章小结
8 g2 f: ^; R( J/ K- |& E/ ^8 {- o" y1 L
第13章 其他数据库对象 x* S6 n# j8 s/ k% X+ P* D) Z
( 视频讲解:2小时46分钟)2 ^7 ^5 @, s( b1 _' l, H+ P
13.1 视图/ K/ A3 t- c6 \
13.1.1 创建视图
4 J& ~) Y. D0 x% n$ `提示:关于Oracle 12c创建视图时出现的权限不足的错误$ ~6 }) \/ V* H$ J
13.1.2 在视图上执行DML操作
' r3 Z. H& A& H13.1.3 WITH CHECK OPTION子句
# w. d' r: U3 T* G, Z13.1.4 WITH READ ONLY子句9 e* p+ d1 M* ]3 k7 P) A/ _
13.1.5 删除视图
& G) x. s3 A8 c13.2 序列
- j V" W2 I9 J4 I3 L x& }2 P13.2.1 序列的作用及创建
+ @) }& e" m/ P+ k# X: L13.2.2 序列的删除
5 r+ o4 P$ F9 ?1 W4 L3 [5 L13.2.3 创建特殊功能的序列
! _. S$ W( j0 }: Z提示:设置缓存有可能造成跳号的情况
7 G' g* A. e) I0 G. k3 ]13.2.4 修改序列
) q* |8 `+ H$ n3 J9 g: P# R2 v13.2.5 自动序列) p/ A8 n8 P) H5 ^
注意:自动序列对象的删除( s3 r" D2 }4 T# L3 e
13.3 同义词
r D9 W9 I S13.4 Oracle伪列
) ?0 _: X( ^7 Z13.4.1 ROWID伪列
7 z* m6 Z" w% p) d4 B13.4.2 ROWNUM伪列4 \( l0 d7 O) X) l3 c+ }- Z: N: t$ L
13.4.3 Oracle 12c新特性FETCH. [6 s, M- @2 h5 P7 s2 [2 u) a
13.5 索引% Z0 |) ^0 K2 \& `$ }/ F; R
提示:关于索引深层次学习
1 m I9 Q: y! {+ h# u; t3 ^% i13.5.1 B*Tree索引
$ W% l% J0 i. }) s* V提示:关于全表扫描
4 i" G9 u* _7 e" a13.5.2 位图索引) h6 q0 d+ h0 E, n
13.5.3 删除索引
- ]7 z- u7 [* `( Y7 q# r: g/ `4 ]13.6 本章小结/ p# W3 m" E2 H5 m# M z: k6 s
! G2 q7 h: j$ Y+ c* a6 t
第14章 用户权限及角色管理
1 t' w" T2 N: _9 L S& N( 视频讲解:1小时23分钟)2 \( a) j0 `" K# P, X$ H0 j- B5 T
14.1 用户管理
# a; e; M# l3 d. L' C14.1.1 创建用户
' }) r0 V% w- E7 A/ H注意:Oracle 12c的新限制" g$ e5 {% [' I+ E/ L+ f( l
14.1.2 概要文件(profiles)
# Z$ M8 Q3 [+ N: c+ q C9 T; _14.1.3 维护用户
6 q6 h- |" |& @% b14.1.4 删除用户7 [; j/ }1 o/ |# y' Y/ q$ e4 ^
注意:删除用户是一个危险操作( \1 _) ^4 @% e2 v4 }
14.2 权限管理* m$ K5 f0 N9 z R) |
14.2.1 系统权限
8 N1 O/ g8 C+ I2 ~( [提示:SYSOPER和SYSDBA权限) }$ Y6 _' P) b
提示:用户SESSION连接6 F8 S) E0 Q) ~
14.2.2 对象权限
; H1 `+ Z% r3 A2 ~14.3 角色* z+ }4 I0 M, w+ B$ C2 g
14.3.1 创建角色
6 @, l3 o2 A2 h( ^# I14.3.2 角色授权 u$ m8 w* }& F1 Z7 Y8 b) V! X
14.3.3 为用户授予角色
' W# b" m$ C1 k8 h5 a+ m% V' r14.3.4 修改角色及回收角色权限
0 ^" F# m+ D7 ^# o+ I0 ?# N& l4 O14.3.5 删除角色
, b. g+ v& ^6 ^. r8 ~& f. W14.3.6 预定义角色
& K! z0 L: t8 n6 W5 \% N5 P14.4 本章小结+ T/ E) t& C+ Y9 [
8 K$ V0 R/ x/ V z; ]1 {
第15章 数据库设计
; m# {0 y9 c2 w( 视频讲解:1小时36分钟)* [0 K2 s; ^; a6 a' P& B
15.1 数据库设计概述
: J4 {' N( r1 \* p" c# J15.2 概念模型与E-R图概述. j% y) _5 ^0 n, F+ W
15.2.1 实体
5 n u3 @; @. x15.2.2 属性5 R7 h2 E( c% J' f" Y4 ~
15.2.3 联系
9 M$ _+ @& s' W# F6 [- N |15.2.4 E-R模型实例; L; {9 x4 {) G2 a* H8 ?7 i+ N
15.3 数据库设计范式
3 `1 Z% v% K3 v" w; u15.3.1 第一范式(1NF)
k6 h7 L( o9 V- C7 y/ r15.3.2 第二范式(2NF)
0 y6 Y( H8 U" n提示:关于函数依赖的解释 |* x+ W! V0 \# G- y8 z
15.3.3 第三范式(3NF)$ h- W( W* Y( O* j1 h4 [/ E
15.3.4 鲍依斯-科得范式(BCNF)
0 F; T/ D1 U; l: b3 x15.4 Sybase PowerDesigner设计工具/ P6 C% b% M# p1 L8 p1 B- {3 E
15.4.1 概念模型设计
0 z" ]# |# M. g5 y* M15.4.2 物理数据模型设计# x0 q! W3 {9 R! }7 C8 @* o5 J
15.5 数据库设计案例$ }% r8 Q) C/ u a+ g9 N
15.5.1 功能描述+ k; ?5 H0 @' B+ | N
15.5.2 概念模型/ [% X9 Z7 {# v: `
15.5.3 物理数据模型0 q2 T9 D- n; T
15.6 本章小结2 Q4 J0 v* Q& k& y
0 o; B; \+ [8 S$ s9 v, ?& k/ ]
第3部分 数据库编程
$ n7 u8 l2 ^* I/ E第16章 PL/SQL编程基础9 V0 o/ ?( @( l, P) \. a
( 视频讲解:3小时)5 q1 L2 Y4 ~! }% c$ ?
16.1 PL/SQL简介
& I& r3 G- L; `( F16.2 变量的声明与赋值& _. T& F1 q: z: `- x4 u9 x% ?! p
16.2.1 声明并使用变量! d8 g2 I* M! b
提示:关于Oracle关键字说明0 Z8 n/ M% ]0 B" O, A% X
注意:PL/SQL中的变量不区分大小写 t* H3 d' z# v3 o0 o6 N0 j
16.2.2 使用%TYPE声明变量类型
B' O* F7 `8 F: S4 u" w16.2.3 使用%ROWTYPE声明变量类型( g2 p* J+ H8 j# W0 M
16.3 运算符' K, l( F5 j; e$ A
16.3.1 赋值运算符& Z$ w+ e0 Z4 V6 b9 R2 {
16.3.2 连接运算符
$ b t ^' w5 p4 [8 ]( W16.3.3 关系运算符
) y) U) P% a" w E! E16.3.4 逻辑运算符
; V; ?3 L/ r x( U. j# f16.4 数据类型划分) ?' R. p3 f- v3 N
16.5 标量类型
p4 e! W5 H4 x5 c0 h w; J16.5.1 数值型" l4 o' E1 n0 m, Z# O0 n
提示:关于数据溢出问题, ^6 ~8 p. t8 j7 |8 |
16.5.2 字符型+ u- ~* u1 Q2 s. r
16.5.3 日期型
! J& Z: W/ Z5 H: U/ p16.5.4 布尔型0 V z( E( f6 ^7 {0 _1 w. b% L% o/ |
16.5.5 子类型
2 y) }$ ]$ n( x4 ]6 C: I9 t16.6 程序结构2 p: g4 }3 n0 ?) A) o! q6 j2 E% G; ~
16.6.1 分支结构
1 R1 c) O$ g; L提示:Oracle也支持正则验证* i* i0 M0 t8 o0 \; } L4 ?
16.6.2 循环结构
: e& I _+ K' U3 u0 |16.6.3 循环控制
?6 @1 c6 ~( ]. @7 S. K8 {$ f* D. p16.6.4 GOTO语句
) l. C' }) l' V$ Q$ @* X B16.7 内部程序块
3 H# O& g' G4 Z5 p/ ~16.8 异常处理
; \, u3 ?7 l6 [16.8.1 异常简介! R! {* a4 g; q5 I. y6 x
16.8.2 使用EXCEPTION来处理异常2 Q3 m' y& v! B9 E0 W
16.8.3 用户自定义异常
6 D0 K' |0 z: q( D, b1 Y( W& y16.9 本章小结4 Q8 V) h" D/ r$ s/ ?& h
- M `% v% r4 @
第17章 集合
- A5 M/ M0 y( \* n" U1 M) ~( 视频讲解:2小时52分钟)
$ z( _$ l4 p: s& Z: l _# j17.1 记录类型
% q1 [. x& W2 @" A T; f& ?17.2 索引表4 d- `8 x, O6 A: M- D6 Y3 C' J
17.3 嵌套表
" r2 G& F$ z* O) Z3 p0 c' k17.3.1 定义简单类型嵌套表4 r3 r8 {$ C) a, U1 ]" g/ O% d' \
17.3.2 定义复合类型嵌套表- u% X$ J: Q6 F' {# n, {
17.3.3 在PL/SQL中使用嵌套表
) i0 l& B1 H- Z+ J# b S17.4 可变数组
3 W( W' Q P" x" @* J) i17.4.1 定义简单类型的可变数组
) H( u# @; Z2 X. V; D17.4.2 定义复合类型的可变数组
6 n9 C! j; c% ?. Y, ~17.4.3 在PL/SQL中使用可变数组
" n. k1 J% C% m- J8 ^# v17.5 集合运算符; Y* T4 H% Q1 {' d
17.6 集合函数, ?+ `9 l: S7 G* F0 c* O& u' x
17.7 处理集合异常2 D$ Q1 k1 h, L9 c
17.8 使用FORALL批量绑定
) k9 _/ B; G) m; B) m17.9 BULK COLLECT批量接数据
$ `2 s- V1 h, |7 z, ?# q J17.10 本章小结2 I0 p& K0 o- Z% k
, C0 b: e6 S: @& d, o第18章 游标
- L: {3 l2 s* d6 X& A( 视频讲解:1小时19分钟)- ]" U4 L4 w- N' g& C
18.1 游标简介
- v, C" J9 \3 h5 ]5 L18.2 隐式游标. z* k; O9 ^/ \. F, d' @% S5 d& G1 N) J
18.3 显式游标
5 f. a! H2 C* O2 X4 }0 b; f) X* m18.4 修改游标数据: i. s1 N+ p* ~) B" C
18.4.1 FOR UPDATE子句
. B* a2 j$ M8 b( n& v" P3 j18.4.2 WHERE CURRENT OF子句 r9 y* g) {( h: \/ z( W# }
18.5 游标变量
" m4 G( n' T( E6 @18.6 本章小结
/ k$ r R1 L, `3 D0 N. d( r; I% \' r6 I. P
第19章 子程序" u4 j) C* X5 \3 P5 n- s
( 视频讲解:2小时26分钟)
( i }0 z. v/ h19.1 子程序定义* C% D) p9 L5 N2 _+ e* H
19.1.1 定义过程
6 E* J0 W7 @+ C19.1.2 定义函数% Z- Z9 ^* ]6 m5 s. d6 h
19.2 查询子程序
: {; r. A# e) P) |( a C19.3 删除子程序
7 @8 ?$ u3 Y: i$ k5 f19.4 参数模式2 U/ E. Z9 h8 }' [& n- i# M# g& ]
提示:不再重复演示函数的参数模式
; J1 w5 z. ]8 z19.5 子程序嵌套
. ]6 i; t7 ]* Z% I19.6 NOCOPY选项7 V- v- `6 J8 @! w, }2 G& r# T
19.7 自治事务
4 H5 E9 B9 ]* O, ^ ]% P7 D8 e* X. _. U19.8 子程序权限
& v4 U9 x6 @, {19.9 利用Java调用子程序
6 {5 y% {5 y {8 x19.10 本章小结& `+ u+ Y" S) E7 ]! V8 g$ p
4 Q3 f+ T) v, w9 x% C
第20章 包
1 q7 z J w5 ]: U5 q9 o( 视频讲解:1小时38分钟)% ]5 U! p' L! P
20.1 包的定义及使用
4 r& j& T$ T( D20.1.1 包的基本概念, ?" T- |/ j& Y
20.1.2 重新编译包
, Y6 F/ [) {. E20.1.3 包的作用域6 ~) R6 s, A' f8 ^9 U
20.1.4 重载包中的子程序 ?$ u) z* m# P
20.1.5 包的初始化8 v4 h2 |6 v( Q& i. q
20.1.6 包的纯度级别/ t8 P* z) z, u0 a7 I: q4 h: w
注意:关于公用函数的说明* w4 n) A- J* K7 X/ }( |
20.2 系统工具包% ^* g4 ]8 q. r( }/ L4 v
20.2.1 DBMS_OUTPUT包% [. j* y" N# h2 X0 m" @
20.2.2 DBMS_JOB包与数据库作业3 W5 m. G' O. n s7 R! d
20.2.3 DBMS_ASSERT包
9 I8 C; \+ T0 l o3 Q3 t提示:利用DBMS_ASSERT可以解决SQL注入攻击
& ~% G( m7 \3 i" b20.2.4 DBMS_LOB包# ~& ?7 p/ m$ o9 z- L L& e
20.3 本章小结
$ X7 m; { L) g' u! P$ M; c6 l
! d& r/ d5 S! j$ n: O( e' {+ N! [第21章 触发器( r |4 R8 F* u
( 视频讲解:3小时30分钟)0 L1 L+ j1 O! b! Z
21.1 触发器简介
9 }8 B1 o% f4 y3 Y& i( Q, B21.2 DML触发器( n7 l$ B1 d% L* q4 L
21.3 表级DML触发器2 c3 g3 M0 ^+ t7 x- I9 [
21.4 行级DML触发器# o9 r$ n3 u* z. p! W
21.4.1 使用“:old.字段”和“:new.字段”标识符9 u) c% E. K1 o/ N% A/ N
注意:不能将“:new”或“:old”设置为ROWTYPE类型5 C5 k( n6 A+ g6 O" x8 L+ \
21.4.2 使用REFERENCING子句设置别名+ f' u( I* L7 H8 Q0 G
21.4.3 使用WHEN子句定义触发条件
% `" N' ]+ {2 O8 c6 Q* {& B2 F) `21.4.4 触发器谓词
% d$ |: `5 F8 v& W4 H" w6 E21.4.5 使用FOLLOWS子句4 m- `. G; W- V& g
21.5 变异表
+ i2 N6 z* k8 b& l0 s21.6 复合触发器
3 c2 T+ |2 _( x, M21.7 instead-of触发器$ V; A0 W0 s5 b$ x o! g! ^
21.7.1 在视图上定义替代触发器9 w. y; _* Y& u @
21.7.2 在嵌套表上定义替代触发器
0 ?8 r& A; E: m: E21.8 DDL触发器
: E+ A- d" _. M% C( ]' y21.9 系统触发器. S- ^; D2 C3 \
21.10 管理触发器; E! M W( ]- d. C1 C- r/ j" C( L
提示:Oracle 11g之后可以建立禁用触发器; y5 A8 b4 j* D4 O
21.11 触发器中调用子程序' G* H4 b$ T$ V: u' X; p7 H
21.12 本章小结
, n' P: D" q4 p( C% M4 W
9 l1 o( @# Y- y; t第22章 动态SQL
; a% R; t+ w7 ~! D9 C1 ]& |( 视频讲解:1小时17分钟)
9 D# I6 @# w) Z' E" v7 ]7 d1 t) G22.1 动态SQL简介
) g* P5 |! I4 ^3 R$ @2 F提示:如果不使用EXECUTE IMMEDIATE,则程序会出现错误
' @! X1 ?4 T( Y( Q/ ]2 `" n提示:在get_table_count_fun()函数执行时可能出现“ORA-01031:权限不足”错误提示2 K/ @1 N0 e0 J }; E
22.2 EXECUTE IMMEDIATE语句+ G2 z8 W2 x! W( U3 s
22.2.1 执行动态SQL
% V6 n4 h2 D) D22.2.2 设置绑定变量5 v) N& E3 C% v" J. t! J% k" e
22.2.3 接收DML更新行数
$ \3 \" P# Q( q5 i" W U9 I提示:也可以使用RETURN接收影响数据行的数据' |& d7 b2 Z7 e6 N7 x n" i7 @
22.3 批量绑定- @) n4 s1 p# x
22.4 处理游标操作/ q$ J! t5 T- X
22.5 DBMS_SQL包简介 Y! Q, d3 y; d- k5 @- k
22.6 本章小结
1 M" j( I: k9 }) F' \
}$ M* R7 }- @. k' f第23章 面向对象编程
" x0 }* t" U+ b! k6 P( 视频讲解:2小时35分钟)
# f" T% W# H2 D1 I23.1 面向对象简介7 m1 l+ F! s7 }) `) d
23.2 类与对象1 L( \2 k/ m9 o- c4 @- D5 W
23.3 定义对象类型——类! G* A( l" X. z. K$ p1 c0 C7 Q
23.4 操作类中的其他结构
( {, W" h' p1 K23.4.1 定义函数
7 J6 t& Q7 j: O4 M+ a23.4.2 构造函数
2 o" s' s" j F6 q提示:关于默认构造函数
) @( U0 c9 i* |8 n& A+ b% p- t23.4.3 定义MAP与ORDER函数, |1 w7 D% u7 @% O7 _
23.4.4 对象嵌套关系4 q( P# N8 o' M9 d
23.4.5 继承性
, p0 s: b) W' i23.4.6 函数覆写
4 U, S/ b6 P( V& @# @9 ^2 v23.4.7 对象多态性4 K% J) e d0 t. _" a
23.4.8 使用FINAL关键字: m, N) g7 U' C9 `
23.4.9 定义抽象函数1 Q) A0 V8 T5 D0 V, f6 y. g7 B) w! ^
23.5 对象表
! e$ \- ` u$ Y$ c0 E23.5.1 创建对象表3 l% r, ]" v2 v9 \) V
23.5.2 维护对象表数据
% I" p0 ]7 F6 |23.6 对象视图
7 a* u0 c6 l9 W' M23.7 本章小结
- O4 A+ g) C" ], r$ Q |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|