http://book.csdn.net/ 2007-1-11 15:37:00
第1章 數(shù)據(jù)庫(kù)與SQL基礎(chǔ)...... 1 1.1 數(shù)據(jù)庫(kù)的基本概念...... 1 1.1.1 數(shù)據(jù)庫(kù)的由來(lái)...... 1 1.1.2 數(shù)據(jù)庫(kù)系統(tǒng)的概念...... 3 1.2 數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu)、組成及工作流程...... 3 1.2.1 數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)...... 3 1.2.2 數(shù)據(jù)庫(kù)系統(tǒng)的組成...... 4 1.2.3 數(shù)據(jù)庫(kù)的工作流程...... 5 1.3 數(shù)據(jù)庫(kù)的發(fā)展...... 6 1.3.1 第一代數(shù)據(jù)庫(kù)...... 7 1.3.2 第二代數(shù)據(jù)庫(kù)...... 7 1.3.3 新一代數(shù)據(jù)庫(kù)技術(shù)的研究和發(fā)展...... 7 1.4 關(guān)系數(shù)據(jù)庫(kù)...... 8 1.4.1 關(guān)系模型...... 8 1.4.2 Codd十二法則...... 9 1.4.3 范式...... 10 1.5 SQL語(yǔ)言基礎(chǔ)...... 11 1.5.1 SQL的歷史...... 11 1.5.2 SQL語(yǔ)言的組成...... 12 1.5.3 SQL語(yǔ)句的結(jié)構(gòu)...... 13 1.5.4 SQL的優(yōu)點(diǎn)...... 13 1.5.5 SQL的執(zhí)行...... 14 1.6 SQL環(huán)境...... 15 1.6.1 環(huán)境...... 15 1.6.2 SQL的層次結(jié)構(gòu)...... 15 1.6.3 客戶(hù)程序和服務(wù)程序系統(tǒng)...... 17 1.6.4 SQL環(huán)境中對(duì)象的命名規(guī)則...... 18 第2章 主要的關(guān)系數(shù)據(jù)庫(kù)與SQL... 21 2.1 SQL Server.. 21 2.1.1 SQL Server的結(jié)構(gòu)...... 21 2.1.2 數(shù)據(jù)庫(kù)訪問(wèn)標(biāo)準(zhǔn)化接口—ODBC.... 22 2.1.3 使用查詢(xún)分析器執(zhí)行SQL語(yǔ)句...... 22 2.2 Transact-SQL... 24 2.2.1 Transact-SQL 概述...... 24 2.2.2 Transact-SQL的主要組成...... 25 2.2.3 Transact-SQL的一些重要命令...... 26 2.3 Oracle數(shù)據(jù)庫(kù)...... 29 2.3.1 Oracle數(shù)據(jù)庫(kù)軟件組成...... 29 2.3.2 Oracle數(shù)據(jù)庫(kù)體系結(jié)構(gòu)...... 29 2.3.3 Oracle數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)...... 30 2.3.4 使用SQL*Plus執(zhí)行SQL語(yǔ)句...... 31 2.4 PL/SQL簡(jiǎn)介...... 32 2.4.1 PL/SQL的特點(diǎn)...... 32 2.4.2 PL/SQL程序結(jié)構(gòu)...... 33 第3章 創(chuàng)建、修改和刪除表...... 37 3.1 表的基礎(chǔ)知識(shí)...... 37 3.1.1 表的基本結(jié)構(gòu)...... 37 3.1.2 表的種類(lèi)...... 38 3.2 SQL數(shù)據(jù)類(lèi)型...... 39 3.2.1 字符型數(shù)據(jù)...... 39 3.2.2 數(shù)字型數(shù)據(jù)...... 40 3.2.3 日期數(shù)據(jù)類(lèi)型...... 41 3.2.4 二進(jìn)制數(shù)據(jù)類(lèi)型...... 43 3.2.5 文本和圖形數(shù)據(jù)類(lèi)型...... 44 3.2.6 自定義數(shù)據(jù)類(lèi)型...... 44 3.3 表的創(chuàng)建(CREATE)...... 46 3.3.1 創(chuàng)建基本表...... 46 3.3.2 非空約束...... 47 3.3.3 DEFAULT指定缺省值...... 49 3.4 表的修改...... 50 3.4.1 增加新列...... 50 3.4.2 刪除列...... 51 3.4.3 修改列...... 53 3.5 表的刪除與重命名...... 55 3.5.1 重命名表...... 55 3.5.2 刪除表...... 56 3.6 創(chuàng)建、刪除數(shù)據(jù)庫(kù)...... 56 3.6.1 數(shù)據(jù)庫(kù)的創(chuàng)建...... 56 3.6.2 SQL Server中數(shù)據(jù)庫(kù)的創(chuàng)建...... 57 3.6.3 刪除數(shù)據(jù)庫(kù)...... 58 第4章 索引與視圖的創(chuàng)建...... 61 4.1 索引的基礎(chǔ)知識(shí)...... 61 4.1.1 索引的概念...... 61 4.1.2 索引的結(jié)構(gòu)...... 61 4.2 索引的創(chuàng)建與銷(xiāo)毀...... 63 4.2.1 基本創(chuàng)建語(yǔ)法...... 63 4.2.2 本章實(shí)例用到的實(shí)例表...... 64 4.2.3 創(chuàng)建簡(jiǎn)單的非簇索引...... 66 4.2.4 多字段非簇索引的創(chuàng)建...... 69 4.2.5 使用UNIQUE關(guān)鍵字創(chuàng)建惟一索引...... 70 4.2.6 使用CLUSTERDE關(guān)鍵字創(chuàng)建簇索引...... 71 4.2.7 索引的銷(xiāo)毀...... 73 4.2.8 使用索引的幾點(diǎn)原則...... 73 4.3 視圖的基礎(chǔ)知識(shí)...... 74 4.3.1 視圖簡(jiǎn)介...... 74 4.3.2 視圖的優(yōu)缺點(diǎn)...... 74 4.4 視圖的創(chuàng)建與銷(xiāo)毀...... 75 4.4.1 基本創(chuàng)建語(yǔ)法...... 75 4.4.2 創(chuàng)建簡(jiǎn)單的視圖...... 75 4.4.3 利用視圖簡(jiǎn)化表的復(fù)雜連接...... 78 4.4.4 利用視圖簡(jiǎn)化復(fù)雜查詢(xún)...... 79 4.4.5 視圖的銷(xiāo)毀...... 81 4.4.6 使用視圖的幾點(diǎn)原則...... 82 第5章 簡(jiǎn)單的查詢(xún)...... 83 5.1 查詢(xún)的基本結(jié)構(gòu)...... 83 5.1.1 SELECT語(yǔ)句的結(jié)構(gòu)...... 83 5.1.2 SELECT語(yǔ)句的執(zhí)行步驟...... 84 5.2 列的查詢(xún)...... 84 5.2.1 本章用到的實(shí)例表...... 85 5.2.2 單列查詢(xún)...... 85 5.2.3 使用DISTINCT去除重復(fù)信息...... 86 5.2.4 多列查詢(xún)...... 87 5.2.5 查詢(xún)所有的列...... 88 5.3 排序查詢(xún)結(jié)果...... 89 5.3.1 單列排序...... 89 5.3.2 多列排序...... 90 5.3.3 采用序號(hào)進(jìn)行多列排序...... 91 5.3.4 反向排序...... 92 5.4 使用WHERE子句定義搜索條件查詢(xún)...... 93 5.4.1 WHERE子句單條件查詢(xún)...... 93 5.4.2 單值比較運(yùn)算符...... 94 5.4.3 BETWEEN運(yùn)算符范圍篩選...... 96 5.4.4 NULL值的判斷...... 97 第6章 復(fù)雜搜索條件查詢(xún)...... 99 6.1 本章用到的實(shí)例表...... 99 6.2 組合查詢(xún)條件...... 100 6.2.1 AND運(yùn)算符...... 100 6.2.2 OR運(yùn)算符...... 101 6.2.3 AND、OR運(yùn)算符的組合使用...... 103 6.3 IN運(yùn)算符...... 104 6.3.1 IN運(yùn)算符的使用...... 104 6.3.2 IN運(yùn)算符與OR運(yùn)算符...... 105 6.4 NOT運(yùn)算符...... 106 6.4.1 使用NOT運(yùn)算符...... 106 6.4.2 NOT運(yùn)算符與<>運(yùn)算符...... 108 6.5 使用LIKE進(jìn)行模糊查詢(xún)...... 109 6.5.1 LIKE運(yùn)算符...... 109 6.5.2 “%”通配符...... 110 6.5.3 “_”通配符...... 112 6.5.4 “[]”通配符...... 114 6.5.5 使用ESCAPE定義轉(zhuǎn)義符...... 115 第7章 連接符、數(shù)值運(yùn)算與函數(shù)...... 117 7.1 本章實(shí)例用到的表...... 117 7.2 連接符...... 118 7.2.1 連接符的應(yīng)用...... 118 7.2.2 使用別名...... 119 7.3 數(shù)值運(yùn)算...... 121 7.3.1 數(shù)學(xué)運(yùn)算符的種類(lèi)...... 121 7.3.2 數(shù)學(xué)運(yùn)算符的運(yùn)用...... 122 7.3.3 使用CAST表達(dá)式轉(zhuǎn)換數(shù)據(jù)類(lèi)型...... 123 7.3.4 使用CASE表達(dá)式...... 124 7.4 函數(shù)...... 126 7.4.1 有關(guān)函數(shù)的說(shuō)明...... 126 7.4.2 字符處理函數(shù)...... 126 7.4.3 算術(shù)運(yùn)算函數(shù)...... 131 7.4.4 日期時(shí)間函數(shù)...... 133 7.4.5 CONVERT()函數(shù)轉(zhuǎn)換日期、時(shí)間...... 136 第8章 聚合分析與分組...... 139 8.1 聚合分析的基本概念...... 139 8.1.1 聚合分析...... 139 8.1.2 聚合函數(shù)...... 139 8.2 聚合函數(shù)的應(yīng)用...... 140 8.2.1 求和函數(shù)—SUM().. 140 8.2.2 計(jì)數(shù)函數(shù)—COUNT().. 140 8.2.3 最大/最小值函數(shù)—MAX()/MIN().. 143 8.2.4 均值函數(shù)—AVG().. 145 8.2.5 聚合分析的重值處理...... 147 8.2.6 聚合函數(shù)的組合使用...... 148 8.3 組合查詢(xún)...... 148 8.3.1 GROUP BY子句創(chuàng)建分組...... 149 8.3.2 GROUP BY子句根據(jù)多列組合行...... 150 8.3.3 ROLLUP運(yùn)算符和CUBE運(yùn)算符...... 151 8.3.4 GROUP BY子句中的NULL值處理...... 153 8.3.5 HAVING子句...... 153 8.3.6 HAVING子句與WHERE子句...... 154 8.3.7 SELECT語(yǔ)句各查詢(xún)子句總結(jié)...... 156 第9章 多表查詢(xún)...... 157 9.1 本章用到的實(shí)例表...... 157 9.2 表的基本連接...... 158 9.2.1 連接表的目的...... 158 9.2.2 簡(jiǎn)單的二表連接...... 159 9.2.3 多表連接...... 161 9.2.4 使用表別名...... 162 9.2.5 采用JOIN關(guān)鍵字建立連接...... 163 9.3 表的連接類(lèi)型...... 163 9.3.1 自連接...... 163 9.3.2 自然連接(NATURAL JOIN)...... 166 9.3.3 內(nèi)連接(INNER JOIN)...... 167 9.3.4 外連接(OUTER JOIN)...... 170 9.3.5 交叉連接(CROSS JOIN)...... 176 9.4 UNION與UNION JOIN.... 177 9.4.1 關(guān)系的集合運(yùn)算...... 177 9.4.2 UNION運(yùn)算符...... 178 9.4.3 ORDER BY子句排序UNION運(yùn)算結(jié)果...... 180 9.4.4 對(duì)多表進(jìn)行UNION運(yùn)算...... 181 9.4.5 UNION JOIN 連接表...... 183 9.5 表連接的其他應(yīng)用及注意問(wèn)題...... 183 9.5.1 連接表進(jìn)行聚合運(yùn)算...... 183 9.5.2 多表連接的綜合運(yùn)用...... 185 9.5.3 多表連接注意事項(xiàng)...... 186 第10章 子查詢(xún)...... 187 10.1 創(chuàng)建和使用返回單值的子查詢(xún)...... 187 10.1.1 在多表查詢(xún)中使用子查詢(xún)...... 187 10.1.2 在子查詢(xún)中使用聚合函數(shù)...... 188 10.2 創(chuàng)建和使用返回多行的子查詢(xún)...... 190 10.2.1 IN子查詢(xún)...... 190 10.2.2 IN子查詢(xún)實(shí)現(xiàn)集合交和集合差運(yùn)算...... 191 10.2.3 EXISTS子查詢(xún)...... 192 10.2.4 EXISTS子查詢(xún)實(shí)現(xiàn)兩表交集...... 194 10.2.5 SOME/ALL子查詢(xún)...... 195 10.2.6 UNIQUE子查詢(xún)...... 197 10.3 相關(guān)子查詢(xún)...... 198 10.3.1 使用IN引入相關(guān)子查詢(xún)...... 198 10.3.2 比較運(yùn)算符引入相關(guān)子查詢(xún)...... 200 10.3.3 在HAVING子句中使用相關(guān)子查詢(xún)...... 201 10.4 嵌套子查詢(xún)...... 203 10.5 使用子查詢(xún)創(chuàng)建視圖...... 204 10.6 樹(shù)查詢(xún)...... 205 第11章 數(shù)據(jù)插入操作...... 209 11.1 插入單行記錄...... 209 11.1.1 基本語(yǔ)法...... 209 11.1.2 整行插入...... 209 11.1.3 NULL值的插入...... 211 11.1.4 惟一值的插入...... 212 11.1.5 特定字段數(shù)據(jù)插入...... 213 11.1.6 通過(guò)視圖插入行...... 214 11.2 插入多行記錄...... 216 11.2.1 由VALUES關(guān)鍵字引入多行數(shù)據(jù)插入...... 217 11.2.2 使用SELECT語(yǔ)句插入值...... 217 11.3 表中數(shù)據(jù)的復(fù)制...... 220 11.3.1 基本語(yǔ)法...... 221 11.3.2 應(yīng)用實(shí)例...... 221 11.4 從外部數(shù)據(jù)源導(dǎo)入、導(dǎo)出數(shù)據(jù)...... 222 11.4.1 Access數(shù)據(jù)庫(kù)數(shù)據(jù)的導(dǎo)出...... 223 11.4.2 Access數(shù)據(jù)庫(kù)數(shù)據(jù)的導(dǎo)入...... 225 11.4.3 SQL Server數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)出...... 227 11.4.4 SQL Server數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)入...... 230 第12章 數(shù)據(jù)的更新和刪除...... 233 12.1 更新表中的數(shù)據(jù)...... 233 12.1.1 UPDATE語(yǔ)句的基本語(yǔ)法...... 233 12.1.2 UPDATE語(yǔ)句更新列值...... 234 12.1.3 利用子查詢(xún)更新多行的值...... 237 12.1.4 依據(jù)外表值更新數(shù)據(jù)...... 238 12.1.5 分步更新表...... 239 12.2 刪除表中的數(shù)據(jù)...... 240 12.2.1 DELETE語(yǔ)句基本語(yǔ)法...... 240 12.2.2 DELETE語(yǔ)句刪除單行數(shù)據(jù)...... 240 12.2.3 DELETE語(yǔ)句刪除多行數(shù)據(jù)...... 241 12.2.4 DELETE語(yǔ)句刪除所有行...... 242 12.2.5 TRUNCATE TABLE語(yǔ)句...... 242 12.3 通過(guò)視圖更新表...... 243 12.3.1 可更新視圖的約束...... 243 12.3.2 通過(guò)視圖更新表數(shù)據(jù)...... 243 12.3.3 通過(guò)視圖刪除表數(shù)據(jù)...... 245 第13章 安全性控制...... 249 13.1 SQL安全模式...... 249 13.1.1 授權(quán)ID.... 249 13.1.2 SQL的安全對(duì)象和權(quán)限...... 250 13.1.3 授權(quán)圖...... 251 13.2 角色管理...... 251 13.2.1 CREATE語(yǔ)句創(chuàng)建角色...... 252 13.2.2 DROP語(yǔ)句刪除角色...... 252 13.2.3 GRANT語(yǔ)句授予角色...... 252 13.2.4 REVOKE語(yǔ)句取消角色...... 253 13.3 權(quán)限管理...... 254 13.3.1 GRANT語(yǔ)句授予權(quán)限...... 254 13.3.2 REVOKE語(yǔ)句取消權(quán)限...... 255 13.3.3 SELECT權(quán)限控制...... 256 13.3.4 INSERT權(quán)限控制...... 258 13.3.5 UPDATE權(quán)限控制...... 258 13.3.6 DELETE權(quán)限控制...... 259 13.4 SQL Server安全管理...... 260 13.4.1 SQL Server登錄認(rèn)證...... 260 13.4.2 SQL Server用戶(hù)ID的管理...... 261 13.4.3 SQL Server權(quán)限管理...... 263 13.4.4 SQL Server角色管理...... 266 13.5 Oracle安全管理...... 268 13.5.1 Oracle中用戶(hù)、資源、概要文件、模式的概念...... 269 13.5.2 Oracle中的用戶(hù)管理...... 269 13.5.3 Oracle中的資源管理...... 274 13.5.4 Oracle中的權(quán)限管理...... 277 13.5.5 Oracle中的角色管理...... 278 第14章 完整性控制...... 281 14.1 完整性約束簡(jiǎn)介...... 281 14.1.1 數(shù)據(jù)的完整性...... 281 14.1.2 完整性約束的類(lèi)型...... 281 14.2 與表有關(guān)的約束...... 282 14.2.1 列約束與表約束的創(chuàng)建...... 282 14.2.2 NOT NULL(非空)約束...... 282 14.2.3 UNIQUE(惟一)約束...... 284 14.2.4 PRIMARY KEY(主鍵)約束...... 285 14.2.5 FOREIGN KEY(外鍵)約束...... 287 14.2.6 CHECK(校驗(yàn))約束...... 289 14.3 深入探討外鍵與完整性檢查...... 290 14.3.1 引用完整性檢查...... 290 14.3.2 MATCH子句...... 291 14.3.3 更新、刪除操作規(guī)則...... 293 14.4 域約束與斷言...... 295 14.4.1 域與域約束...... 295 14.4.2 利用斷言創(chuàng)建多表約束...... 296 14.5 SQL Server中的完整性控制...... 296 14.5.1 創(chuàng)建規(guī)則(Rule)...... 297 14.5.2 規(guī)則的綁定與松綁...... 298 14.5.3 創(chuàng)建缺省值(Default)...... 299 14.5.4 缺省值的綁定與松綁...... 300 第15章 存儲(chǔ)過(guò)程與函數(shù)...... 303 15.1 SQL中的存儲(chǔ)過(guò)程與函數(shù)...... 303 15.2 SQL Server 中的流控制語(yǔ)句...... 304 15.2.1 BEGIN…END語(yǔ)句...... 304 15.2.2 IF…ELSE語(yǔ)句...... 304 15.2.3 WHILE、BREAK和CONTINUE語(yǔ)句...... 304 15.2.4 DECLARE語(yǔ)句...... 306 15.2.5 GOTO label語(yǔ)句...... 306 15.2.6 RETURN語(yǔ)句...... 307 15.2.7 WAITFOR語(yǔ)句...... 307 15.2.8 PRINT語(yǔ)句...... 308 15.2.9 注釋...... 308 15.3 SQL Server中的存儲(chǔ)過(guò)程和函數(shù)...... 308 15.3.1 系統(tǒng)存儲(chǔ)過(guò)程...... 308 15.3.2 使用CREATE PROCEDURE創(chuàng)建存儲(chǔ)過(guò)程...... 309 15.3.3 使用EXECUTE語(yǔ)句調(diào)用存儲(chǔ)過(guò)程...... 310 15.3.4 使用CREATE FUNCTION創(chuàng)建函數(shù)...... 312 15.3.5 使用Enterprise Manager創(chuàng)建存儲(chǔ)過(guò)程和函數(shù)...... 315 15.3.6 修改和刪除存儲(chǔ)過(guò)程和函數(shù)...... 317 15.4 Oracle中的流控制語(yǔ)句...... 319 15.4.1 條件語(yǔ)句...... 319 15.4.2 循環(huán)語(yǔ)句...... 320 15.4.3 標(biāo)號(hào)和GOTO.... 322 15.5 Oracle數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程...... 322 15.5.1 存儲(chǔ)過(guò)程的創(chuàng)建與調(diào)用...... 322 15.5.2 Oracle中存儲(chǔ)過(guò)程和函數(shù)的管理...... 324 第16章 SQL觸發(fā)器...... 325 16.1 觸發(fā)器的基本概念...... 325 16.1.1 觸發(fā)器簡(jiǎn)介...... 325 16.1.2 觸發(fā)器執(zhí)行環(huán)境...... 325 16.2 SQL Server中的觸發(fā)器...... 326 16.2.1 SQL Server觸發(fā)器的種類(lèi)...... 326 16.2.2 使用CREATE TRIGGER命令創(chuàng)建觸發(fā)器...... 326 16.2.3 INSERT觸發(fā)器...... 328 16.2.4 DELETE觸發(fā)器...... 329 16.2.5 UPDATE觸發(fā)器...... 330 16.2.6 INSTEAD OF觸發(fā)器...... 332 16.2.7 嵌套觸發(fā)器...... 334 16.2.8 遞歸觸發(fā)器...... 336 16.2.9 SQL Server中觸發(fā)器的管理...... 338 16.3 Oracle數(shù)據(jù)庫(kù)中觸發(fā)器的操作...... 340 16.3.1 Oracle觸發(fā)器類(lèi)型...... 340 16.3.2 觸發(fā)器的創(chuàng)建...... 341 16.3.3 創(chuàng)建系統(tǒng)觸發(fā)器...... 342 16.3.4 觸發(fā)器的觸發(fā)次序和觸發(fā)謂詞的使用...... 343 16.3.5 Oracle觸發(fā)器的管理...... 346 第17章 SQL中游標(biāo)的使用...... 349 17.1 SQL游標(biāo)的基本概念...... 349 17.1.1 游標(biāo)的概念...... 349 17.1.2 游標(biāo)的作用及其應(yīng)用...... 350 17.2 SQL游標(biāo)的使用...... 351 17.2.1 使用DECLARE CURSOR語(yǔ)句創(chuàng)建游標(biāo)...... 351 17.2.2 使用OPEN/CLOSE語(yǔ)句打開(kāi)/關(guān)閉游標(biāo)...... 352 17.2.3 使用FETCH語(yǔ)句檢索數(shù)據(jù)...... 352 17.2.4 基于游標(biāo)的定位DELETE語(yǔ)句...... 354 17.2.5 基于游標(biāo)的定位UPDATE語(yǔ)句...... 356 17.3 SQL Server中游標(biāo)的擴(kuò)展...... 357 17.3.1 Transact_SQL擴(kuò)展DECLARE CURSOR語(yǔ)法...... 357 17.3.2 @@CURSOR_ROWS全局變量確定游標(biāo)的行數(shù)...... 359 17.3.3 @@FETCH_STATUS全局變量檢測(cè)FETCH操作的狀態(tài)...... 360 17.3.4 游標(biāo)的關(guān)閉與釋放...... 361 17.3.5 游標(biāo)變量...... 362 17.3.6 使用系統(tǒng)過(guò)程管理游標(biāo)...... 363 17.4 Oracle中游標(biāo)的使用...... 365 17.4.1 顯式游標(biāo)與隱式游標(biāo)...... 365 17.4.2 游標(biāo)的屬性...... 366 17.4.3 %TYPE、%ROWTYPE定義記錄變量...... 367 17.4.4 參數(shù)化游標(biāo)...... 368 17.4.5 游標(biāo)中的循環(huán)...... 369 17.4.6 游標(biāo)變量...... 371 17.5 小結(jié)...... 372 第18章 事務(wù)控制與并發(fā)處理...... 373 18.1 SQL事務(wù)控制...... 373 18.1.1 事務(wù)控制的引入...... 373 18.1.2 事務(wù)的特性...... 373 18.1.3 SQL中與事務(wù)有關(guān)的語(yǔ)句...... 374 18.2 事務(wù)控制的具體實(shí)現(xiàn)...... 376 18.2.1 開(kāi)始事務(wù)...... 376 18.2.2 SET CONSTRAINTS語(yǔ)句設(shè)置約束的延期執(zhí)行...... 377 18.2.3 終止事務(wù)...... 378 18.3 并發(fā)控制...... 380 18.3.1 并發(fā)操作的問(wèn)題...... 381 18.3.2 事務(wù)隔離級(jí)別...... 382 18.3.3 SET TRANSACTION設(shè)置事務(wù)屬性...... 383 18.4 SQL Server中的并發(fā)事務(wù)控制...... 384 18.4.1 鎖的分類(lèi)...... 384 18.4.2 SQL Server中表級(jí)鎖的使用...... 385 18.4.3 設(shè)置隔離級(jí)別實(shí)現(xiàn)并發(fā)控制...... 387 18.4.4 死鎖及其預(yù)防...... 391 18.5 Oracle中的并發(fā)事務(wù)控制...... 393 18.5.1 通過(guò)加鎖避免寫(xiě)數(shù)據(jù)丟失...... 393 18.5.2 設(shè)置只讀事務(wù)(READ ONLY)...... 394 18.5.3 Oracle中的隔離級(jí)別...... 395 第19章 嵌入式SQL... 397 19.1 SQL的調(diào)用...... 397 19.1.1 直接調(diào)用SQL... 397 19.1.2 嵌入式SQL... 398 19.1.3 SQL調(diào)用層接口(CLI)...... 399 19.2 嵌入式SQL的使用...... 401 19.2.1 創(chuàng)建嵌入式SQL語(yǔ)句...... 401 19.2.2 SQL通信區(qū)...... 402 19.2.3 主變量...... 404 19.2.4 嵌入式SQL中使用游標(biāo)...... 406 19.3 檢索、操作SQL數(shù)據(jù)...... 407 19.3.1 不需要游標(biāo)的SQL DML操作...... 407 19.3.2 使用游標(biāo)的SQL DML操作...... 410 19.3.3 動(dòng)態(tài)SQL技術(shù)...... 412 19.4 SQL Server中嵌入式SQL的編譯運(yùn)行...... 413 19.4.1 嵌入式SQL代碼...... 413 19.4.2 預(yù)編譯文件...... 415 19.4.3 設(shè)置Visual C++ 6.0連接...... 417 19.4.4 編譯運(yùn)行程序...... 419 19.5 Oracle中嵌入式SQL的編譯運(yùn)行...... 420 19.5.1 嵌入式SQL代碼...... 420 19.5.2 預(yù)編譯文件...... 421 19.5.3 設(shè)置Visual C++ 6.0編譯環(huán)境...... 423 19.5.4 編譯運(yùn)行程序...... 424 附錄A SQL保留字...... 427 附錄B 常用的SQL命令...... 431 附錄C 關(guān)于運(yùn)行環(huán)境的說(shuō)明...... 435 C.1 SQL Server 2000... 435 C.1.1 直接訪問(wèn)...... 435 C.1.2 從企業(yè)管理器訪問(wèn)...... 436 C.2 Oracle系統(tǒng)...... 436 |
|