金仓数据库KingbaseES是北京人大金仓信息技术股份有限公司(简称“人大金仓”)研发的一款面向大规模并发交易处理的企业级关系数据库。它融合了人大金仓在数据库领域几十年产品研发与企业级应用的实践经验,可满足各行业用户多种场景的数据处理需求。KingbaseES遵循严格的ACID特性,结合多核架构的极致性能、行业最高的安全标准、完备的高可用方案,以及可覆盖迁移、开发及运维管理全生命周期的智能便捷工具,可为用户带来极致的使用体验。金仓数据库KingbaseES广泛服务于电子政务、能源、金融、电信、教育及交通等60余个重点行业和关键领域,累计装机部署超过100万套,入选国务院国资委发布的十项国有企业数字技术典型成果。
PL/SQL是KingbaseES数据库对标准SQL语言进行过程化扩展,专门用于各种环境下对KingbaseES数据库进行访问和开发的语言,具有高性能、可移植、可扩展、兼容性好、支持面向对象编程等优点。
本书从PL/SQL的基本语法入手,详细讲解了PL/SQL开发的所有功能模块、方法和技巧,并以一个简化的在线购物平台数据库为例,将各章节的理论知识翔实地融入实践当中,让读者体验完整的项目实操过程,也为KingbaseES开发者提供一个关于PL/SQL过程语言的全面、坚实的参考资源。本书既适用于KingbaseES数据库开发人员、KingbaseES数据库管理员等相关数据库从业人员,也可以作为大中专院校计算机科学与技术、软件工程等相关专业师生的参考用书和培训机构的培训教材。
全书共分16章,章节安排以KingbaseESPL/SQL的功能特点为主线展开,通过大量系统性应用实例加以验证,内容讲解由浅入深,层次清晰,通俗易懂。第1章介绍KingbaseESPL/SQL的优点、特征、运行机制和案例数据库;第2章介绍PL/SQL的程序结构以及涉及的3种主要控制语句;第3章介绍PL/SQL的复合数据类型,包括集合类型和记录类型;第4章介绍游标、游标变量、批量处理操作等PL/SQL中的静态SQL语句及其应用;第5章介绍事务处理、自治事务,二者之间的调用关系及使用;第6章介绍动态SQL语句,包括本地动态SQL和DBMS_SQL包两种技术,以及各自的编程方法;第7章介绍处理PL/SQL运行错误的方法,包括定义异常、引发异常和处理异常;第8章介绍PL/SQL中3种常用的输入与输出机制,包括在控制台输入和输出信息,读取数据到内存和写入数据到本地,以及通过网络获取数据;第9章介绍PL/SQL子程序,包括独立子程序、嵌套子程序以及表函数;第10章介绍PL/SQL中用户自定义对象的创建、使用,以及与Oracle的差异;第11章介绍PL/SQL中用户自定义聚集函数的创建、使用,以及与Oracle的差异;第12章介绍程序包的创建和使用;第13章介绍PL/SQL中DML触发器、事件触发器的创建和使用,以及触发器的管理;第14章介绍PL/SQL中通过Wrapper实用程序和DBMS_DDL子程序实现代码的加密保护;第15章介绍PL/SQL的执行跟踪和调试器功能;第16章介绍通过DBMS_JOB和DBMS_SCHEDULER包的自动作业功能函数实现任务调度与执行功能。
本书具有以下特点。
(1)由浅入深地成体系讲解KingbaseES PL/SQL的所有功能,弥补了国产数据库在PL/SQL过程语言方面的内容缺失;该体系下的丰富内容和组织形式使数据库开发人员更易于理解、掌握相关理论和方法。
(2)注重理论和实践的结合,以一个简化的在线购物平台数据库案例贯穿全书,讲解理论时针对每一个语法或知识点,结合案例设计了大量应用实例验证、解读,使读者能读懂,会使用,提高效率。
(3)考虑从国外数据库到国产数据库的迁移需求,如从Oracle及PostgreSQL数据库迁移到KingbaseES,协助数据库开发人员用好国产数据库,提高国产数据库在国民经济各领域的应用范围,书中对相关数据库作了差异性比较,并提供了丰富的转换操作应用实例,使KingbaseES能更好地兼容其他数据库。
(4)提供配套的数据库案例和示例源代码。
本书由张德珍、张俊、曹志英、杜胜、冯玉共同编写。全书大纲由杜胜、冯玉拟制,由张德珍执笔,张俊、曹志英参与本书的编写讨论和用户案例库设计,最后由张德珍统稿,杜胜和冯玉参与本书撰写过程的全部讨论,并对本书进行审定,提出大量宝贵的意见和建议。参与本书编写工作的还有大连拓扑伟业科技有限公司的宋盈吉、王兆松、郑昊、朱莹琦,大连海事大学信息科学与技术学院的宋鹏飞、秦一、陶李婷、相龙、刘畅等同学,分别收集整理了各章节相关素材,并设计和验证了相关案例。在编写过程中,作者参阅了人大金仓、甲骨文公司、PostgreSQL开源数据库、大连拓扑伟业科技有限公司等相关的数据库文档、联机帮助和教学培训成果,也吸取了国内外相关参考书的精髓,对这些作者的贡献表示由衷的感谢。在本书的出版过程中,得到了中国人民大学王珊教授的支持和帮助,还得到了清华大学出版社张玥编辑的大力支持,在此表示诚挚的感谢。
由于作者水平有限,书中难免有不妥和疏漏之处,恳请各位专家、同仁和读者不吝赐教,并与笔者讨论。
作者
2023年5月于大连