图书介绍

突出重围 Transact-SQL管理与开发实例精粹2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

突出重围 Transact-SQL管理与开发实例精粹
  • 赵松涛等编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121114472
  • 出版时间:2010
  • 标注页数:436页
  • 文件大小:65MB
  • 文件页数:457页
  • 主题词:关系数据库-数据库管理系统,SQL Server-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

突出重围 Transact-SQL管理与开发实例精粹PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 Transact-SQL语法元素1

1.1 标识符1

1.1.1 必须有标识符吗1

1.1.2 标识符的排序规则1

1.1.3 常规标识符2

1.1.4 带分隔符的标识符3

1.2 数据类型3

1.2.1 哪些对象需要数据类型3

1.2.2 如何选择恰当的数据类型4

1.2.3 基本数据类型5

1.2.4 SQL Server 2008新增数据类型5

1.2.5 深入研究tinyint数据类型6

1.2.6 深入研究smallint数据类型8

1.2.7 深入研究int(Integer)数据类型10

1.2.8 深入研究bigint数据类犁12

1.2.9 decimal(numeric)数据类型的使用14

1.2.10 float数据类型的使用16

1.2.11 real数据类型的使用17

1.2.12 char数据类型的使用17

1.2.13 varchar数据类型的使用17

1.2.14 用CAST函数转换数据类型18

1.2.15 用CONVERT函数转换数据类型18

1.3 常量19

1.3.1 数值型常量的格式19

1.3.2 字符串型常量的格式20

1.3.3 日期时间型常量的格式20

1.4 注释20

1.4.1 添加单行注释信息20

1.4.2 添加多行注释信息20

1.5 变量21

1.5.1 变量的数据类型21

1.5.2 变量的分类21

1.5.3 局部变量的声明21

1.5.4 局部变量的赋值22

1.5.5 局部变量的作用域23

1.6 常用聚合函数23

1.6.1 计算平均值AVG23

1.6.2 计算最小值MIN24

1.6.3 计算最大值MAX25

1.6.4 计算求和值SUM26

1.6.5 计算项数值COUNT(COUNT_BIG)26

1.6.6 计算标准偏差值STDEV27

1.6.7 计算方差VAR28

1.7 常用日期时间函数29

1.7.1 获取当前日期GETDATE29

1.7.2 获取年度信息YEAR30

1.7.3 获取月份信息MONTH30

1.7.4 获取天数信息DAY30

1.7.5 任意获取日期时间值部分DATEPART31

1.7.6 日期加法DATEADD31

1.7.7 日期减法DATEDIFF32

1.7.8 2008中新增的日期时间型函数33

1.7.9 判断是否为日期数据ISDATE33

1.8 常用字符串函数33

1.8.1 获取字符的ASCII码ASCII33

1.8.2 获取ASCII码对应的字符CHAR34

1.8.3 获取字符的Unicode编码UNICODE35

1.8.4 获取Unicode编码对应的字符NCHAR36

1.8.5 获取字符串第一次出现位置PATINDEX36

1.8.6 生成空格字符串SPACE37

1.8.7 按指定次数重复生成字符串REPLICATE38

1.8.8 截取子串SUBSTRING39

1.8.9 获取字符串长度LEN39

1.8.10 替换字符串中内容STUFF40

1.8.11 指定位置搜索字符串中内容CHARINDEX41

1.8.12 生成带分隔符的Unicode字符串QUOTENAME42

1.8.13 转换浮点数字为字符串STR42

1.8.14 截取左边字符串LEFT43

1.8.15 截取右边字符串RIGHT43

1.8.16 截取左边空格LTRIM44

1.8.17 截取右边空格RTRIM44

1.8.18 转换为小写字符串LOWER45

1.8.19 转换为大写字符串UPPER45

1.8.20 反序字符串REVERSE46

1.8.21 获取字符串字节数DATALENGTH46

1.9 常用文本和图像函数47

1.9.1 查找特定字符串PATINDEX47

1.9.2 获取文本指针TEXTPTR47

1.9.3 检测文本指针是否有效TEXTVALID49

1.9.4 读取文本图像列内容READTEXT49

1.9.5 写入文本图像列内容WRITETEXT50

1.9.6 更新文本图像列内容UPDATETEXT51

1.10 常用数学函数52

1.10.1 计算绝对值ABS52

1.10.2 获取大于等于的最小整数值CEILING53

1.10.3 获取小于等于的最大整数值FLOOR53

1.10.4 获取随机数RAND53

1.10.5 获取指定长度和精度ROUND54

1.11 常用元数据函数54

1.11.1 获取数据库标识符DB_ID54

1.11.2 获取数据库名称DB_NAME55

1.11.3 获取数据库属性值DATABASEPROPERTYEX56

1.11.4 获取文件组标识符FILEGROUP_ID57

1.11.5 获取文件组名称FILEGROUP_NAME58

1.11.6 获取文件组属性值FILEGROUPPROPERTY58

1.11.7 获取文件标识符FILE_ID60

1.11.8 获取文件名称FILE_NAME61

1.11.9 获取文件属性值FILEPROPERTY62

1.11.10 获取数据对象标识符OBJECT_ID63

1.11.11 获取数据对象名称OBJECT_NAME64

1.11.12 获取文件属性值OBJECTPROPERTYEX66

1.12 运算符67

1.12.1 算术运算符67

1.12.2 位运算符68

1.12.3 比较运算符68

1.12.4 逻辑运算符68

1.12.5 字符串连接运算符69

1.12.6 赋值运算符69

1.12.7 运算符的优先级69

第2章 Transact-SQL语句70

2.1 控制流语句70

2.1.1 程序块语句BEGIN..END70

2.1.2 判断语句IF..ELSE71

2.1.3 循环语句WHILE72

2.1.4 分支判断语句CASE74

2.1.5 无条件退出语句RETURN1175

2.1.6 无条件跳转语句GOTO77

2.1.7 延期执行语句WAITFOR78

2.2 运行时生成语句79

2.2.1 用EXECUTE执行动态命令80

2.2.2 用SP_EXECUTESQL执行动态命令81

2.2.3 参数替换83

2.2.4 为什么提倡使用SP_EXECUTESQL84

2.2.5 使用输出参数的SP_EXECUTESQL1185

2.3 语句之间数据的传递86

2.3.1 Transact-SQL语句之间数据的传递86

2.3.2 Transact-SQL与高级语言之间数据的传递87

2.4 错误处理90

2.4.1 SQL Server数据库引擎错误91

2.4.2 用TRY..CATCH发现错误91

2.4.3 捕获错误的系统函数92

2.4.4 用@@ERROR捕获上一条语句的错误1193

2.4.5 用RAISERROR反馈错误94

2.5 批处理96

2.5.1 GO的含义96

2.5.2 研究批处理的执行96

2.5.3 批处理的意义99

2.5.4 为什么临时变量作用域不能跨批处理100

2.5.5 如何编写批处理101

2.5.6 批处理如何处理错误101

2.5.7 脚本102

第3章 查询服务器配置信息103

3.1 配置查询环境103

3.2 查询服务器属性值104

3.2.1 ServerProperty系统函数104

3.2.2 查询数据库引擎版本105

3.2.3 综合使用ServerProperty函数查询105

3.3 判断登录账户身份106

3.4 读写注册表信息106

3.4.1 读注册表xp_regenumvalues107

3.4.2 读注册表xp_regread107

3.4.3 写注册表xp_regwrite108

3.4.4 删除注册表项xp_regdeletevalue108

3.4.5 读注册表项xp_instance_regread109

3.4.6 写注册表xp_instance_regwrite109

3.4.7 读沣册表中的主要数据文件路径信息110

3.4.8 读注册表中的错误日志文件路径信息111

3.4.9 读注册表中的日志文件路径信息112

3.5 综合实例113

3.5.1 获取“常规”选项卡信息113

3.5.2 获取服务器配置参数信息114

3.5.3 获取服务器上数据库信息115

3.5.4 获取服务器上处理器数量115

3.5.5 提升SQL Server服务器优先级116

3.5.6 获得Windows版本信息116

3.5.7 获得身份验证机制117

3.5.8 获得登录审核机制118

3.5.9 自动检测服务器重要的配置参数118

3.5.10 查询服务器的用户或用户组126

3.5.11 查询用户角色或应用程序角色127

第4章 登录过程129

4.1 连接129

4.1.1 查询所有连接信息129

4.1.2 查询连接总数130

4.1.3 查询阻塞的连接130

4.1.4 查询用户建立的连接130

4.1.5 查询系统建立的连接130

4.1.6 查询活动的用户连接131

4.1.7 查询用户连接的不同客户机131

4.2 配置131

4.2.1 查询当前系统配置131

4.2.2 查询当前最大工作线程数132

4.3 会话132

4.3.1 查询服务器上的所有会话132

4.3.2 查询会话建立的游标132

4.3.3 查询会话的错误信息133

4.3.4 查询会话的缓冲区命中率133

4.3.5 查询会话的操作系统线程134

4.3.6 查询当前会话ID135

4.4 综合运用135

4.4.1 综合查询连接统计信息135

4.4.2 判断当前登录的权限137

4.4.3 查询会话超时设置137

4.4.4 判断连接是否为DAC138

4.4.5 查询当前连接的网络参数138

4.4.6 查询SQL Server版本信息139

4.4.7 查询服务器基本属性139

4.4.8 查询当前登录名141

4.4.9 查询当前的活动事务数141

4.4.10 查询数据库缓冲区命中率低的会话141

4.4.11 查询数据库缓冲区命中率最低的会话的SQL语句142

第5章 数据库相关144

5.1 查询数据库信息144

5.1.1 查询所有的用户数据库名称144

5.1.2 用sp_dboption存储过程配置数据库145

5.1.3 配置数据库的恢复模式145

5.1.4 判断数据库的名称是否含有特定字符146

5.1.5 判断两个数据库的排序规则是否一致147

5.1.6 判断数据库是否系统数据库和可读148

5.1.7 查询可以访问的数据库148

5.1.8 查询数据库的文件149

5.1.9 查询数据库的系统表150

5.1.10 查询数据库的排序规则151

5.1.11 查询数据库的排序规则Windows代码152

5.1.12 查询数据库支持的排序规则152

5.1.13 统计数据库上的进程数152

5.1.14 查询数据库的兼容性级别153

5.1.15 查询数据库的最后备份时间153

5.1.16 查询数据库的最后日志备份时间153

5.2 数据库的存储空间154

5.2.1 查询数据库的总空间154

5.2.2 查询数据库的数据文件总空间154

5.2.3 查询数据库的日志文件总空间155

5.2.4 查询数据文件已经分配的空间155

5.2.5 查询数据文件的可用空间155

5.2.6 查询日志文件已经分配的空间157

5.3 综合运用159

5.3.1 查询数据库的属性159

5.3.2 获取所有数据库的数据文件空间使用率排序159

第6章 未公开的DBCC命令162

6.1 DBCC PAGE查询数据页面162

6.1.1 查询DBID和DBNAME163

6.1.2 查询FILENUM和PAGENUM163

6.1.3 DBCC PAGE的典型用法163

6.2 DBCC LOG查询日志164

6.3 DBCC ERRORLOG初始化错误日志165

6.4 DBCC FLUSHPROCINDB清除缓存存储过程166

6.5 DBCC BUFFER查询缓冲区166

6.6 DBCC DBINFO显示数据库结构167

6.7 DBCC DBTABLE显示数据字典168

6.8 DBCC IND显示表的索引页面信息168

6.9 DBCC PRTIPAGE显示索引每行的数据页169

6.10 DBCC RESOURCE显示服务器资源情况169

6.11 DBCC DBRECOVER恢复质疑数据库170

6.12 DBCC CACHESTATS查看内存统计信息170

6.13 DBCC MEMORYSTATUS查询内存分配171

6.14 DBCC跟踪标记171

6.14.1 概念171

6.14.2 打开跟踪标记172

6.14.3 关闭跟踪标记172

6.14.4 查询跟踪标记状态172

6.15 DBCC SHOWFILESTATS显示数据文件空间172

6.16 WITH TABLERESULTS表格显示信息173

6.17 DBCC LOGlNFO查询虚拟目志信息173

6.18 DBCC EXTENTINFO查询盘区数174

第7章 数据和日志文件176

7.1 FILEPROPERTY函数获得文件属性176

7.1.1 判断文件是否只读176

7.1.2 判断文件是否主要数据文件177

7.1.3 查询文件已经使用空间177

7.2 FN_VIRTUALFILESTATS获得文件I/O性能177

7.2.1 查询指定文件的I/O性能178

7.2.2 查询指定数据库所有文件的I/O性能178

7.2.3 查询所有数据库所有文件的I/O性能179

7.2.4 查询文件I/O性能的动态性能视图180

7.3 日志文件相关180

7.2.1 查询VLF分布情况180

7.2.2 移动日志文件的内容182

7.2.3 删除日志文件的内容182

7.4 数据文件相关183

7.4.1 查询所有数据库的数据文件空间情况183

7.4.2 查询数据库存储空间的洋细分布185

7.4.3 查询已分配空间中的行内数据192

7.4.4 查询已分配空间中的LOB大型数据193

7.4.5 查询已分配空间中的行溢出数据194

7.4.6 查询哪些类型的对象使用了数据空间194

7.4.7 查询使用数据空间的对象类型及其数量194

7.5 综合查询数据库文件的I/O性能195

第8章 数据对象197

8.1 索引197

8.1.1 更新表上所有索引的统计信息197

8.1.2 更新表上特定索引的统计信息199

8.1.3 统计数据库中索引使用的空间总和200

8.1.4 索引使用的空间详细情况203

8.2 表208

8.2.1 获得数据库表的存储空间分布208

8.2.2 获得数据缓冲区中数据对象的存储分布212

第9章 性能监控218

9.1 对象分配性能218

9.1.1 监控盘区分配情况218

9.1.2 监控盘区回收情况219

9.1.3 监控页面拆分情况220

9.1.4 监控表上锁升级情况221

9.2 内存性能222

9.2.1 SQL Server内存详解223

9.2.2 查询SQL Server服务器使用的内存数量225

9.2.3 查询连接使用的内存数量225

9.2.4 查询锁使用的内存数量226

9.2.5 查询优化器使用的内存数量226

9.2.6 查询SQL使用的内存数量226

9.2.7 查询服务器能够使用的最大内存数量227

9.2.8 查询当前服务器上可用内存数量227

9.2.9 查询最小服务器内存228

9.2.10 查询最大服务器内存228

9.2.11 查询计算机的物理内存229

9.2.12 查询计算机的虚拟内存229

9.3 过程缓冲区性能229

9.3.1 查询过程缓冲区使用的内存229

9.3.2 查询过程缓冲区内容类别230

9.3.3 查询过程缓冲区命中率230

9.3.4 查询过程缓冲区对象分布比例231

9.3.5 查询过程缓冲区中各类对象的命中率232

9.3.6 查询过程缓冲区各类对象使用的比例232

9.3.7 清除过程缓冲区中的对象233

9.3.8 过程缓冲区中消耗资源Top对象234

9.4 数据缓冲区性能238

9.4.1 查询数据缓冲区的内存数量238

9.4.2 查询数据缓冲区的理想内存数量239

9.4.3 查询数据缓冲区的可用内存数量239

9.4.4 查询数据缓冲区中数据使用的内存239

9.4.5 查询数据缓冲区的命中率240

9.4.6 清除数据缓冲区中的对象240

9.4.7 数据缓冲区中消耗资源Top对象241

9.5 其他实例242

9.5.1 查询资源等待情况242

9.5.2 查询计数器种类和性能值243

9.5.3 查询执行计划的属性244

9.5.4 查询性能计数器表是否可以使用245

9.5.5 查询服务器内存总体分布情况245

第10章 管理其他实例250

10.1 检测和使用XP_CMDSHELL250

10.1.1 检测XP_CMDSHELL是否启用250

10.1.2 用XP_CMDSHELL执行命令253

10.2 错误日志253

10.2.1 产生并使用新的错误日志文件253

10.2.2 获得错误日志文件的信息254

10.3 代理服务254

10.3.1 判断代理服务是否启动254

10.3.2 查询代理服务上产生的警报254

10.3.3 配置代理服务自启动255

10.3.4 判断代理服务是否允许访问255

10.3.5 获得代理服务启动信息256

10.3.6 记录代理服务启动时间256

10.3.7 获得代理服务子系统的信息256

10.3.8 获得代理服务详细配置信息256

10.3.9 运行代理服务监视器258

10.3.10 刷新代理服务作业258

10.3.11 查询代理服务活动作业259

10.4 设置登录环境259

10.5 数据库260

10.5.1 产生数据库检查点260

10.5.2 设置数据库单用户模式260

10.5.3 分离数据库260

10.5.4 附加数据库260

10.5.5 判断指定路径的日志文件是否存在261

10.5.6 获取主要数据文件中的文件信息261

10.5.7 获取主要数据文件中的数据库信息262

10.5.8 获取数据库的用户表信息263

10.5.9 脱机数据库264

10.5.10 联机数据库264

10.5.11 收缩数据库264

10.5.12 判断用户是否可以访问master数据库264

10.6 访问注册表265

10.7 读取硬盘空间信息266

10.8 判断文件是否存在266

10.9 存储空间的碎片266

10.9.1 数据的存储类型267

10.9.2 数据的存储结构270

10.9.3 存储气空间的碎片类型270

10.9.4 碎片对数据操作性能的影响271

10.9.5 dbcc showcontig检测碎片272

10.9.6 dm_db_index_physical_stats检测碎片274

10.9.7 消除碎片的方法277

10.9.8 自动检测当前数据库的碎片278

10.9.9 自动消除数据库的碎片283

第11章 数据查询288

11.1 语法结构288

11.2 选择列表289

11.2.1 选择所有列289

11.2.2 选择特定列293

11.2.3 包含运算符的查询295

11.2.4 包含函数的查询296

11.2.5 消除重复项297

11.3 FROM子句298

11.3.1 使用表别名298

11.3.2 使用表提示301

11.4 WHERE子句305

11.4.1 WHERE子句中的运算符306

11.4.2 比较查询307

11.4.3 范围查询308

11.4.4 列表查询309

11.4.5 模式匹配查询310

11.5 GROUP BY子句312

11.5.1 语法结构312

11.5.2 实例分析313

11.6 ORDER BY子句314

11.6.1 语法结构314

11.6.2 实例分析315

11.7 HAVING筛选查询316

11.7.1 HAVING筛选查询的语法结构316

11.7.2 HAVING筛选查询实例316

11.8 INTO查询316

11.8.1 INTO查询的语法结构316

11.8.2 INTO查询实例317

11.9 SELECT联结查询317

11.9.1 SELECT联结查询的语法结构317

11.9.2 SELECT联结查询的分类317

11.9.3 笛卡儿积查询318

11.9.4 等值联结查询318

11.9.5 自然联结查询318

11.9.6 自身联结查询318

11.9.7 内联结查询319

11.9.8 左外联结查询319

11.9.9 右外联结查询320

11.9.1 0 全外联结查询320

11.10 SELECT嵌套查询320

11.10.1 什么是SELECT嵌套查询320

11.10.2 什么是SELECT嵌套子查询321

11.10.3 简单嵌套查询321

11.10.4 in嵌套查询322

11.10.5 some嵌套查询322

11.10.6 all嵌套查询323

1110.7 exists嵌套查询324

11.11 操作结果集324

11.11.1 Union形成并集324

11.11.2 Except形成差集325

11.11.3 InterSect形成交集326

11.11.4 用公用表表达式临时存储结果集326

第12章 数据操作328

12.1 INSERT语句研究328

12.1.1 表结构和索引结构328

12.1.2 执行前的日志情况分析329

12.1.3 执行情况分析329

12.1.4 执行后的日志情况分析331

12.1.5 研究数据的变化情况332

12.1.6 研究结论333

12.2 UPDATE语句研究334

12.2.1 执行前的日志情况分析334

12.2.2 执行情况分析334

12.2.3 执行后的日志情况335

12.2.4 研究结论338

12.3 DELETE语句研究338

12.3.1 执行前的日志情况分析338

12.3.2 执行情况分析339

12.3.3 执行后的日志情况339

12.3.4 研究结论341

12.4 深入探讨语句内部机制11341

12.4.1 谁先插入数据342

12.4.2 谁先更新数据342

12.4.3 谁先删除数据342

第13章 T-SQL游标343

13.1 游标概述343

13.11 什么是游标343

13.1.2 游标的类型344

13.1.3 默认结果集是如何使用的344

13.1.4 什么是MARS345

13.1.5 使用游标还是默认结果集345

13.1.6 使用服务器游标还是客户机游标346

13.2 T-SQL游标定义及使用346

13.2.1 T-SQL游标的生命周期346

13.2.2 T-SQL游标的声明347

13.2.3 T-SQL游标的打开347

13.2.4 T-SQL游标的读取348

13.2.5 T-SQL游标的关闭348

13.2.6 T-SQL游标的释放349

13.2.7 T-SQL游标的综合实例349

第14章 事务和锁351

14.1 多用户数据库的并发问题351

14.1.1 并发访问的实例351

14.1.2 并发问题352

14.2 事务353

14.2.1 事务的特性353

14.2.2 事务的状态354

14.3 SQL SERVER中的事务机制355

14.3.1 事务模式355

14.3.2 更改事务模式356

14.3.3 事务的启动357

14.3.4 事务日志记录357

14.3.5 事务编程语句357

14.3.6 事务的调度358

14.3.7 事务的隔离性级别358

14.3.8 批(GO)359

14.4 锁360

14.4.1 锁的粒度360

14.4.2 锁的类型(模式)361

14.4.3 锁持有度361

14.4.4 动态锁机制362

14.4.5 查看锁362

14.5 死锁363

14.5.1 死锁的发生364

14.5.2 消除死锁的方法364

14.5.3 SQL Server死锁检测和结束机制365

14.5.4 跟踪和检测死锁365

第15章 存储过程367

15.1 存储过程概述367

15.1.1 从批处理谈起367

15.1.2 存储过程的引入368

15.1.3 存储过程是什么369

15.1.4 可不可以不使用存储过程370

15.1.5 存储过程的优点370

15.1.6 T-SQL的注入式攻击与防范371

15.1.7 用参数化的存储过程防范T-SQL的注入式攻击372

15.2 存储过程的类型373

15.2.1 按照定义主体分类374

15.2.2 按照生命周期分类374

15.3 T-SQL存储过程的创建374

15.3.1 创建T-SQL存储过程的规则374

15.3.2 创建T-SQL存储过程的语法375

15.3.3 创建无参数T-SQL存储过程376

15.3.4 创建带输入参数的T-SQL存储过程377

15.3.5 创建带输出参数的T-SQL存储过程377

15.4 T-SQL存储过程的执行378

15.4.1 执行无参数的T-SQL存储过程379

15.4.2 执行带输入参数的T-SQL存储过程379

15.4.3 执行带输出参数的T-SQL存储过程379

15.5 数据操作T-SQL存储过程380

15.5.1 数据查询380

15.5.2 数据录入381

15.5.3 数据删除381

15.5.4 数据统计和求和382

15.5.5 数据更新383

15.5.6 将图像数据存入数据库385

15.6 数据库操作T-SQL存储过程387

15.6.1 附加数据库387

15.6.2 完全备份数据库387

15.6.3 收缩数据库388

15.6.4 检查数据库备份388

15.6.5 删除数据库389

15.6.6 创建数据库390

15.7 表操作T-SQL存储过程391

15.7.1 清除所有表的内容391

15.7.2 根据需要对表的内容进行处理391

15.7.3 统计表数据393

15.7.4 导出表数据为文件393

15.7.5 导出数据库中特定的表数据为文件395

15.7.6 导入文本文件到表中396

15.8 文件操作T-SQL存储过程397

15.8.1 创建操作系统目录397

15.8.2 删除操作系统文件397

15.8.3 判断文件是否存在398

15.8.4 获得服务器名称398

15.8.5 统计特定字符串出现的次数399

15.9 异构数据操作T-SQL存储过程400

15.9.1 提取Foxpro数据到SQL Server400

15.9.2 提取Access数据到SQL Server401

第16章 定义函数和触发器402

16.1 自定义函数概述402

16.1.1 什么是自定义函数402

16.1.2 自定义函数的优点404

16.1.3 T-SQL自定义函数的语法405

16.2 T-SQL自定义函数实例407

16.2.1 转换Bool型到字符型407

16.2.2 转换不同的日期表达407

16.2.3 转换字符串到日期408

16.3 触发器概述408

16.3.1 触发器类型409

16.3.2 触发器的内部实现机制409

16.3.3 触发器工作原理409

16.3.4 触发器的使用410

16.3.5 触发器的创建语法410

16.4 T-SQL触发器实例411

16.4.1 自动记录数据库DDL事件的触发器411

16.4.2 自动更新表数据的触发器412

16.4.3 不允许删除表数据的触发器413

16.4.4 不允许某些插入表数据的触发器413

16.4.5 表上发生更新操作后级联更新其他表的触发器414

第17章 某项目数据库T-SQL开发实例416

17.1 特殊的表设计416

17.1.1 数据库设计历史表DBBuildVersion416

17.1.2 数据库DDL语句执行情况表DatabaseLog418

17.1.3 数据库错误信息情况表ErrorLog419

17.2 特殊的表字段设计421

17.3 存储过程设计423

17.3.1 记录数据库错误信息423

17.3.2 显示数据库错误信息424

17.3.3 返回服务器时间425

17.3.4 根据需要备份数据库425

17.3.5 录入图书数据428

17.3.6 更新图书数据430

17.3.7 检索图书数据431

17.3.8 删除图书数据431

17.4 触发器设计432

17.4.1 自动更新表的ModifiedDate字段432

17.4.2 自动记录数据库DDL语句433

17.5 自定义函数设计434

17.5.1 获得两个日期之间的年份数434

17.5.2 获得图书的折扣价435

17.5.3 获得价格区间的图书信息435

热门推荐