展开全部

主编推荐语

全面讲解数据库操作、SQL工具、性能优化、高级查询、Java支持及XML应用。

内容简介

本书深入浅出、全面细致地讲解了如何读取和修改数据库信息,如何使用SQL*Plus和SQL Developer,如何使用数据库对象,如何编写PL/SQL程序等内容。随着对本书学习的深入,读者将循序渐进地掌握最新的SQL特性和工具、性能优化技术、高级查询、Java支持以及XML应用。

目录

  • 封面页
  • 书名页
  • 版权页
  • 译者序
  • 译者简介
  • 作者简介
  • 致谢
  • 前 言
  • 本书读者对象
  • 本书源代码下载
  • 目录
  • 第1章 简  介
  • 1.1 关系数据库简介
  • 1.2 SQL简介
  • 1.3 使用SQL*Plus
  • 1.3.1 启动SQL*Plus
  • 1.3.2 从命令行启动SQL*Plus
  • 1.3.3 使用SQL*Plus执行SELECT语句
  • 1.4 使用SQL Developer
  • 1.5 创建store模式
  • 1.5.1 检查脚本
  • 1.5.2 运行脚本
  • 1.5.3 用来创建store模式的DDL语句
  • 1.6 添加、修改和删除行
  • 1.6.1 向表中添加行
  • 1.6.2 修改表中的现有行
  • 1.6.3 从表中删除行
  • 1.7 连接数据库和断开连接
  • 1.8 退出SQL*Plus
  • 1.9 Oracle PL/SQL简介
  • 1.10 小结
  • 第2章 从数据库表中检索信息
  • 2.1 对单表执行SELECT语句
  • 2.2 选择一个表中的所有列
  • 2.3 使用WHERE子句限定行
  • 2.4 行标识符
  • 2.5 行号
  • 2.6 执行算术运算
  • 2.6.1 执行日期运算
  • 2.6.2 列运算
  • 2.6.3 算术运算操作符的优先级
  • 2.7 使用列别名
  • 2.8 使用连接操作合并列的输出结果
  • 2.9 空值
  • 2.10 禁止显示重复行
  • 2.11 比较值
  • 2.11.1 使用不等于操作符
  • 2.11.2 使用大于操作符
  • 2.11.3 使用小于或等于操作符
  • 2.11.4 使用ANY操作符
  • 2.11.5 使用ALL操作符
  • 2.12 使用SQL操作符
  • 2.12.1 使用LIKE操作符
  • 2.12.2 使用IN操作符
  • 2.12.3 使用BETWEEN操作符
  • 2.13 使用逻辑操作符
  • 2.13.1 使用AND操作符
  • 2.13.2 使用OR操作符
  • 2.14 逻辑操作符的优先级
  • 2.15 使用ORDER BY子句对行进行排序
  • 2.16 执行使用两个表的SELECT语句
  • 2.17 使用表别名
  • 2.18 笛卡尔积
  • 2.19 执行使用多于两个表的SELECT语句
  • 2.20 连接条件和连接类型
  • 2.20.1 不等连接
  • 2.20.2 外连接
  • 2.20.3 自连接
  • 2.21 使用SQL/92语法执行连接
  • 2.21.1 使用SQL/92标准语法执行两个表的内连接
  • 2.21.2 使用USING关键字简化连接
  • 2.21.3 使用SQL/92执行多于两个表的内连接
  • 2.21.4 使用SQL/92执行多列的内连接
  • 2.21.5 使用SQL/92执行外连接
  • 2.21.6 使用SQL/92执行自连接
  • 2.21.7 使用SQL/92执行交叉连接
  • 2.22 小结
  • 第3章 使用SQL*Plus
  • 3.1 查看表的结构
  • 3.2 编辑SQL语句
  • 3.3 保存、检索并运行文件
  • 3.4 格式化列
  • 3.5 设置页面大小
  • 3.6 设置行大小
  • 3.7 清除列的格式
  • 3.8 使用变量
  • 3.8.1 临时变量
  • 3.8.2 已定义变量
  • 3.9 创建简单报表
  • 3.9.1 在脚本中使用临时变量
  • 3.9.2 在脚本中使用已定义变量
  • 3.9.3 向脚本中的变量传递值
  • 3.9.4 添加页眉和页脚
  • 3.9.5 计算小计
  • 3.10 从SQL*Plus获取帮助信息
  • 3.11 自动生成SQL语句
  • 3.12 断开数据库连接并退出SQL*Plus
  • 3.13 小结
  • 第4章 使用简单函数
  • 4.1 使用单行函数
  • 4.1.1 字符函数
  • 4.1.2 数值函数
  • 4.1.3 转换函数
  • 4.1.4 正则表达式函数
  • 4.2 使用聚合函数
  • 4.2.1 AVG()
  • 4.2.2 COUNT()
  • 4.2.3 MAX()和MIN()
  • 4.2.4 STDDEV()
  • 4.2.5 SUM()
  • 4.2.6 VARIANCE()
  • 4.3 对行进行分组
  • 4.3.1 使用GROUP BY子句对行进行分组
  • 4.3.2 调用聚合函数的错误用法
  • 4.3.3 使用HAVING子句过滤行组
  • 4.3.4 组合使用WHERE和GROUP BY子句
  • 4.3.5 组合使用WHERE、GROUP BY和HAVING子句
  • 4.4 小结
  • 第5章 日期和时间的存储与处理
  • 5.1 几个简单的存储和检索日期的例子
  • 5.2 使用TO_CHAR()和TO_DATE()转换时间值
  • 5.2.1 使用TO_CHAR()将时间值转换为字符串
  • 5.2.2 使用TO_DATE()将字符串转换为时间值
  • 5.3 设置默认的日期格式
  • 5.4 Oracle对两位年份的处理
  • 5.4.1 使用YY格式
  • 5.4.2 使用RR格式
  • 5.5 使用时间值函数
  • 5.5.1 ADD_MONTHS()
  • 5.5.2 LAST_DAY()
  • 5.5.3 MONTHS_BETWEEN()
  • 5.5.4 NEXT_DAY()
  • 5.5.5 ROUND()
  • 5.5.6 SYSDATE
  • 5.5.7 TRUNC()
  • 5.6 使用时区
  • 5.6.1 与时区有关的函数
  • 5.6.2 数据库时区和会话时区
  • 5.6.3 获取时区的时差
  • 5.6.4 获取时区名
  • 5.6.5 将时间值从一个时区转换为另一个时区
  • 5.7 使用时间戳
  • 5.7.1 使用时间戳类型
  • 5.7.2 与时间戳有关的函数
  • 5.8 使用时间间隔
  • 5.8.1 使用INTERVAL YEAR TO MONTH类型
  • 5.8.2 使用INTERVAL DAY TO SECOND类型
  • 5.8.3 与时间间隔有关的函数
  • 5.9 小结
  • 第6章 子查询
  • 6.1 子查询的类型
  • 6.2 编写单行子查询
  • 6.2.1 在WHERE子句中使用子查询
  • 6.2.2 使用其他单行操作符
  • 6.2.3 在HAVING子句中使用子查询
  • 6.2.4 在FROM子句中使用子查询(内联视图)
  • 6.2.5 可能碰到的错误
  • 6.3 编写多行子查询
  • 6.3.1 在多行子查询中使用IN操作符
  • 6.3.2 在多行子查询中使用ANY操作符
  • 6.3.3 在多行子查询中使用ALL操作符
  • 6.4 编写多列子查询
  • 6.5 编写关联子查询
  • 6.5.1 关联子查询的例子
  • 6.5.2 在关联子查询中使用EXISTS和NOT EXISTS
  • 6.6 编写嵌套子查询
  • 6.7 编写包含子查询的UPDATE和DELETE语句
  • 6.7.1 编写包含子查询的UPDATE语句
  • 6.7.2 编写包含子查询的DELETE语句
  • 6.8 使用子查询因子化
  • 6.9 小结
  • 第7章 高级查询
  • 7.1 使用集合操作符
  • 7.1.1 示例表
  • 7.1.2 使用UNION ALL操作符
  • 7.1.3 使用UNION操作符
  • 7.1.4 使用INTERSECT操作符
  • 7.1.5 使用MINUS操作符
  • 7.1.6 组合使用集合操作符
  • 7.2 使用TRANSLATE()函数
  • 7.3 使用DECODE()函数
  • 7.4 使用CASE表达式
  • 7.4.1 使用简单CASE表达式
  • 7.4.2 使用搜索CASE表达式
  • 7.5 层次化查询
  • 7.5.1 示例数据
  • 7.5.2 使用CONNECT BY和START WITH子句
  • 7.5.3 使用伪列LEVEL
  • 7.5.4 格式化层次化查询的结果
  • 7.5.5 从非根节点开始遍历
  • 7.5.6 在START WITH子句中使用子查询
  • 7.5.7 从下向上遍历树
  • 7.5.8 从层次化查询中删除节点和分支
  • 7.5.9 在层次化查询中加入其他条件
  • 7.5.10 使用递归子查询因子化查询分层数据
  • 7.6 使用ROLLUP和CUBE子句
  • 7.6.1 示例表
  • 7.6.2 使用ROLLUP子句
  • 7.6.3 使用CUBE子句
  • 7.6.4 使用GROUPING()函数
  • 第8章 分析数据
  • 8.1 使用分析函数
  • 8.1.1 示例表
  • 8.1.2 使用评级函数
  • 8.1.3 使用反百分位函数
  • 8.1.4 使用窗口函数
  • 8.1.5 使用报表函数
  • 8.1.6 使用LAG()和LEAD()函数
  • 8.1.7 使用FIRST和LAST函数
  • 8.1.8 使用线性回归函数
  • 8.1.9 使用假想评级与分布函数
  • 8.2 使用MODEL子句
  • 8.2.1 MODEL子句示例
  • 8.2.2 用位置标记和符号标记访问数据单元
  • 8.2.3 用BETWEEN和AND返回特定范围内的数据单元
  • 8.2.4 用ANY和IS ANY访问所有的数据单元
  • 8.2.5 用CURRENTV()函数获取某个维度的当前值
  • 8.2.6 用FOR循环访问数据单元
  • 8.2.7 处理空值和缺失值
  • 8.2.8 更新已有的单元
  • 8.3 使用PIVOT和UNPIVOT子句
  • 8.3.1 PIVOT子句的简单示例
  • 8.3.2 转换多个列
  • 8.3.3 在转换中使用多个聚合函数
  • 8.3.4 使用UNPIVOT子句
  • 8.4 执行Top-N查询
  • 8.4.1 使用FETCH FIRST子句
  • 8.4.2 使用OFFSET子句
  • 8.4.3 使用PERCENT子句
  • 8.4.4 使用WITH TIES子句
  • 8.5 在数据中发现模式
  • 8.5.1 在all_sales2表中发现V形数据模式
  • 8.5.2 在all_sales3表中发现W型数据模式
  • 8.5.3 在all_sales3表中发现V形数据模式
  • 8.6 小结
  • 第9章 修改表的内容
  • 9.1 使用INSERT语句添加行
  • 9.1.1 省略列的列表
  • 9.1.2 为列指定空值
  • 9.1.3 在列值中使用单引号和双引号
  • 9.1.4 从一个表向另一个表复制行
  • 9.2 使用UPDATE语句修改行
  • 9.3 使用RETURNING子句返回聚合函数的计算结果
  • 9.4 使用DELETE语句删除行
  • 9.5 数据库的完整性
  • 9.5.1 主键约束
  • 9.5.2 外键约束
  • 9.6 使用默认值
  • 9.7 使用MERGE合并行
  • 9.8 数据库事务
  • 9.8.1 事务的提交和回滚
  • 9.8.2 事务的开始与结束
  • 9.8.3 保存点
  • 9.8.4 事务的ACID特性
  • 9.8.5 并发事务
  • 9.8.6 事务锁
  • 9.8.7 事务隔离级别
  • 9.8.8 SERIALIZABLE事务隔离级别的一个例子
  • 9.9 查询闪回
  • 9.9.1 授权使用闪回
  • 9.9.2 时间查询闪回
  • 9.9.3 SCN查询闪回
  • 9.10 小结
  • 第10章 用户、特权和角色
  • 数据库存储简介
  • 10.1 用户
  • 10.1.1 创建用户
  • 10.1.2 修改用户密码
  • 10.1.3 删除用户
  • 10.2 系统特权
  • 10.2.1 向用户授予系统特权
  • 10.2.2 检查授予用户的系统特权
  • 10.2.3 使用系统特权
  • 10.2.4 撤消用户的系统特权
  • 10.3 对象特权
  • 10.3.1 向用户授予对象特权
  • 10.3.2 检查已授予的对象特权
  • 10.3.3 检查已接受的对象特权
  • 10.3.4 使用对象特权
  • 10.3.5 创建同义词
  • 10.3.6 创建公共同义词
  • 10.3.7 撤消用户的对象特权
  • 10.4 角色
  • 10.4.1 创建角色
  • 10.4.2 为角色授权
  • 10.4.3 将角色授予用户
  • 10.4.4 检查授予用户的角色
  • 10.4.5 检查授予角色的系统特权
  • 10.4.6 检查授予角色的对象特权
  • 10.4.7 使用已授予角色的特权
  • 10.4.8 启用和禁用角色
  • 10.4.9 撤消角色
  • 10.4.10 从角色中撤消特权
  • 10.4.11 删除角色
  • 10.5 审计
  • 10.5.1 执行审计需要的特权
  • 10.5.2 审计示例
  • 10.5.3 审计跟踪视图
  • 10.6 小结
  • 第11章 创建表、序列、索引和视图
  • 11.1 表
  • 11.1.1 创建表
  • 11.1.2 获得有关表的信息
  • 11.1.3 获得表中列的信息
  • 11.1.4 修改表
  • 11.1.5 重命名表
  • 11.1.6 向表中添加注释
  • 11.1.7 截断表
  • 11.1.8 删除表
  • 11.1.9 使用BINARY_FLOAT和BINARY_ DOUBLE数据类型
  • 11.1.10 使用DEFAULT ON NULL列
  • 11.1.11 在表中使用可见及不可见列
  • 11.2 序列
  • 11.2.1 创建序列
  • 11.2.2 获取有关序列的信息
  • 11.2.3 使用序列
  • 11.2.4 使用序列填充主键
  • 11.2.5 使用序列指定默认列值
  • 11.2.6 使用标识列
  • 11.2.7 修改序列
  • 11.2.8 删除序列
  • 11.3 索引
  • 11.3.1 创建B-树索引
  • 11.3.2 创建基于函数的索引
  • 11.3.3 获取有关索引的信息
  • 11.3.4 获取列索引的信息
  • 11.3.5 修改索引
  • 11.3.6 删除索引
  • 11.3.7 创建位图索引
  • 11.4 视图
  • 11.4.1 创建并使用视图
  • 11.4.2 修改视图
  • 11.4.3 删除视图
  • 11.4.4 在视图中使用可见列和不可见列
  • 11.5 闪回数据归档
  • 11.6 小结
  • 第12章 PL/SQL编程简介
  • 12.1 块结构
  • 12.2 变量和类型
  • 12.3 条件逻辑
  • 12.4 循环
  • 12.4.1 简单循环
  • 12.4.2 WHILE循环
  • 12.4.3 FOR循环
  • 12.5 游标
  • 12.5.1 步骤(1):声明用于保存列值的变量
  • 12.5.2 步骤(2):声明游标
  • 12.5.3 步骤(3):打开游标
  • 12.5.4 步骤(4):从游标中取得行
  • 12.5.5 步骤(5):关闭游标
  • 12.5.6 完整的示例:product_cursor.sql
  • 12.5.7 游标与FOR循环
  • 12.5.8 OPEN-FOR语句
  • 12.5.9 无约束游标
  • 12.6 异常
  • 12.6.1 ZERO_DIVIDE异常
  • 12.6.2 DUP_VAL_ON_INDEX异常
  • 12.6.3 INVALID_NUMBER异常
  • 12.6.4 OTHERS异常
  • 12.7 过程
  • 12.7.1 创建过程
  • 12.7.2 调用过程
  • 12.7.3 获取有关过程的信息
  • 12.7.4 删除过程
  • 12.7.5 查看过程中的错误
  • 12.8 函数
  • 12.8.1 创建函数
  • 12.8.2 调用函数
  • 12.8.3 获取有关函数的信息
  • 12.8.4 删除函数
  • 12.9 包
  • 12.9.1 创建包的规范
  • 12.9.2 创建包体
  • 12.9.3 调用包中的函数和过程
  • 12.9.4 获取有关包中函数和过程的信息
  • 12.9.5 删除包
  • 12.10 触发器
  • 12.10.1 触发器启动的时机
  • 12.10.2 设置示例触发器
  • 12.10.3 创建触发器
  • 12.10.4 启动触发器
  • 12.10.5 获取有关触发器的信息
  • 12.10.6 禁用和启用触发器
  • 12.10.7 删除触发器
  • 12.11 其他PL/SQL特性
  • 12.11.1 SIMPLE_INTEGER类型
  • 12.11.2 在PL/SQL中使用序列
  • 12.11.3 PL/SQL本地机器代码生成
  • 12.11.4 WITH子句
  • 12.12 小结
  • 第13章 数据库对象
  • 13.1 对象简介
  • 运行脚本以创建对象模式
  • 13.2 创建对象类型
  • 13.3 使用DESCRIBE获取有关对象类型的信息
  • 13.4 在数据库表中使用对象类型
  • 13.4.1 列对象
  • 13.4.2 对象表
  • 13.4.3 对象标识符和对象引用
  • 13.4.4 比较对象值
  • 13.5 在PL/SQL中使用对象
  • 13.5.1 get_products()函数
  • 13.5.2 display_product()过程
  • 13.5.3 insert_product()过程
  • 13.5.4 update_product_price()过程
  • 13.5.5 get_product()函数
  • 13.5.6 update_product()过程
  • 13.5.7 get_product_ref()函数
  • 13.5.8 delete_product()过程
  • 13.5.9 product_lifecycle()过程
  • 13.5.10 product_lifecycle2()过程
  • 13.6 类型继承
  • 13.6.1 运行脚本以创建第2个对象模式
  • 13.6.2 继承属性
  • 13.7 用子类型对象代替超类型对象
  • 13.7.1 SQL例子
  • 13.7.2 PL/SQL示例
  • 13.7.3 NOT SUBSTITUTABLE对象
  • 13.8 其他有用的对象函数
  • 13.8.1 IS OF()函数
  • 13.8.2 TREAT()函数
  • 13.8.3 SYS_TYPEID()函数
  • 13.9 NOT INSTANTIABLE对象类型
  • 13.10 用户自定义的构造函数
  • 13.11 重载方法
  • 13.12 通用调用
  • 13.12.1 运行脚本以创建第3个对象模式
  • 13.12.2 继承属性
  • 13.13 小结
  • 第14章 集合
  • 14.1 集合简介
  • 运行脚本以创建集合模式
  • 14.2 创建集合类型
  • 14.2.1 创建变长数组类型
  • 14.2.2 创建嵌套表类型
  • 14.3 使用集合类型定义表列
  • 14.3.1 使用变长数组类型定义表列
  • 14.3.2 使用嵌套表类型定义表列
  • 14.4 获取集合信息
  • 14.4.1 获取变长数组信息
  • 14.4.2 获得嵌套表信息
  • 14.5 填充集合元素
  • 14.5.1 填充变长数组元素
  • 14.5.2 填充嵌套表元素
  • 14.6 检索集合元素
  • 14.6.1 检索变长数组元素
  • 14.6.2 检索嵌套表元素
  • 14.7 使用TABLE()函数将集合视为一系列行
  • 14.7.1 将TABLE()函数应用于变长数组
  • 14.7.2 将TABLE()函数应用于嵌套表
  • 14.8 更改集合元素
  • 14.8.1 更改变长数组元素
  • 14.8.2 更改嵌套表元素
  • 14.9 使用映射方法比较嵌套表的内容
  • 14.10 使用CAST()函数将集合从一种类型转换为另一种类型
  • 14.10.1 使用CAST()函数将变长数组转换为嵌套表
  • 14.10.2 使用CAST()函数将嵌套表转换为变长数组
  • 14.11 在PL/SQL中使用集合
  • 14.11.1 操作变长数组
  • 14.11.2 操作嵌套表
  • 14.11.3 PL/SQL集合方法
  • 14.12 创建和使用多级集合
  • 14.12.1 运行脚本创建第二个集合模式
  • 14.12.2 使用多级集合
  • 14.13 Oracle Database 10g对集合的增强
  • 14.13.1 运行脚本以创建第三个集合模式
  • 14.13.2 关联数组
  • 14.13.3 更改元素类型的大小
  • 14.13.4 增加变长数组中元素的数目
  • 14.13.5 在临时表中使用变长数组
  • 14.13.6 为嵌套表的存储表使用不同的表空间
  • 14.13.7 嵌套表对ANSI的支持
  • 14.14 小结
  • 第15章 大对象
  • 15.1 大对象(LOB)简介
  • 15.2 示例文件
  • 15.3 理解大对象类型
  • 15.4 创建包含大对象的表
  • 15.5 在SQL中使用大对象
  • 15.5.1 使用CLOB和BLOB对象
  • 15.5.2 使用BFILE对象
  • 15.6 在PL/SQL中使用大对象
  • 15.6.1 APPEND()方法
  • 15.6.2 CLOSE()方法
  • 15.6.3 COMPARE()方法
  • 15.6.4 COPY()方法
  • 15.6.5 CREATETEMPORARY()方法
  • 15.6.6 ERASE()方法
  • 15.6.7 FILECLOSE()方法
  • 15.6.8 FILECLOSEALL()方法
  • 15.6.9 FILEEXISTS()方法
  • 15.6.10 FILEGETNAME()方法
  • 15.6.11 FILEISOPEN()方法
  • 15.6.12 FILEOPEN()方法
  • 15.6.13 FREETEMPORARY()方法
  • 15.6.14 GETCHUNKSIZE()方法
  • 15.6.15 GETLENGTH()方法
  • 15.6.16 GET_STORAGE_LIMIT()方法
  • 15.6.17 INSTR()方法
  • 15.6.18 ISOPEN()方法
  • 15.6.19 ISTEMPORARY()方法
  • 15.6.20 LOADFROMFILE()方法
  • 15.6.21 LOADBLOBFROMFILE()方法
  • 15.6.22 LOADCLOBFROMFILE()方法
  • 15.6.23 OPEN()方法
  • 15.6.24 READ()方法
  • 15.6.25 SUBSTR()方法
  • 15.6.26 TRIM()方法
  • 15.6.27 WRITE()方法
  • 15.6.28 WRITEAPPEND()方法
  • 15.6.29 PL/SQL示例过程
  • 15.7 LONG和LONG RAW类型
  • 15.7.1 示例表
  • 15.7.2 向LONG和LONG RAW列添加数据
  • 15.7.3 将LONG和LONG RAW列转换为LOB
  • 15.8 Oracle Database 10g对大对象的增强
  • 15.8.1 CLOB和NCLOB对象之间的隐式转换
  • 15.8.2 在触发器中使用LOB时:new属性的用法
  • 15.9 Oracle Database 11g对大对象的增强
  • 15.9.1 加密LOB数据
  • 15.9.2 压缩LOB数据
  • 15.9.3 删除LOB重复数据
  • 15.10 Oracle Database 12c对大对象的增强
  • 15.11 小结
  • 第16章 SQL优化
  • 16.1 SQL优化简介
  • 16.2 使用WHERE子句过滤行
  • 16.3 使用表连接而不是多个查询
  • 16.4 执行连接时使用完全限定的列引用
  • 16.5 使用CASE表达式而不是多个查询
  • 16.6 添加表索引
  • 16.6.1 何时创建B-树索引
  • 16.6.2 何时创建位图索引
  • 16.7 使用WHERE而不是HAVING
  • 16.8 使用UNION ALL而不是UNION
  • 16.9 使用EXISTS而不是IN
  • 16.10 使用EXISTS而不是DISTINCT
  • 16.11 使用GROUPING SETS而不是CUBE
  • 16.12 使用绑定变量
  • 16.12.1 不相同的SQL语句
  • 16.12.2 使用绑定变量定义相同的SQL语句
  • 16.12.3 列出和输出绑定变量
  • 16.12.4 使用绑定变量存储PL/SQL函数的返回值
  • 16.12.5 使用绑定变量存储来自REFCURSOR的返回值
  • 16.13 比较执行查询的成本
  • 16.13.1 检查执行计划
  • 16.13.2 比较执行计划
  • 16.14 为优化器传递提示
  • 16.15 其他优化工具
  • 16.15.1 Oracle Enterprise Manager
  • 16.15.2 Automatic Database Diagnostic Monitor
  • 16.16 小结
  • 第17章 XML和Oracle数据库
  • 17.1 XML简介
  • 17.2 从关系数据生成XML
  • 17.2.1 XMLELEMENT()函数
  • 17.2.2 XMLATTRIBUTES()函数
  • 17.2.3 XMLFOREST()函数
  • 17.2.4 XMLAGG()函数
  • 17.2.5 XMLCOLATTVAL()函数
  • 17.2.6 XMLCONCAT()函数
  • 17.2.7 XMLPARSE()函数
  • 17.2.8 XMLPI()函数
  • 17.2.9 XMLCOMMENT()函数
  • 17.2.10 XMLSEQUENCE()函数
  • 17.2.11 XMLSERIALIZE()函数
  • 17.2.12 PL/SQL示例:将XML数据写入文件
  • 17.2.13 XMLQUERY()函数
  • 17.3 将XML保存到数据库中
  • 17.3.1 示例XML文件
  • 17.3.2 创建示例XML模式
  • 17.3.3 从示例XML模式检索信息
  • 17.3.4 更新示例XML模式中的信息
  • 17.4 小结
  • 附录 Oracle数据类型
  • F.1 Oracle SQL类型
  • F.2 Oracle PL/SQL类型
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。