Oracle8i是Oracle公司开发的面向Internet网络计算并支持对象关系模型的数据库产品,其领先技术和优越性能得到最终用户和程序开发人员的普遍认可,从而使该产品在关键领域得到广泛应用。\r\n本书介绍Oracle8i数据库系统应用程序开发技术。全书共分五部分,分别介绍Oracle8i基本知识、PL/SQL语言、Oracle调用层接口、Pro*C/C++程序设计和Java内嵌SQL技术等。\r\n本书读者对象为Oracle数据库应用程序开发人员及大专院校相关专业的师生。\r\n
第一部分 Oracle8i基础\r\n第一章 Oracle8i简介\r\n1.1 安装Oracle8i数据库系统\r\n1.1.1 Oracle8i企业版产品介绍\r\n1.1.2 环境需求\r\n1.2 最佳灵活体系结构\r\n1.3 Oracle主目录\r\n1.3.1 选择Oracle主目录\r\n1.3.2 Oracle程序组和服务名\r\n1.3.3 登录表中的Oracle注册项\r\n1.4 Oracle数据库物理存储结构\r\n1.4.1 数据文件\r\n1.4.2 重做日志文件\r\n1.4.3 控制文件\r\n1.5 Oracle数据库逻辑存储结构\r\n1.6 模式对象\r\n1.6.1 表\r\n1.6.2 视图\r\n1.6.3 索引\r\n1.6.4 序列\r\n1.6.5 数据库链接\r\n1.6.6 过程、函数、包和触发器\r\n1.6.7 同义词\r\n1.7 数据字典\r\n1.7.1 静态数据字典\r\n1.7.2 动态性能表\r\n第二章 Oracle数据库实例\r\n2.1 数据库实例\r\n2.1.1 数据库初始化参数文件\r\n2.1.2 打开数据库\r\n2.1.3 关闭数据库\r\n2.2 内存结构\r\n2.2.1 系统全局区\r\n2.2.2 程序全局区\r\n2.3 Oracle进程\r\n2.3.1 进程分类\r\n2.3.2 Oracle后台进程\r\n2.3.3 Oracle实例进程监视\r\n第三章 Oracle网络技术\r\n3.1 OSI参考模型和TCP/IP协议簇\r\n3.1.1 OSI参考模型\r\n3.1.2 TCP/IP协议簇\r\n3.2 Oracle8i网络结构\r\n3.2.1 Net8网络连接\r\n3.2.2 Net8操作\r\n3.2.3 Net8客户通信协议栈\r\n3.2.4 IIOP客户/服务器通信栈\r\n3.2.5 JDBC客户/服务器通信栈\r\n3.3 Net8网络配置\r\n3.3.1 监听器配置\r\n3.3.2 选择网络服务名解析方法\r\n3.3.3 Oracle本地解析方法配置\r\n3.3.4 Oracle Names服务器\r\n3.3.5 Oracle连接管理器\r\n第二部分 PL/SQL语言\r\n第四章 SQL*Plus 工具\r\n4.1 SQL*Plus启动与关闭\r\n4.1.1 启动SQL*Plus\r\n4.1.2 SQL*Plus环境设置\r\n4.1.3 关闭SQL*Plus\r\n4.2 编辑和执行命令\r\n4.2.1 编辑和执行语句\r\n4.2.2 命令文件操作\r\n4.3 输出格式控制\r\n4.3.1 列格式控制\r\n4.3.2 报表格式控制\r\n4.3.3 报表数据格式控制\r\n第五章 PL/SQL语言基础\r\n5.1 SQL发展历史\r\n5.2 PL/SQL语法格式约定\r\n5.3 PL/SQL词法单元\r\n5.3.1 分隔符\r\n5.3.2 标识符\r\n5.3.3 常量值\r\n5.3.4 注释\r\n5.4 数据类型\r\n5.4.1 标量数据类型\r\n5.4.2 LOB数据类型\r\n5.4.3 用户定义数据类型\r\n5.4.4 集合\r\n5.4.5 记录\r\n5.4.6 数据类型转换\r\n5.5 运 算 符\r\n5.5.1 算术运算符\r\n5.5.2 比较运算符\r\n5.5.3 逻辑运算符\r\n5.5.4 连接运算符\r\n5.5.5 集合运算符\r\n5.5.6 其他内置运算符\r\n5.5.7 运算符的优先级\r\n5.6 变量和常量\r\n5.6.1 声明变量和常量\r\n5.6.2 变量赋值\r\n5.6.3 变量作用域\r\n5.7 结构控制语句\r\n5.7.1 条件语句\r\n5.7.2 循环语句\r\n5.7.3 转移语句\r\n5.7.4 空语句\r\n5.8 SQL支持\r\n5.8.1 SQL伪列\r\n5.8.2 SQL语句分类\r\n5.8.3 SELECT语句\r\n5.8.4 INSERT语句\r\n5.8.5 UPDATE语句\r\n5.8.6 DELETE语句\r\n5.8.7 事务\r\n5.8.8 锁\r\n5.8.9 动态SQL语句\r\n第六章 错误处理\r\n6.1 Oracle8i错误消息格式\r\n6.2 错误类型\r\n6.3 异常错误处理方法\r\n6.3.1 预定义异常错误\r\n6.3.2 用户定义异常错误\r\n6.3.3 异常错误处理过程\r\n6.3.4 未命名Oracle错误处理\r\n6.3.5 定义异常错误消息文本\r\n第七章 函数\r\n7.1 SQL内置函数\r\n7.1.1 数字函数\r\n7.1.2 字符函数\r\n7.1.3 日期函数\r\n7.1.4 转换函数\r\n7.1.5 集合函数\r\n7.1.6 其他杂类函数\r\n7.2 用户定义函数\r\n7.2.1 创建用户函数\r\n7.2.2 参数传递\r\n7.2.3 参数默认值\r\n7.2.4 编译用户函数\r\n7.2.5 删除用户函数\r\n第八章 过程、包和触发器\r\n8.1 过程\r\n8.2 包\r\n8.2.1 创建包\r\n8.2.2 子程序重载\r\n8.2.3 Oracle内置包\r\n8.3 触发器\r\n8.3.1 创建触发器\r\n8.3.2 触发器限制\r\n8.3.3 触发器应用实例\r\n8.3.4 INSERTING、UPDATING和DELETING\r\n8.3.5 事件属性\r\n8.3.6 变化表和约束表\r\n8.3.7 重新编译触发器\r\n8.3.8 启用和禁用触发器\r\n8.3.9 检索触发器定义文本信息\r\n8.3.10 删除触发器\r\n第九章 游标\r\n9.1 游标操作\r\n9.1.1 声明游标\r\n9.1.2 打开游标\r\n9.1.3 提取游标数据\r\n9.1.4 关闭游标\r\n9.2 游标FOR循环\r\n9.3 游标属性\r\n9.4 游标修改和删除操作\r\n9.5 游标变量\r\n9.5.1 声明游标变量\r\n9.5.2 游标变量操作\r\n9.5.3 使用游标变量的限制\r\n第十章 对象\r\n10.1 定义对象类型\r\n10.1.1 创建对象类型\r\n10.1.2 对象方法重载\r\n10.1.3 对象构造函数\r\n10.2 对象参照类型\r\n10.3 对象前向声明\r\n10.4 数据库对象数据处理\r\n10.4.1 插入对象\r\n10.4.2 修改对象\r\n10.4.3 删除对象\r\n10.5 对象参照函数\r\n10.5.1 REF函数\r\n10.5.2 VALUE函数\r\n10.5.3 REFTOHEX函数\r\n第三部分 OCI程序设计\r\n第十一章 OCI程序设计基础\r\n11.1 OCI程序结构\r\n11.1.1 创建OCI环境\r\n11.1.2 申请句柄和数据结构\r\n11.1.3 连接服务器建立会话\r\n11.1.4 结束会话、断开服务器连接\r\n11.1.5 释放句柄\r\n11.2 错误处理\r\n11.2.1 OCI函数返回代码\r\n11.2.2 读取错误诊断记录\r\n11.3 OCI数据类型\r\n11.3.1 OCI外部数据类型\r\n11.3.2 数据类型转换\r\n11.3.3 类型代码\r\n11.4 程序实例\r\n第十二章 SQL语句处理\r\n12.1 准备SQL语句\r\n12.2 结合占位符\r\n12.2.1 指示符变量\r\n12.2.2 名称结合\r\n12.2.3 位置结合\r\n12.3 执行语句\r\n12.3.1 OCI执行函数\r\n12.3.2 批错误执行模式\r\n12.4 描 述\r\n12.4.1 描述选择列表\r\n12.4.2 描述模式对象\r\n12.5 定义输出变量\r\n12.6 提取数据\r\n12.7 事务管理\r\n第十三章 大型对象数据处理\r\n13.1 LOB定位符\r\n13.2 打开和关闭LOB\r\n13.2.1 打开LOB\r\n13.2.2 检查LOB打开状态\r\n13.2.3 关闭LOB\r\n13.3 LOB数据处理\r\n13.3.1 检索LOB数据长度\r\n13.3.2 读取LOB数据\r\n13.3.3 写入LOB数据\r\n13.3.4 删除LOB数据\r\n13.4 程序实例\r\n第四部分 Pro*C/C++程序设计\r\n第十四章 Pro*C/C++程序设计基础\r\n14.1 Pro*C/C++应用程序开发环境\r\n14.1.1 Pro*C/C++开发环境\r\n14.1.2 Pro*C/C++应用程序开发步骤\r\n14.1.3 Pro*C/C++预编译器\r\n14.1.4 嵌入式语句语法结构\r\n14.2 预编译选项\r\n14.2.1 预编译选项设置方式\r\n14.2.2 预编译选项数据类型\r\n14.2.3 预编译选项配置文件\r\n14.3 宿主变量\r\n14.3.1 宿主变量\r\n14.3.2 指示符变量\r\n14.3.3 宿主结构\r\n14.3.4 宿主数组\r\n第十五章 运行时刻错误处理\r\n15.1 SQL状态变量\r\n15.2 SQL通信区\r\n15.2.1 SQLCA结构\r\n15.2.2 检索错误消息文本\r\n15.3 Oracle通信区\r\n15.3.1 ORACA结构\r\n15.3.2 检索SQL语句文本\r\n15.4 WHENEVER语句\r\n第十六章 静态语句处理\r\n16.1 嵌入SQL语句\r\n16.2 嵌入PL/SQL语句块\r\n16.2.1 宿主变量与指示符变量\r\n16.2.2 宿主数组\r\n16.3 游标变量\r\n16.3.1 声明和申请游标变量\r\n16.3.2 打开游标变量\r\n16.3.3 关闭和释放游标变量\r\n第十七章 动态SQL语句处理\r\n17.1 Oracle处理方法\r\n17.1.1 选择Oracle处理方法\r\n17.1.2 方法1\r\n17.1.3 方法2\r\n17.1.4 方法3\r\n17.1.5 方法4\r\n17.2 ANSI处理方法\r\n17.2.1 申请和释放描述符\r\n17.2.2 描述动态SQL语句\r\n17.2.3 设置描述符\r\n17.2.4 检索描述符信息\r\n17.2.5 执行语句\r\n17.2.6 游标操作\r\n17.2.7 应用实例\r\n第五部分 Java内嵌SQL技术\r\n第十八章 SQLJ程序设计基础\r\n18.1 SQLJ简介\r\n18.1.1 SQLJ组成部件\r\n18.1.2 建立SQLJ开发环境\r\n18.1.3 测试SQLJ开发环境\r\n18.1.4 SQLJ应用程序结构\r\n18.2 SQLJ语句\r\n18.2.1 SQLJ声明语句\r\n18.2.2 SQLJ执行语句\r\n18.3 SQLJ选项设置\r\n18.3.1 SQLJ选项\r\n18.3.2 属性文件\r\n18.3.3 SQLJ_OPTIONS环境变量\r\n18.3.4 选项设置优先级\r\n18.4 连接数据库\r\n18.4.1 Oracle类\r\n18.4.2 连接环境类\r\n18.5 异常错误处理\r\n第十九章 SQLJ语句处理\r\n19.1 Java表达式\r\n19.1.1 宿主表达式\r\n19.1.2 Java表达式运算\r\n19.1.3 空值处理\r\n19.1.4 赋值语句\r\n19.2 事务控制\r\n19.3 过程和函数调用\r\n19.3.1 过程调用\r\n19.3.2 函数调用\r\n19.4 查询结果处理\r\n19.4.1 名称迭代\r\n19.4.2 位置迭代\r\n第二十章 特殊类型数据处理\r\n20.1 SQLJ流\r\n20.1.1 用SQLJ流向数据库写入数据\r\n20.1.2 在迭代中使用SQLJ流类型\r\n20.1.3 在过程和函数中使用SQLJ流\r\n20.2 对象和集合\r\n20.2.1 JPub\r\n20.2.2 对象操作\r\n20.2.3 集合操作\r\n20.3 Oracle扩展类型\r\n附录A Oracle数据库初始化参数\r\n附录B SQLSTATE代码\r\nB.1 类别代码\r\nB.2 子类定义
数据库技术是计算机信息系统的基础和核心, Oracle公司在这一领域一直占据着领先地位. 它所推出的Oracle8i产将其领先的数据库管理技术与Internet技术相结合, 为用户提供一个支持网络计算的对象一关系型数据库管理系统. Oracle8i数据库系统所具有的突出性能和优点为它赢得了大量用户, 尤其是在一些关键应用领域, Oracle数据库系统的使用更为广泛.
但是相比较而言, Oracle8i系统比其他数据库产品庞大, 操作复杂, 没有经验的用户一时难以熟练掌握其各种应用程序开发技术. 为帮助大家更好地使用Oracle8i产品, 我们编写了《Oracle8i数据库系统高级应用开发技术》一书. 本书从实用出发, 比较全面. 系统地介绍了Oracle数据库系统的应用程序开发方法.
全书共分五部分. 在第一部分中, 首先概括介绍Oracle8i数据库系统组成. 安装方法及其网络技术, 使大家对Oracle8i. 有一个整体印象, 掌握客户端与服务器的网络配置以及二者间和网络连接方法. 这是用户建立Oracle8i应用和开发环境并在其上进行程序开发的基础.
第二部分介绍SQL和PL/SQL语言. PL/SQL语言支持ANSI SQL标准, 并在其基础上对它进行了扩充. PL/SQL语言是Oracle数据库应用程序设计和系统管理的基础, 在使用OCI. Pro*C/C++. SQLJ等技术设计Oracle数据库应用程序时都离不开PL/SQL语言的支持.
这一部分还介绍了PL/SQL运行工具SQL*Plus,并在此基础上介绍PL/SQL语言基本知识和函数. 过程. 包. 触发器. 游标. 对象等对象创建和使用方法, 以及PL/SQL错误处理方法.
第三部分介绍怎样使用Oracle调用层接口(Oracle Call Interface, 即OCI)开发Oracle数据库应用程序. 所介绍的内容包括OCI程序设计基础. SQL语句处理方法和OCI程序对Oracle大型对象(LOB)类型数据的处理方法.
第四部分介绍Oracle数据库的Pro*C/C++应用程序开发方法, 这是一种嵌入式SQL应用开发技术, 它在C/C++源程序中直接嵌入各种SQL操作语句, 实现数据库操作. 采用嵌入式SQL开发技术的最大优点是开发人员不必掌握调用层接口方法中所使用的各种函数调用语法格式, 使程序员只要掌握宿主语言(如C. C++. Java等)和标准SQL语法即可开发数据库应用程序, 从而大大提高应用程序的开发效率. 这部分所介绍的内容包括Pro*C/C++程序设计基础. 运行时刻错误处理. 静态语句处理和动态SQL语句处理等.
最后一部分介绍另一种嵌入式SQL开发方法———Java内嵌SQL开发技术SQLJ. 这种方法使用Java做宿主语言, 使用它可以开发客户端. 中间层以及服务器端数据库应用程序. 本书主要介绍客户端数据库应用程序设计方法, 内容包括SQLJ程序设计基础. SQLJ语句处理. 特殊类型数据处理等.
本书内容全面, 操作指导性强. 为帮助读者进一步加深理解每种编程方法, 书中给出了一定数量的程序实例, 这些实例全部在计算机上调试通过, 其中C语言程序的编译环境为VisualC++6. 0, Java程序开发环境为Sun JDK 1. 1. 8.
由于水平有限, 书中不免有错误和疏漏之处, 恳请读者批评指正.