本书以实例的形式全面介绍了Transact—SQL的应用开发技术。全书一共11章。前两章的主要内容是Transact—SQL的基本用法和编程概念。第3章展示了一些内建函数的使用。第4章、第5章和第6章分别演示了如何使用游标、存储过程和触发器。第7章、第8章和第9章分别介绍了索引、ADO模型和复制这三个专题。第10章演示了一些查询优化的方法。第11章重点介绍了在数据库中使用XML的方法。每一章由多个实例组成,每个实例分为“实例目的”、“源代码”和“代码剖析”这三部分,清晰明了,便于学习。\r\n\r\n 本书可供从事Transact—SQL开发技术的广大工程技术人员和大专院校师生阅读参考。\r\n
\r\n
第1章 Transact-SQL基本用法 \r\n\r\n 1. 1 创建. 修改和删除数据库 \r\n\r\n 1. 1. 1 创建简单的数据库 \r\n\r\n 1. 1. 2 创建数据文件和事务日志文件 \r\n\r\n 1. 1. 3 修改数据库 \r\n\r\n 1. 1. 4 删除数据库 \r\n\r\n 1. 2 创建和删除表 \r\n\r\n 1. 2. 1 数据类型及创建 \r\n\r\n 1. 2. 2 使用约束 \r\n\r\n 1. 2. 3 创建表 \r\n\r\n 1. 2. 4 删除表 \r\n\r\n 1. 2. 5 临时表 \r\n\r\n 1. 3 修改表 \r\n\r\n 1. 4 查询数据 \r\n\r\n 1. 4. 1 SELECT子句的使用技巧 \r\n\r\n 1. 4. 2 FROM子句的使用技巧 \r\n\r\n 1. 4. 3 WHERE子句的使用技巧 \r\n\r\n 1. 5 添加数据 \r\n\r\n 1. 6 修改和删除数据 \r\n\r\n 1. 6. 1 修改数据 \r\n\r\n 1. 6. 2 删除数据 \r\n\r\n 第2章 Transact-SQL的高级概念 \r\n\r\n 2. 1 SQL Server编程概念 \r\n\r\n 2. 1. 1 批 \r\n\r\n 2. 1. 2 事务 \r\n\r\n 2. 1. 3 流控制 \r\n\r\n 2. 1. 4 变量 \r\n\r\n 2. 2 使用于查询和在线视图 \r\n\r\n 2. 2. 1 Transact-SQL中的子查询 \r\n\r\n 2. 2. 2 在线视图 \r\n\r\n 2. 3 外联结. 交叉联结和自联结 \r\n\r\n 2. 3. 1 外联结 \r\n\r\n 2. 3. 2 交叉联结 \r\n\r\n 2. 3. 3 自联结 \r\n\r\n 2. 4 高级的DELETE语句和UPDATE语句 \r\n\r\n 2. 4. 1 DELETE语句的高级使用 \r\n\r\n 2. 4. 2 高级UPDATE语句 \r\n\r\n 2. 5 CASE表达式 \r\n\r\n 2. 5. 1 简单CASE表达式 \r\n\r\n 2. 5. 2 高级CASE表达式 \r\n\r\n 第3章 使用内建函数 \r\n\r\n 3. 1 转换函数 \r\n\r\n 3. 1. 1 CAST()函数 \r\n\r\n 3. 1. 2 STR()函数 \r\n\r\n 3. 1. 3 CONVERT()函数 \r\n\r\n 3. 2 日期和时间函数 \r\n\r\n 3. 2. 1 DATEADD()函数 \r\n\r\n 3. 2. 2 DATEDIFF()函数 \r\n\r\n 3. 2. 3 DATENAME()函数 \r\n\r\n 3. 2. 4 DATEPART()函数 \r\n\r\n 3. 3 算术函数 \r\n\r\n 3. 3. 1 三角函数 \r\n\r\n 3. 3. 2 ABS()函数 \r\n\r\n 3. 3. 3 CEILING()函数和FLOOR()函数 \r\n\r\n 3. 3. 4 RAND()函数 \r\n\r\n 3. 4 字符串函数 \r\n\r\n 3. 4. 1 ASCB()函数 \r\n\r\n 3. 4. 2 CHAR()函数 \r\n\r\n 3. 4. 3 UPPER()函数和LOWER()函数 \r\n\r\n 3. 4. 4 TRIM()函数 \r\n\r\n 3. 4. 5 字符串操作函数 \r\n\r\n 3. 5 使用系统函数 \r\n\r\n 3. 5. 1 DATALENGTH()函数 \r\n\r\n 3. 5. 2 ISNULL()函数 \r\n\r\n 3. 5. 3 ISDATE()函数 \r\n\r\n 第4章 游标的使用 \r\n\r\n 4. 1 游标使用的全过程 \r\n\r\n 4. 1. 1 定义游标 \r\n\r\n 4. 1. 2 打开游标 \r\n\r\n 4. 1. 3 FETCH语句的使用 \r\n\r\n 4. 1. 4 释放游标 \r\n\r\n 4. 1. 5 删除游标引用 \r\n\r\n 4. 2 游标和事务 \r\n\r\n 4. 2. 1 在提交事务时使用游标 \r\n\r\n 4. 2. 2 使用游标进行并发控制 \r\n\r\n 4. 2. 3 游标锁定 \r\n\r\n 4. 3 游标函数 \r\n\r\n 4. 3. 1 函数@@CURSOR_ROWS的使用 \r\n\r\n 4. 3. 2 函数CURSOR_STATUS的使用 \r\n\r\n 4. 3. 3 函数@@FETCH-STATUS的使用 \r\n\r\n 4. 4 使用游标修改和删除数据 \r\n\r\n 4. 4. 1 使用游标修改数据 \r\n\r\n 4. 4. 2 使用游标删除数据 \r\n\r\n 4. 4. 3 使用游标修改数据高级范例 \r\n\r\n 4. 5 高级游标使用 \r\n\r\n 4. 5. 1 用自定义函数代替游标 \r\n\r\n 4. 5. 2 使用嵌套游标生成报表输出 \r\n\r\n 4. 5. 3 使用系统存储过程察看游标 \r\n\r\n 第5章 存储过程 \r\n\r\n 5. 1 存储过程入门 \r\n\r\n 5. 1. 1 创建存储过程 \r\n\r\n 5. 1. 2 修改存储过程 \r\n\r\n 5. 1. 3 存储过程的运行和删除 \r\n\r\n 5. 2 创建带输出参数的存储过程 \r\n\r\n 5. 2. 1 简单实例 \r\n\r\n 5. 2. 2 图书馆实例 \r\n\r\n 5. 3 利用存储过程实现BBS树形结构 \r\n\r\n 5. 3. 1 基本思路 \r\n\r\n 5. 3. 2 表的设计 \r\n\r\n 5. 3. 3 用存储功能实现树形结构 \r\n\r\n 5. 4 用PHP调用数据库的存储过程 \r\n\r\n 5. 4. 1 用PHP调用存储过程实例之一 \r\n\r\n 5. 4. 2 用PHP调用存储过程实例之二 \r\n\r\n 5. 5 工程案例分斩 \r\n\r\n 5. 5. 1 创建第一个管理表 \r\n\r\n 5. 5. 2 创建档案管理表 \r\n\r\n 5. 5. 3 添加一个用户登录ID \r\n\r\n 5. 5. 4 修改用户结束日期 \r\n\r\n 5. 5. 5 删除一个用户 \r\n\r\n 5. 5. 6 改善处理过程的建议 \r\n\r\n 第6章 触发器的使用 \r\n\r\n 6. 1 创建和使用触发器 \r\n\r\n 6. 1. 1 创建一个简单的触发器 \r\n\r\n 6. 1. 2 使用触发器 \r\n\r\n 6. 1. 3 工程实例 \r\n\r\n 6. 2 修改和删除触发器 \r\n\r\n 6. 2. 1 修改触发器 \r\n\r\n 6. 2. 2 删除触发器 \r\n\r\n 6. 3 级联触发器 \r\n\r\n 6. 3. 1 删除级联 \r\n\r\n 6. 3. 2 更新级联 \r\n\r\n 6. 3. 3 UPDATE()函数的使用 \r\n\r\n 6. 4 递归触发器 \r\n\r\n 6. 4. 1 简单的递归触发器 \r\n\r\n 6. 4. 2 使用递归触发器解决自引用关系 \r\n\r\n 6. 5 用触发器强制执行业务规则 \r\n\r\n 6. 5. 1 使用触发器限制字段的值 \r\n\r\n 6. 5. 2 进一步使用触发器限制字段的值 \r\n\r\n 第7章 索引 \r\n\r\n 7. 1 索引基础 \r\n\r\n 7. 1. 1 索引的用途 \r\n\r\n 7. 1. 2 索引类型 \r\n\r\n 7. 2 深入了解索引结构 \r\n\r\n 7. 2. 1 非聚集索引 \r\n\r\n 7. 2. 2 聚集索引 \r\n\r\n 7. 2. 3 聚集索引和非聚集索引的比较 \r\n\r\n 7. 2. 4 复合索引的优缺点 \r\n\r\n 7. 2. 5 使用索引检索和更新数据 \r\n\r\n 7. 3 创建索引 \r\n\r\n 7. 3. 1 使用简单索引 \r\n\r\n 7. 3. 2 使用唯一聚集索引 \r\n\r\n 7. 3. 3 使用简单组合索引 \r\n\r\n 7. 3. 4 使用RILLFACTOR选项 \r\n\r\n 7. 3. 5 使用IGNORE-DUP--KEY选顷 \r\n\r\n 7. 3. 6 使用PAD-INDEX创建索引 \r\n\r\n 7. 3. 7 为视图创建索引 \r\n\r\n 7. 3. 8 删除索引 \r\n\r\n 7. 4 调整索引 \r\n\r\n 7. 4. 1 选择索引键列 \r\n\r\n 7. 4. 2 填充因子 \r\n\r\n 第8章 ADO模型的运用 \r\n\r\n 8. 1 使用Connection对象操纵数据 \r\n\r\n 8. 1. 1 创建数据库连接文件 \r\n\r\n 8. 1. 2 创建表 \r\n\r\n 8. 1. 3 添加数据 \r\n\r\n 8. 1. 4 察看数据 \r\n\r\n 8. 2 使用Recordset对象察看数据 \r\n\r\n 8. 2. 1 使用Recordset对象显示所有记录的所有字段 \r\n\r\n 8. 2. 2 用Recordset对象实现翻页 \r\n\r\n 8. 2. 3 Recordset对象中的游标使用 \r\n\r\n 8. 2. 4 利用Recordset对象插入数据 \r\n\r\n 8. 3 用Command对象执行存储过程 \r\n\r\n 8. 3. 1 使用Command对象执行存储过程的基本步骤 \r\n\r\n 8. 3. 2 使用存储过程完成一个论坛 \r\n\r\n 8. 3. 3 论坛的全部源代码 \r\n\r\n 8. 4 工程实例 \r\n\r\n 8. 4. 1 预备工作介绍 \r\n\r\n 8. 4. 2 浏览产品 \r\n\r\n 8. 4. 3 更新数据 \r\n\r\n 8. 4. 4 添加数据 \r\n\r\n 8. 4. 5 删除数据 \r\n\r\n 第9章 复制 \r\n\r\n 9. 1 复制介绍 \r\n\r\n 9. 1. 1 什么是复制 \r\n\r\n 9. 1. 2 出版和订阅模型 \r\n\r\n 9. 1. 3 复制怎样工作 \r\n\r\n 9. 1. 4 复制代理 \r\n\r\n 9. 1. 5 复制数据时的因素 \r\n\r\n 9. 1. 6 分发方法 \r\n\r\n 9. 2 在Web应用程序中使用SQL合并和分发控件 \r\n\r\n 9. 2. 1 服务器端安装程序 \r\n\r\n 9. 2. 2 Web应用程序 \r\n\r\n 9. 2. 3 程序运行的步骤和结果 \r\n\r\n 9. 3 使用存储过程解决数据冲突 \r\n\r\n 9. 3. 1 实例任务简介 \r\n\r\n 9. 3. 2 创建出版服务器 \r\n\r\n 9. 3. 3 创建存储过程裁决器 \r\n\r\n 9. 3. 4 完成并测试应用程序 \r\n\r\n 9. 4 使用VB创建可变订阅 \r\n\r\n 9. 4. 1 实例任务说明 \r\n\r\n 9. 4. 2 VB程序代码解析 \r\n\r\n 9. 4. 3 数据库端的SQL脚本 \r\n\r\n 9. 4. 4 repldts. vbp文件介绍 \r\n\r\n 9. 4. 5 运行程序的步骤 \r\n\r\n 第10章 查询优化 \r\n\r\n 10. 1 优化原则 \r\n\r\n 10. 1. 1 查询优化建议 \r\n\r\n 10. 1. 2 高级查询概念 \r\n\r\n 10. 1. 3 编写可读性强的代码 \r\n\r\n 10. 2 设计和优化存储过程 \r\n\r\n 10. 2. 1 设计高效的存储过程 \r\n\r\n 10. 2. 2 编写存储过程的步骤 \r\n\r\n 10. 2. 3 数据检索优化 \r\n\r\n 10. 2. 4 数据存储优化 \r\n\r\n 10. 2. 5 数据存档优化 \r\n\r\n 10. 2. 6 数据删除优化 \r\n\r\n 10. 2. 7 记录处理优化 \r\n\r\n 10. 2. 8 使用业务逻辑 \r\n\r\n 10. 3 交叉制表 \r\n\r\n 第11章 在SQL Server 2000中使用XML \r\n\r\n 11. 1 使用HTTP访问SQL Server \r\n\r\n 11. 1. 1 创建IIS虚拟目录 \r\n\r\n 11. 1. 2 使用HTTP执行存储过程 \r\n\r\n 11. 1. 3 使用HTTP执行模板 \r\n\r\n 11. 2 使用带批注的XDR架构 \r\n\r\n 11. 2. 1 基本概念 \r\n\r\n 11. 2. 2 使用sql:relation \r\n\r\n 11. 2. 3 使用sql:field \r\n\r\n 11. 2. 4 使用sql:is-constant \r\n\r\n 11. 2. 5 使用<sql:relationship> \r\n\r\n 11. 2. 6 使用sql:limit-field和sql:limit-value \r\n\r\n 11. 2. 7 使用sql:overflow-field \r\n\r\n 11. 3 XPath查询 \r\n\r\n 11. 3. 1 查询中使用的架构映射 \r\n\r\n 11. 3. 2 指定XPath查询中的多个要素 \r\n\r\n 11. 4 检索和编写XML \r\n\r\n 11. 4. 1 使用FORXML子句 \r\n\r\n 11. 4. 2 使用OPENXML子句 \r\n\r\n 11. 5 XSL专题 \r\n\r\n 11. 5. 1 一个简单的XSL应用 \r\n\r\n 11. 5. 2 使用XSL模板 \r\n\r\n 11. 5. 3 选择数据输出 \r\n\r\n 11. 5. 4 灵活运用XSL \r\n\r\n 11. 5. 5 创建一个ASP程序来检查XSL转换 \r\n\r\n 11. 5. 6 在数据库查询结果中使用XSL \r\n
\r\n
MS SQL Server 2000已经在性能和可扩展性方面确立了世界领先的地位, 是一套完全的数据库和数据分析解决方案, 使用户可以快速创建下一代的可扩展电子商务和数据仓库解决方案.
MS SQL Server 2000通过对高端硬件平台以及最新网络和存储技术的支持, 可以为最大的Web站点和企业级的应用提供可扩展性和高可靠性. SQL Server 2000使用了工业界最先进的数据库构架, 它与Microsoft Windows DNA 2000平台紧密集成, 使用户能够在Internet商业领域快速创建应用, 从而帮助各大公司认识到数字经济的可能性.
Transact-SQL对使用MicrosoftSQL Server非常重要. 与SQL Server通信的所有应用程序都通过向服务器发送Transact-SQL语句来进行通信, 而与应用程序的用户界面无关. 这些应用程序包括以下几种,
●通用办公生产应用程序.
●使用图形用户界面(GUI)的应用程序, 使用户得以选择包含要查看的数据的表和列.
●使用通用语言语句确定用户所要查看数据的应用程序.
●将其数据存储于SQL Server数据库中的商用应用程序. 这些应用程序既可以是来自其它厂商的应用程序, 也可以是内部编写的应用程序.
●使用osql等实用工具运行的Transact-SQL脚本.
●由开发系统(如Microsoft VisualC十十. Microsoft Visual Basic)使用数据库应用程序接口(API)(如ADO. OLEDB以及ODBC)创建的应用程序.
●从SQL Server数据库提取数据的Web页.
●分布式数据库系统, 在此系统中将数据从SQL Server复制到各个数据库或执行分布式查询.
●数据仓库, 从联机事务处理(OLTP)系统中提取数据, 以及对数据汇总以进行决策支持分析, 均可在此仓库中进行.
以上所有这些应用程序都使用Transact-SQL语句和数据库服务器进行通信, 可见Transact-SQL的重要性. 通过实例学习语言是最快的学习方法之一, 它可以避开繁杂的语法介绍, 直接进入应用层面. 本书以实例为主线, 快速切入Transact-SQL的各个主题, 使读者能迅速掌握这门数据库专用语言的主要用法. 对于有一定编程经验的读者(VB, VC, ASP等), 更是能够利用本书轻松掌握Transact-SQL. 本书的每个实例都在MS SQL Server 2000上调试过.
本书包括11章. 前两章的主要内容是Transact-SQL的基本用法和编程概念. 第3章展示了一些内建函数的使用. 第4章. 第5章和第6章分别演示了如何使用游标. 存储过程和触发器. 第7章. 第8章和第9章分别介绍了索引. ADO模型和复制这三个专题. 第10章演示了一些查询优化的方法. 第11章重点介绍了在数据库中使用XML的方法. 每一章都由多个实例组成. 每个实例分为"实例目的". "源代码"和"代码剖析"三部分, 清晰明了, 便于学习.
本书是集体努力的结果, 参与编写的人员有:刘赛锦. 张平宗. 刘玉福. 王胜. 范勇. 张新. 陈旭辉. 周光南. 蒋建华. 范晓峰. 李小旭. 金豪义. 李雨松. 丁伟. 刘胜. 张建中. 王玉宽. 李林. 刘春荣. 王树祥. 冯天树. 王峰松. 王建军. 李德彬. 李军. 裴庆儒. 邹力和王立群等. 全书由刘赛锦整理完成.