书籍详情
SQL Server与Oracle迁移指南
作者:梅涛,罗裕梅,叶琼伟 著
出版社:电子工业出版社
出版时间:2019-04-01
ISBN:9787121363306
定价:¥48.00
购买这本书可以去
内容简介
《SQL Server与Oracle迁移指南》主要对SQL Server与Oracle两种数据库功能间的相互迁移进行对比讲解,向开发人员提供有针对性的参考建议。全书由9章组成,包括安装准备、数据库体系结构、用户及授权、对象迁移、数据迁移、SQL语句迁移(1)和(2)、事务差异及其他功能。每章均采用大量讨论与实例对两种数据库进行翔实比较,有利于开发人员更好地理解迁移过程。《SQL Server与Oracle迁移指南》适合广大软件开发人员、数据库开发/维护人员,特别是已经熟悉其中一种数据库,准备使用新数据库平台的技术人员参考。也可以作为高年级本科生或研究生、职业技术学院学生的数据库学习辅助教材。未经许可,不得以任何方式复制或抄袭该书之部分或全部内容。版权所有,侵权必究。
作者简介
梅涛,男,中国电信昆明分公司高级工程师,二级IT支撑经理,长期从事数据库开发工作;2003年获昆明市科学技术进步三等奖;2001年和2004年获云南省科技进步三等奖;2007、2008、2010年获分公司创新先进个人称号;2003、2009、2013年被评为分公司十佳能手;2014年评为电信云南公司IT类D级人材。叶琼伟,男,云南财经大学商学院教授、新加坡国立大学计算机学院访问教授。教育部电子商务类专业教学指导委员会委员、中国信息经济学会互联网经济与跨境电商专业委员会主任、云南省“万人计划”入选人才(教学名师)、云南省高校电子商务类专业教学指导委员会主任。
目录
第1章 安装准备 1
1.1 服务器硬件及运行环境 1
1.2 版本选择 1
1.2.1 SQL Server的版本选择 1
1.2.2 Oracle的版本选择 2
1.3 安装注意事项 2
1.3.1 SQL Server的安装
注意事项 2
1.3.2 Oracle的安装注意事项 3
1.4 客户端 3
1.4.1 安装 3
1.4.2 图形界面 4
1.5 命令行 4
1.5.1 SQL Server的命令行 4
1.5.2 Oracle的命令行 5
1.6 创建和删除实例 6
1.6.1 SQL Server的创建和
删除实例 6
1.6.2 Oracle的创建和删除实例 6
1.7 卸载 7
1.7.1 SQL Server的卸载 7
1.7.2 Oracle的卸载 7
1.8 参数配置 7
1.9 补丁安装 8
1.9.1 SQL Server的补丁安装 8
1.9.2 Oracle的补丁安装 8
1.10 32位系统内存使用 9
1.11 防火墙对外端口 10
1.11.1 SQL Server的防火墙
对外端口配置 10
1.11.2 Oracle的防火墙对外
端口配置 10
1.12 帮助文件及售后服务 11
1.12.1 SQL Server的帮助
文件及售后服务 11
1.12.2 Oracle的帮助文件
及售后服务 11
1.13 异步I/O和裸设备 11
1.14 数据库的启动和停止 12
1.14.1 SQL Server的启动
和停止 12
1.14.2 Oracle的启动和停止 14
第2章 数据库体系结构 15
2.1 DBMS体系结构图 15
2.2 架构和所有者 16
2.2.1 SQL Server的架构和
所有者 16
2.2.2 Oracle的架构和所有者 20
2.2.3 迁移建议 20
2.3 块(Block)/页(Page) 20
2.3.1 块/页的大小 20
2.3.2 管理可用空间 21
2.3.3 行链接/行溢出 21
2.3.4 行迁移/转接行 22
2.4 区(Extent) 22
2.4.1 区的大小和分布 22
2.4.2 最大读写量 23
2.4.3 对象初始分配的区 23
2.5 段(Segment)/堆(Heap)、
索引(Index) 23
2.5.1 SQL Server堆和索引 23
2.5.2 Oracle段 23
2.6 数据文件 23
2.6.1 文件尺寸 23
2.6.2 自动增长 24
2.6.3 文件收缩/删除/脱机 25
2.6.4 移动物理文件位置 26
2.6.5 系统数据库改目录 27
2.6.6 裸设备 27
2.7 表空间(Table Space)/
文件组(File Group) 28
2.7.1 在表空间/文件组中
创建多个文件 28
2.7.2 Oracle表空间管理方式 28
2.7.3 默认表空间 29
2.7.4 表空间块尺寸 29
2.7.5 数据库收缩 29
2.7.6 删除表空间/文件组 29
2.7.7 只读文件组 31
2.7.8 只读数据库 31
2.7.9 脱机 32
2.7.10 表空间/数据库的传输 32
2.7.11 磁盘I/O压力分布 36
2.8 会话(Session)与进程/线程 37
2.8.1 Oracle会话与进程 37
2.8.2 SQL Server会话与线程 39
2.9 内存管理 43
2.9.1 Oracle的内存管理 43
2.9.2 SQL Server的内存管理 46
2.10 在线日志 49
2.10.1 Oracle的在线日志 49
2.10.2 SQL Server的在线日志 50
第3章 用户及授权 53
3.1 用户和登录名 53
3.1.1 SQL Server的用户和
登录名 53
3.1.2 Oracle的用户 57
3.2 密码策略 59
3.2.1 SQL Server的密码策略 59
3.2.2 Oracle的密码策略 61
3.3 重命名 63
3.3.1 SQL Server的管理员
重命名 63
3.3.2 Windows的管理员重命名 64
3.3.3 修改计算机名 64
3.3.4 Oracle:修改用户名 66
3.4 防止远程登录 66
3.4.1 SQL Server防止远程登录 66
3.4.2 Oracle防止远程登录 67
3.5 限制同一用户的并发登录 68
3.6 最高权限用户 69
3.7 角色及权限 69
3.7.1 相关语法 69
3.7.2 SQL Server中的
预定义角色 70
3.7.3 Oracle中的预定义角色 74
3.7.4 自定义角色 77
3.8 权限管理示例 78
3.8.1 SQL Server架构权限 78
3.8.2 在SQL Server用户中
模拟Oracle用户 78
3.8.3 与其他用户共享一个架构 79
3.8.4 让一个只读用户可以
创建自己的视图 80
3.9 模块授权 80
3.9.1 SQL Server中的模块授权 81
3.9.2 Oracle中的模块授权 82
第4章 对象迁移 84
4.1 表 84
4.1.1 堆表 84
4.1.2 聚集索引表/索引组织表 84
4.1.3 聚簇表(Clustered Table)/
稀疏列(Sparse Columns) 86
4.1.4 计算列/虚拟列 87
4.1.5 外部扩展表(Organization
External)和文件流/表
(FileStream/FileTable) 88
4.1.6 临时表 88
4.1.7 表变量 90
4.1.8 表移动到其他表空间/
文件组 91
4.1.9 表的重建 93
4.1.10 check和default约束 94
4.1.11 删除表 94
4.1.12 按列授权 94
4.2 索引 94
4.2.1 索引名 95
4.2.2 函数索引和计算列 95
4.2.3 索引视图/视图索引 95
4.2.4 聚集索引/索引组织表上的
非聚集索引 95
4.2.5 位图索引和反向索引 96
4.2.6 在线创建索引 96
4.2.7 包含性列(Included
Columns) 96
4.2.8 重建索引,优化性能 96
4.2.9 将索引移动到其他
表空间/文件组 97
4.2.10 筛选索引(Filtered
Index) 98
4.2.11 NULL值处理 99
4.2.12 唯一值索引(Unique
Index) 99
4.2.13 优化索引的使用 100
4.3 分区表 101
4.3.1 Oracle的分区方案 101
4.3.2 Oracle分区表的索引 103
4.3.3 在Oracle中将已有
表转化为分区表 103
4.3.4 在Oracle中访问指定
分区 104
4.3.5 Oracle中的分区维护 104
4.3.6 SQL Server的分区方案 105
4.3.7 SQL Server中分区表的
建立 105
4.3.8 在SQL Server中查看
分区表所有分区对应
的文件组 107
4.3.9 SQL Server分区表的
索引 107
4.3.10 SQL Server中将已有表
转化为分区表 107
4.3.11 在SQL Server中访问
指定分区 108
4.3.12 SQL Server的分区
维护操作 109
4.3.13 滑动窗口方案 111
4.3.14 讨论 113
4.4 存储过程 113
4.4.1 编译 113
4.4.2 授权 113
4.4.3 事务 114
4.4.4 DDL语句 115
4.4.5 在线修改存储过程代码 116
4.4.6 出错处理 116
4.4.7 返回结果集 116
4.4.8 自治事务(Autonomous
Transaction) 117
4.4.9 传输参数及变量定义 119
4.5 函数 119
4.5.1 使用DML语句 119
4.5.2 表值函数 120
4.6 物化视图/索引视图 123
4.6.1 Oracle物化视图 123
4.6.2 SQL Server索引视图 123
4.6.3 视图的刷新 124
4.7 触发器 124
4.7.1 DML触发器 124
4.7.2 语句级触发器 125
4.7.3 行级触发器 127
4.7.4 before/instead of型
触发器 128
4.7.5 DDL触发器 128
4.7.6 数据库事件触发器 129
4.8 同义词 130
4.9 序列/自增长列 130
4.9.1 Oracle序列 130
4.9.2 SQL Server自增长列 131
4.9.3 SQL Server中的序列 132
第5章 数据迁移 135
5.1 字符类型 135
5.1.1 SQL Server和Oracle
字符类型长度的比较 135
5.1.2 varchar 2和varchar 135
5.1.3 字符串的 ' ' 值与NULL 136
5.1.4 本地字符集 136
5.1.5 Unicode编码 139
5.1.6 相关函数 140
5.2 数据类型 140
5.2.1 Oracle中的数据类型 140
5.2.2 SQL Server中的数据
类型 141
5.2.3 迁移建议 142
5.3 日期型 142
5.3.1 日期型的迁移 142
5.3.2 内部存储 143
5.3.3 日期常量 144
5.4 大对象字段 146
5.4.1 SQL Server中的
大对象字段 146
5.4.2 Oracle中的大对象字段 147
5.4.3 大对象字段的迁移 148
5.5 其他特殊类型 148
5.6 对象迁移工具 148
5.6.1 SQL Server的对象
迁移工具 148
5.6.2 Oracle的对象迁移工具 149
5.7 数据迁移工具 150
5.7.1 SQL Server的数据
迁移工具 150
5.7.2 Oracle的数据迁移工具 150
5.8 用户自定义数据类型 150
5.8.1 SQL Server中的自定义
数据类型 150
5.8.2 Oracle中的自定义
数据类型 152
5.9 where条件中数据类型的
隐式转换 155
5.9.1 SQL Server中数据类型的
隐式转换 156
5.9.2 Oracle中数据类型的
隐式转换 157
第6章 SQL语句迁移(1) 158
6.1 SQL语法 158
6.1.1 SQL语句结尾的分号 158
6.1.2 /和go 158
6.1.3 标识符和别名 159
6.1.4 单步调试及信息输出 160
6.1.5 赋值 160
6.1.6 多字段匹配/赋值 161
6.1.7 CTE 162
6.1.8 指定使用索引 165
6.1.9 SQL语句的并行处理 165
6.1.10 模块加密 167
6.1.11 获得DML影响行数 168
6.1.12 获得客户端IP地址 168
6.1.13 Oracle伪列 169
6.1.14 仅获取部分输出/分页 172
6.1.15 动态(拼接)SQL 173
6.1.16 参数及绑定 174
6.1.17 修改对象的定义 176
6.2 字符串与函数 177
6.2.1 字符串的比较 177
6.2.2 排序 180
6.2.3 ' ' 值与null值 181
6.2.4 转义字符 182
6.2.5 内置函数迁移 182
6.3 常用语句 185
6.3.1 insert 185
6.3.2 DML同时返回结果集 186
6.3.3 Delete数据后释放
存储空间 188
6.3.4 分批delete大量数据 188
6.3.5 多表关联 190
6.3.6 删除表中所有行
(truncate table) 192
6.3.7 层次查询子句
(connect by) 193
6.3.8 合并(merge) 197
6.3.9 分组统计 198
6.3.10 透视和逆透视 200
6.3.11 批加载(bulk load) 202
第7章 SQL语句迁移(2) 203
7.1 编程 203
7.1.1 If语句 203
7.1.2 循环语句 203
7.1.3 游标 204
7.1.4 出错处理和抛出异常 206
7.1.5 程序包/程序集 208
7.1.6 与其他开发语言的集成 209
7.1.7 自定义聚合函数 217
7.1.8 合并多条记录中的
同一个字符串字段 221
7.1.9 分解字符串为一张表 222
7.1.10 正则表达式 224
7.1.11 数据加密 230
7.2 维护 232
7.2.1 查看表的列信息 232
7.2.2 显示SQL的执行计划 232
7.2.3 统计信息的更新 233
7.2.4 管理视图 235
7.2.5 链接服务器(DBlink) 236
第8章 事务差异 244
8.1 事务级别标准 244
8.2 默认事务级别 244
8.2.1 无阻塞查询/快照事务 244
8.2.2 SQL Server设置快照
事务为默认事务级别 245
8.2.3 SQL Server模拟Oracle
默认事务操作 246
8.3 事务操作 246
8.3.1 显式事务/隐性事务 246
8.3.2 DDL语句与事务 247
8.3.3 语句块在语句出错时
停止 248
8.3.4 匿名语句块 248
8.3.5 事务提交和回滚 249
8.3.6 事务保存点 250
8.3.7 锁等待(阻塞) 250
8.4 未能实现的事务等级 251
8.4.1 Oracle中实现一致读
事务级别 251
8.4.2 自治事务 251
8.4.3 SQL Server利用脏读
获得事务发起者的IP 252
8.5 锁 253
8.5.1 锁内存管理和锁升级 253
8.5.2 显式指定加锁的方式 256
8.5.3 查看会话、对象、SQL、
事务和锁 257
8.5.4 跟踪锁分配 258
8.5.5 死锁检测 259
8.6 日志 261
8.6.1 SQL Server日志 261
8.6.2 SQL Server中日志
最小化 261
8.6.3 Oracle日志 262
8.6.4 Oracle中日志最小化 262
第9章 其他功能 263
9.1 性能监控 263
9.1.1 SQL Server的性能监控 263
9.1.2 Oracle的性能监控 265
9.2 资源管理 267
9.2.1 SQL Server的资源管理 267
9.2.2 Oracle的资源管理 268
9.3 数据压缩/列存储 269
9.3.1 Oracle中的数据压缩 269
9.3.2 SQL Server中的
数据压缩 270
9.4 数据快速恢复 272
9.4.1 Oracle:闪回(Flashback) 272
9.4.2 Oracle的四种闪回方式 275
9.4.3 SQL Server的数据库快照
(Database Snapshots) 276
9.4.4 优势对比 279
9.5 定时任务 279
9.5.1 Oracle中的定时任务 279
9.5.2 SQL Server中的定时任务 282
9.6 开发接口 292
9.6.1 ODBC/ OCI 292
9.6.2 OLE DB 293
9.6.3 .NET 293
9.6.4 Java 293
9.6.5 PHP 294
9.7 存储管理 294
9.7.1 Oracle的存储管理 294
9.7.2 SQL Server的存储管理 294
9.8 高可用性方案 294
9.8.1 SQL Server的高可用性
方案 295
9.8.2 Oracle的高可用性方案 295
9.9 高性能方案(内存数据库) 296
9.9.1 SQL Server的高性能
方案 296
9.9.2 Oracle的高性能方案 296
9.10 备份方案 296
9.10.1 SQL Server的备份方案 297
9.10.2 Oracle的备份方案 297
9.11 变更数据捕获 297
9.11.1 SQL Server的变更数据
捕获 297
9.11.2 Oracle的变更数据捕获 298
9.12 邮件通知 298
9.12.1 SQL Server的邮件通知 298
9.12.2 Oracle的邮件通知 300
9.12.3 Buffer Pool Extension 301
参考文献 302
1.1 服务器硬件及运行环境 1
1.2 版本选择 1
1.2.1 SQL Server的版本选择 1
1.2.2 Oracle的版本选择 2
1.3 安装注意事项 2
1.3.1 SQL Server的安装
注意事项 2
1.3.2 Oracle的安装注意事项 3
1.4 客户端 3
1.4.1 安装 3
1.4.2 图形界面 4
1.5 命令行 4
1.5.1 SQL Server的命令行 4
1.5.2 Oracle的命令行 5
1.6 创建和删除实例 6
1.6.1 SQL Server的创建和
删除实例 6
1.6.2 Oracle的创建和删除实例 6
1.7 卸载 7
1.7.1 SQL Server的卸载 7
1.7.2 Oracle的卸载 7
1.8 参数配置 7
1.9 补丁安装 8
1.9.1 SQL Server的补丁安装 8
1.9.2 Oracle的补丁安装 8
1.10 32位系统内存使用 9
1.11 防火墙对外端口 10
1.11.1 SQL Server的防火墙
对外端口配置 10
1.11.2 Oracle的防火墙对外
端口配置 10
1.12 帮助文件及售后服务 11
1.12.1 SQL Server的帮助
文件及售后服务 11
1.12.2 Oracle的帮助文件
及售后服务 11
1.13 异步I/O和裸设备 11
1.14 数据库的启动和停止 12
1.14.1 SQL Server的启动
和停止 12
1.14.2 Oracle的启动和停止 14
第2章 数据库体系结构 15
2.1 DBMS体系结构图 15
2.2 架构和所有者 16
2.2.1 SQL Server的架构和
所有者 16
2.2.2 Oracle的架构和所有者 20
2.2.3 迁移建议 20
2.3 块(Block)/页(Page) 20
2.3.1 块/页的大小 20
2.3.2 管理可用空间 21
2.3.3 行链接/行溢出 21
2.3.4 行迁移/转接行 22
2.4 区(Extent) 22
2.4.1 区的大小和分布 22
2.4.2 最大读写量 23
2.4.3 对象初始分配的区 23
2.5 段(Segment)/堆(Heap)、
索引(Index) 23
2.5.1 SQL Server堆和索引 23
2.5.2 Oracle段 23
2.6 数据文件 23
2.6.1 文件尺寸 23
2.6.2 自动增长 24
2.6.3 文件收缩/删除/脱机 25
2.6.4 移动物理文件位置 26
2.6.5 系统数据库改目录 27
2.6.6 裸设备 27
2.7 表空间(Table Space)/
文件组(File Group) 28
2.7.1 在表空间/文件组中
创建多个文件 28
2.7.2 Oracle表空间管理方式 28
2.7.3 默认表空间 29
2.7.4 表空间块尺寸 29
2.7.5 数据库收缩 29
2.7.6 删除表空间/文件组 29
2.7.7 只读文件组 31
2.7.8 只读数据库 31
2.7.9 脱机 32
2.7.10 表空间/数据库的传输 32
2.7.11 磁盘I/O压力分布 36
2.8 会话(Session)与进程/线程 37
2.8.1 Oracle会话与进程 37
2.8.2 SQL Server会话与线程 39
2.9 内存管理 43
2.9.1 Oracle的内存管理 43
2.9.2 SQL Server的内存管理 46
2.10 在线日志 49
2.10.1 Oracle的在线日志 49
2.10.2 SQL Server的在线日志 50
第3章 用户及授权 53
3.1 用户和登录名 53
3.1.1 SQL Server的用户和
登录名 53
3.1.2 Oracle的用户 57
3.2 密码策略 59
3.2.1 SQL Server的密码策略 59
3.2.2 Oracle的密码策略 61
3.3 重命名 63
3.3.1 SQL Server的管理员
重命名 63
3.3.2 Windows的管理员重命名 64
3.3.3 修改计算机名 64
3.3.4 Oracle:修改用户名 66
3.4 防止远程登录 66
3.4.1 SQL Server防止远程登录 66
3.4.2 Oracle防止远程登录 67
3.5 限制同一用户的并发登录 68
3.6 最高权限用户 69
3.7 角色及权限 69
3.7.1 相关语法 69
3.7.2 SQL Server中的
预定义角色 70
3.7.3 Oracle中的预定义角色 74
3.7.4 自定义角色 77
3.8 权限管理示例 78
3.8.1 SQL Server架构权限 78
3.8.2 在SQL Server用户中
模拟Oracle用户 78
3.8.3 与其他用户共享一个架构 79
3.8.4 让一个只读用户可以
创建自己的视图 80
3.9 模块授权 80
3.9.1 SQL Server中的模块授权 81
3.9.2 Oracle中的模块授权 82
第4章 对象迁移 84
4.1 表 84
4.1.1 堆表 84
4.1.2 聚集索引表/索引组织表 84
4.1.3 聚簇表(Clustered Table)/
稀疏列(Sparse Columns) 86
4.1.4 计算列/虚拟列 87
4.1.5 外部扩展表(Organization
External)和文件流/表
(FileStream/FileTable) 88
4.1.6 临时表 88
4.1.7 表变量 90
4.1.8 表移动到其他表空间/
文件组 91
4.1.9 表的重建 93
4.1.10 check和default约束 94
4.1.11 删除表 94
4.1.12 按列授权 94
4.2 索引 94
4.2.1 索引名 95
4.2.2 函数索引和计算列 95
4.2.3 索引视图/视图索引 95
4.2.4 聚集索引/索引组织表上的
非聚集索引 95
4.2.5 位图索引和反向索引 96
4.2.6 在线创建索引 96
4.2.7 包含性列(Included
Columns) 96
4.2.8 重建索引,优化性能 96
4.2.9 将索引移动到其他
表空间/文件组 97
4.2.10 筛选索引(Filtered
Index) 98
4.2.11 NULL值处理 99
4.2.12 唯一值索引(Unique
Index) 99
4.2.13 优化索引的使用 100
4.3 分区表 101
4.3.1 Oracle的分区方案 101
4.3.2 Oracle分区表的索引 103
4.3.3 在Oracle中将已有
表转化为分区表 103
4.3.4 在Oracle中访问指定
分区 104
4.3.5 Oracle中的分区维护 104
4.3.6 SQL Server的分区方案 105
4.3.7 SQL Server中分区表的
建立 105
4.3.8 在SQL Server中查看
分区表所有分区对应
的文件组 107
4.3.9 SQL Server分区表的
索引 107
4.3.10 SQL Server中将已有表
转化为分区表 107
4.3.11 在SQL Server中访问
指定分区 108
4.3.12 SQL Server的分区
维护操作 109
4.3.13 滑动窗口方案 111
4.3.14 讨论 113
4.4 存储过程 113
4.4.1 编译 113
4.4.2 授权 113
4.4.3 事务 114
4.4.4 DDL语句 115
4.4.5 在线修改存储过程代码 116
4.4.6 出错处理 116
4.4.7 返回结果集 116
4.4.8 自治事务(Autonomous
Transaction) 117
4.4.9 传输参数及变量定义 119
4.5 函数 119
4.5.1 使用DML语句 119
4.5.2 表值函数 120
4.6 物化视图/索引视图 123
4.6.1 Oracle物化视图 123
4.6.2 SQL Server索引视图 123
4.6.3 视图的刷新 124
4.7 触发器 124
4.7.1 DML触发器 124
4.7.2 语句级触发器 125
4.7.3 行级触发器 127
4.7.4 before/instead of型
触发器 128
4.7.5 DDL触发器 128
4.7.6 数据库事件触发器 129
4.8 同义词 130
4.9 序列/自增长列 130
4.9.1 Oracle序列 130
4.9.2 SQL Server自增长列 131
4.9.3 SQL Server中的序列 132
第5章 数据迁移 135
5.1 字符类型 135
5.1.1 SQL Server和Oracle
字符类型长度的比较 135
5.1.2 varchar 2和varchar 135
5.1.3 字符串的 ' ' 值与NULL 136
5.1.4 本地字符集 136
5.1.5 Unicode编码 139
5.1.6 相关函数 140
5.2 数据类型 140
5.2.1 Oracle中的数据类型 140
5.2.2 SQL Server中的数据
类型 141
5.2.3 迁移建议 142
5.3 日期型 142
5.3.1 日期型的迁移 142
5.3.2 内部存储 143
5.3.3 日期常量 144
5.4 大对象字段 146
5.4.1 SQL Server中的
大对象字段 146
5.4.2 Oracle中的大对象字段 147
5.4.3 大对象字段的迁移 148
5.5 其他特殊类型 148
5.6 对象迁移工具 148
5.6.1 SQL Server的对象
迁移工具 148
5.6.2 Oracle的对象迁移工具 149
5.7 数据迁移工具 150
5.7.1 SQL Server的数据
迁移工具 150
5.7.2 Oracle的数据迁移工具 150
5.8 用户自定义数据类型 150
5.8.1 SQL Server中的自定义
数据类型 150
5.8.2 Oracle中的自定义
数据类型 152
5.9 where条件中数据类型的
隐式转换 155
5.9.1 SQL Server中数据类型的
隐式转换 156
5.9.2 Oracle中数据类型的
隐式转换 157
第6章 SQL语句迁移(1) 158
6.1 SQL语法 158
6.1.1 SQL语句结尾的分号 158
6.1.2 /和go 158
6.1.3 标识符和别名 159
6.1.4 单步调试及信息输出 160
6.1.5 赋值 160
6.1.6 多字段匹配/赋值 161
6.1.7 CTE 162
6.1.8 指定使用索引 165
6.1.9 SQL语句的并行处理 165
6.1.10 模块加密 167
6.1.11 获得DML影响行数 168
6.1.12 获得客户端IP地址 168
6.1.13 Oracle伪列 169
6.1.14 仅获取部分输出/分页 172
6.1.15 动态(拼接)SQL 173
6.1.16 参数及绑定 174
6.1.17 修改对象的定义 176
6.2 字符串与函数 177
6.2.1 字符串的比较 177
6.2.2 排序 180
6.2.3 ' ' 值与null值 181
6.2.4 转义字符 182
6.2.5 内置函数迁移 182
6.3 常用语句 185
6.3.1 insert 185
6.3.2 DML同时返回结果集 186
6.3.3 Delete数据后释放
存储空间 188
6.3.4 分批delete大量数据 188
6.3.5 多表关联 190
6.3.6 删除表中所有行
(truncate table) 192
6.3.7 层次查询子句
(connect by) 193
6.3.8 合并(merge) 197
6.3.9 分组统计 198
6.3.10 透视和逆透视 200
6.3.11 批加载(bulk load) 202
第7章 SQL语句迁移(2) 203
7.1 编程 203
7.1.1 If语句 203
7.1.2 循环语句 203
7.1.3 游标 204
7.1.4 出错处理和抛出异常 206
7.1.5 程序包/程序集 208
7.1.6 与其他开发语言的集成 209
7.1.7 自定义聚合函数 217
7.1.8 合并多条记录中的
同一个字符串字段 221
7.1.9 分解字符串为一张表 222
7.1.10 正则表达式 224
7.1.11 数据加密 230
7.2 维护 232
7.2.1 查看表的列信息 232
7.2.2 显示SQL的执行计划 232
7.2.3 统计信息的更新 233
7.2.4 管理视图 235
7.2.5 链接服务器(DBlink) 236
第8章 事务差异 244
8.1 事务级别标准 244
8.2 默认事务级别 244
8.2.1 无阻塞查询/快照事务 244
8.2.2 SQL Server设置快照
事务为默认事务级别 245
8.2.3 SQL Server模拟Oracle
默认事务操作 246
8.3 事务操作 246
8.3.1 显式事务/隐性事务 246
8.3.2 DDL语句与事务 247
8.3.3 语句块在语句出错时
停止 248
8.3.4 匿名语句块 248
8.3.5 事务提交和回滚 249
8.3.6 事务保存点 250
8.3.7 锁等待(阻塞) 250
8.4 未能实现的事务等级 251
8.4.1 Oracle中实现一致读
事务级别 251
8.4.2 自治事务 251
8.4.3 SQL Server利用脏读
获得事务发起者的IP 252
8.5 锁 253
8.5.1 锁内存管理和锁升级 253
8.5.2 显式指定加锁的方式 256
8.5.3 查看会话、对象、SQL、
事务和锁 257
8.5.4 跟踪锁分配 258
8.5.5 死锁检测 259
8.6 日志 261
8.6.1 SQL Server日志 261
8.6.2 SQL Server中日志
最小化 261
8.6.3 Oracle日志 262
8.6.4 Oracle中日志最小化 262
第9章 其他功能 263
9.1 性能监控 263
9.1.1 SQL Server的性能监控 263
9.1.2 Oracle的性能监控 265
9.2 资源管理 267
9.2.1 SQL Server的资源管理 267
9.2.2 Oracle的资源管理 268
9.3 数据压缩/列存储 269
9.3.1 Oracle中的数据压缩 269
9.3.2 SQL Server中的
数据压缩 270
9.4 数据快速恢复 272
9.4.1 Oracle:闪回(Flashback) 272
9.4.2 Oracle的四种闪回方式 275
9.4.3 SQL Server的数据库快照
(Database Snapshots) 276
9.4.4 优势对比 279
9.5 定时任务 279
9.5.1 Oracle中的定时任务 279
9.5.2 SQL Server中的定时任务 282
9.6 开发接口 292
9.6.1 ODBC/ OCI 292
9.6.2 OLE DB 293
9.6.3 .NET 293
9.6.4 Java 293
9.6.5 PHP 294
9.7 存储管理 294
9.7.1 Oracle的存储管理 294
9.7.2 SQL Server的存储管理 294
9.8 高可用性方案 294
9.8.1 SQL Server的高可用性
方案 295
9.8.2 Oracle的高可用性方案 295
9.9 高性能方案(内存数据库) 296
9.9.1 SQL Server的高性能
方案 296
9.9.2 Oracle的高性能方案 296
9.10 备份方案 296
9.10.1 SQL Server的备份方案 297
9.10.2 Oracle的备份方案 297
9.11 变更数据捕获 297
9.11.1 SQL Server的变更数据
捕获 297
9.11.2 Oracle的变更数据捕获 298
9.12 邮件通知 298
9.12.1 SQL Server的邮件通知 298
9.12.2 Oracle的邮件通知 300
9.12.3 Buffer Pool Extension 301
参考文献 302
猜您喜欢