没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Oracle pl/sql programming 应用程序开发指南 mailto:dingjunlove@163.com
第 1 页 共 207 页
1
Oracle PL/SQL ProGramming Develop Guide
--dingjun
目 录
序言-特点介绍 .................................................................................................................................2
PART1 用 PL/SQL 设计程序..........................................................................................................4
第 1 章 PL/SQL 在 10g 中的新特性 ......................................................................................4
第 2 章 建立和运行 PL/SQL 程序 .........................................................................................6
第 3 章 PL/SQL 语言基本原理 ............................................................................................10
PART2 PL/SQL 应用程序结构......................................................................................................14
第 4 章 条件和序列控制.......................................................................................................14
第 5 章 循环控制...................................................................................................................22
第 6 章 异常处理...................................................................................................................26
PART3 PL/SQL 应用数据..............................................................................................................36
第 7 章 用数据来工作...........................................................................................................36
第 8 章 Strings.......................................................................................................................38
第 9 章 Numbers....................................................................................................................42
第 10 章 Dates and Timestamps............................................................................................45
第 11 章 Records....................................................................................................................48
第 12 章 集合类型.................................................................................................................50
第 13 章 其他数据类型.........................................................................................................84
PART4 PL/SQL 中的 SQL...........................................................................................................109
第 14 章 DML 和事务管理.................................................................................................109
第 15 章 获取数据(Cursor).................................................................................................149
第 16 章 动态 SQL 和动态 PL/SQL...................................................................................190
Oracle pl/sql programming 应用程序开发指南 mailto:dingjunlove@163.com
第 2 页 共 207 页
2
序言-特点介绍
1-1 pl/sql 可以做的工作:
1. 用 pl/sql 的存储过程和数据库触发器实现至关重要的商业规则。
2. 在数据库中生成和完全地管理 xml 文档。
3. web 页面与数据库的结合。
4. 实现自动化的数据库管理,用 pl/sql 建立安全级别来管理回滚段。
1-2 pl/sql 特点:
从 oracle 6 开始,模仿 Ada 语言的实现,Ada 语言强调数据抽象,信息隐藏,还有其他
现代语言设计中的关键策略。pl/sql 做为 3GL 语言具有面向过程语言的许多重要特性,如:
1.丰富的数据类型,从 number 到 string,从复杂的 record 到 table,以及集合类型等。
2.显示的可读性强的块状结构,可以增强我们维护 plsql 程序。
3.条件,循环语句,包括 if---else,3 个 loop 循环(简单 loop,for...loop,while...loop)。
4.完整的异常处理机制。
5.命名的,可重用的代码,如包,函数,过程,触发器,对象类型等。
6.plsql 是 sql 的有力补充,与 sql 之间的联系紧密,整合性强。
7.plsql 是 oracle 数据库产品的内置语言,不是一个孤立的语言。
8.是一种高性能的语言。
9.pl/sql 运行过程
Oracle pl/sql programming 应用程序开发指南 mailto:dingjunlove@163.com
第 3 页 共 207 页
3
Plsql 引擎可以接受应用程序的程序,然后将 sql 部分和 plsql 部分分离出来,分别交给
sql 引擎和 plsql 引擎执行,提高执行效率。
10.plsql 可以每次发送成组的 sql 语句到服务器端执行,不像 sql 每次只能发送一句,减少网
络负载量,提高效率,而且在 oracle 的相关工具中,如 oracle form 中,plsql 也得到增强。
11.总结一句话:plsql 有应用程序的特性,是 sql 的有力补充,具有流程控制,申明和使用变
量,plsql 能运行在任何具有 oracle 的环境中,plsql 能实现强大的业务逻辑处理。
12.plsql 支持 dml,select 语句,不直接支持 ddl,用动态语句,execute immediate 或 DBMS_SQL。
Oracle pl/sql programming 应用程序开发指南 mailto:dingjunlove@163.com
第 4 页 共 207 页
4
PART1 用 PL/SQL 设计程序
第 1 章 PL/SQL 在 10g 中的新特性
1.自动的,最佳代码编译
oracle 10g 发布的第 1 版本 10.1 会重新组织代码从而提高效率。非 sql 区域的效率会提高 2
倍
2.编译期警告
3.预编译功能,指定条件编译
最佳编译(optimized compiler)
在 10.1 中默认为最佳编译,可以通过修改会话 session 来实现指定编译
0 无最佳编译
1 中等最佳编译,可以消除过剩代码和异常
2 默认级别,最佳编译
ALTER SESSION SET PLSQL_OPTIMIZE_LEVEL = 0;
也可以指定 procedure 的编译,先设过程级别,然后用 reuse
ALTER PROCEDURE bigproc COMPILE PLSQL_OPTIMIZE_LEVEL = 0;
然后使用
ALTER PROCEDURE bigproc COMPILE REUSE SETTINGS;
编译期警告
ALTER SESSION SET plsql_warnings = 'enable:all'
条件编译
用$IF 指定
如 CREATE OR REPLACE PROCEDURE calculate_totals IS
BEGIN
$IF $$oe_debug AND $$oe_trace_level >= 5
$THEN
DBMS_OUTPUT.PUT_LINE ('Tracing at level 5 or higher');
$END
NULL;
END calculate_totals;
支持非连续的集合用 forall,在 10g 之间用 forall 只能是连续的集合,forall 与批处理 bulk
collection 联合用,bulk collection 可以减少 plsql 的引擎和 sql 引擎之间的相互转换的次数,
所以能提高效率。10g 之后可以是非连续的单元,用 INDICES OF 指定,如
FORALL i IN INDICES OF inactives
DELETE FROM ledger WHERE acct_no = inactives(i);
forall 指定集合的值,用 values of
Oracle pl/sql programming 应用程序开发指南 mailto:dingjunlove@163.com
第 5 页 共 207 页
5
FORALL i IN VALUES OF inactives_list
DELETE FROM ledger WHERE acct_no = inactives(i);
提高数据类型的支持
oracle 10g 的所有数字类型的全部采用机器运算,提高效率,对浮点数运算采用二进制,提
高金融业计算的准确性,单精度 BINARY_FLOAT,双精度 BINARY_DOUBLE
支持 set 操作符
支持正则表达式
可以定义自己的引号处理,用 q',表示分界,指一个单引号,后面可以使用(,{,[,<等分界符
封装,如 q'[ needs to be closed with ]',对于 nchar 和 nvarchar 用 nq'^nchar string^',也可以把^
改成其他的分界符号
传统的是两个引号表示一个引号.q quote 可以通过分界将字符串中的引号特殊化,不需要两
个引号表示一个引号,看下面例子:
SQL> select q'<This's a cat>' from dual;
Q'<THIS'SACAT>'
------------------------
This's a cat
SQL> select q'_''_' from dual;
Q'_'
----
''
SQL> select nq'^a^' from dual;
NQ
--
a
SQL> select nq'_a_' from dual;
NQ
--
a
更多的 built_in 包,并且扩展了原来的包
DBMS_SCHEDULER 更新 DBMS_JOB. DBMS_SCHEDULER
DBMS_CRYPTO 提供加密技术
DBMS_MONITOR 监控
DBMS_WARNING 编译警告控制
剩余206页未读,继续阅读
资源评论
qiumomo
- 粉丝: 0
- 资源: 14
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Python大作业:音乐播放软件(爬虫+可视化+数据分析+数据库)
- 课程设计-python爬虫-爬取日报,爬取日报文章后存储到本地,附带源代码+课程设计报告
- 软件和信息技术服务行业投资与前景预测.pptx
- 课程设计-基于SpringBoot + Mybatis+python爬虫NBA球员数据爬取可视化+源代码+文档+sql+效果图
- 软件品质管理系列二项目策划规范.doc
- 基于TensorFlow+PyQt+GUI的酒店评论情感分析,支持分析本地数据文件和网络爬取数据分析+源代码+文档说明+安装教程
- 软件定义无线电中的模拟电路测试技术.pptx
- 软件开发协议(作为技术开发合同附件).doc
- 软件开发和咨询行业技术趋势分析.pptx
- 软件测试题详解及答案.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功