本書以達夢數(shù)據(jù)庫DM8為藍本,介紹達夢數(shù)據(jù)庫的存儲過程、存儲函數(shù)、觸發(fā)器等服務器端程序,以及Java、C、Python、PHP等高級語言基于達夢數(shù)據(jù)庫的應用程序設計方法。本書主要包括:DM SQL程序結構、基本語法;存儲過程、存儲函數(shù)、觸發(fā)器、包等高級對象的基本語法及應用方法;嵌入式SQL程序Pro *c組成、基本語法及應用方法;基于ODBC、JDBC、.NET Data Provider數(shù)據(jù)庫訪問接口標準的應用程序設計方法;PHP、Python、Go等高級語言訪問達夢數(shù)據(jù)庫的程序設計方法;達夢數(shù)據(jù)庫數(shù)據(jù)裝載及日志分析接口的程序設計方法。本書內容實用、示例豐富、語言通俗、格式規(guī)范,可作為相關專業(yè)的教材,也可作為工程技術人員的參考書。
戴劍偉,教授,主要研究方向為數(shù)據(jù)工程、信息資源管理,出版《軍事信息管理》、《跨領域信息交換方法與技術》、《數(shù)據(jù)工程理論與技術》、《HLA仿真程序設計》等多部專著。
第1章 達夢數(shù)據(jù)庫編程概述 1
1.1 主要特點和技術指標 1
1.2 主要編程接口和系統(tǒng)包 3
1.2.1 主要編程接口 3
1.2.2 主要系統(tǒng)包 7
1.3 語法描述說明 10
1.4 示例數(shù)據(jù)庫說明 10
1.5 DM SQL程序編輯及調試工具 12
1.5.1 DM管理工具 13
1.5.2 命令行工具dmdbg 16
第2章 達夢數(shù)據(jù)庫SQL程序設計基礎 19
2.1 DM SQL程序的特點 19
2.2 DM SQL程序塊結構 20
2.3 DM SQL程序代碼編寫規(guī)則 20
2.3.1 變量命名規(guī)范 20
2.3.2 大小寫規(guī)則 21
2.3.3 注釋 21
2.4 DM SQL程序變量聲明、賦值及操作符 22
2.4.1 變量聲明及初始化 22
2.4.2 變量賦值 23
2.4.3 操作符 23
2.5 DM SQL程序數(shù)據(jù)類型 24
2.5.1 標量數(shù)據(jù)類型 24
2.5.2 大對象數(shù)據(jù)類型 26
2.5.3 %TYPE類型 27
2.5.4 %ROWTYPE類型 27
2.5.5 記錄類型 27
2.5.6 數(shù)組類型 28
2.5.7 集合類型 31
2.5.8 類類型 37
2.6 DM SQL程序控制結構 41
2.6.1 IF語句 41
2.6.2 循環(huán)語句 43
2.6.3 CASE語句 51
2.6.4 順序結構語句 53
2.6.5 其他語句 54
2.7 DM SQL程序異常處理 55
2.7.1 異常處理語法 56
2.7.2 用戶自定義異常 57
2.7.3 異常處理函數(shù) 59
2.8 游標 60
2.8.1 游標控制和屬性 61
2.8.2 游標變量 65
2.8.3 游標更新數(shù)據(jù)、刪除數(shù)據(jù) 66
2.9 基于C語言和Java語言的DM SQL程序 67
2.9.1 基于C語言的DM SQL程序 67
2.9.2 基于Java語言的DM SQL程序 68
第3章 達夢數(shù)據(jù)庫SQL程序設計 70
3.1 存儲過程 70
3.1.1 存儲過程的定義和調用 71
3.1.2 存儲過程應用實例 74
3.1.3 存儲過程編譯 75
3.1.4 存儲過程刪除 75
3.2 存儲函數(shù) 75
3.2.1 存儲函數(shù)的定義和調用 76
3.2.2 存儲函數(shù)編譯 77
3.2.3 存儲函數(shù)刪除 78
3.2.4 C外部函數(shù) 78
3.2.5 Java外部函數(shù) 81
3.3 觸發(fā)器 83
3.3.1 觸發(fā)器概述 83
3.3.2 觸發(fā)器創(chuàng)建 85
3.3.3 觸發(fā)器管理 90
3.4 包 91
3.4.1 創(chuàng)建包 92
3.4.2 刪除包 93
3.4.3 包應用舉例 93
第4章 達夢數(shù)據(jù)庫嵌入式SQL程序設計 96
4.1 嵌入式SQL程序組成及編譯過程 96
4.1.1 嵌入式SQL程序組成 96
4.1.2 嵌入式SQL程序編譯過程 97
4.2 嵌入式SQL常用語法 98
4.2.1 SQL前綴和終結符 98
4.2.2 宿主變量 99
4.2.3 輸入和輸出變量 99
4.2.4 指示符變量 100
4.2.5 服務器登錄與退出 100
4.2.6 單元組查詢語句 101
4.3 動態(tài)SQL 102
4.3.1 EXECUTE IMMEDIATE立即執(zhí)行語句 103
4.3.2 PREPARE準備語句 103
4.3.3 EXECUTE執(zhí)行語句 104
4.4 嵌入式程序的異常處理 104
4.4.1 異常聲明/處理語句 104
4.4.2 異常聲明/處理語句使用舉例 105
第5章 基于數(shù)據(jù)庫訪問接口標準的應用程序設計 107
5.1 ODBC程序設計 107
5.1.1 ODBC主要功能 107
5.1.2 DM ODBC主要函數(shù) 108
5.1.3 DM ODBC應用程序設計流程及示例 110
5.2 JDBC程序設計 114
5.2.1 JDBC主要功能 114
5.2.2 DM JDBC主要類和函數(shù) 115
5.2.3 DM JDBC應用程序設計流程及示例 116
5.3 .NET Data Provider程序設計 119
5.3.1 DM .NET Data Provider主要類和函數(shù) 119
5.3.2 DM .NET Data Provider應用程序設計流程及示例 121
第6章 高級語言達夢數(shù)據(jù)庫程序設計 125
6.1 PHP程序設計 125
6.1.1 PHP環(huán)境準備 125
6.1.2 PHP主要接口 127
6.1.3 PHP應用舉例 137
6.2 Python程序設計 141
6.2.1 Python環(huán)境準備 141
6.2.2 Python連接串語法說明 142
6.2.3 Python主要對象和函數(shù) 143
6.2.4 Python應用舉例 150
6.3 Node.js程序設計 152
6.3.1 Node.js環(huán)境準備 152
6.3.2 Node.js主要對象和函數(shù) 152
6.3.3 Node.js連接串語法說明 161
6.3.4 Node.js應用舉例 163
6.4 Go程序設計 167
6.4.1 Go環(huán)境準備 167
6.4.2 Go連接串語法說明 168
6.4.3 DM Go主要類和函數(shù) 170
6.4.4 Go批量執(zhí)行 174
6.4.5 Go應用舉例 175
第7章 數(shù)據(jù)裝載程序設計 179
7.1 DM FLDR主要功能及應用方法 179
7.2 DM FLDR JNI應用程序設計 180
7.2.1 DM FLDR JNI接口說明 180
7.2.2 DM FLDR JNI應用示例 182
7.3 DM FLDR C應用程序設計 188
7.3.1 DM FLDR C接口說明 188
7.3.2 DM FLDR C應用示例 193
7.4 快速裝載命令行工具 200
7.4.1 命令行參數(shù) 201
7.4.2 控制文件 207
7.4.3 使用說明 210
7.4.4 應用示例 215
第8章 日志挖掘分析程序設計 222
8.1 Logmnr主要功能及應用方法 222
8.2 DM Logmnr JNI應用程序設計 223
8.2.1 DM Logmnr JNI接口說明 223
8.2.2 DM Logmnr JNI應用示例 225
8.3 DM Logmnr C應用程序設計 229
8.3.1 DM Logmnr C接口說明 229
8.3.2 DM Logmnr C應用示例 230
8.4 DBMS_LOGMNR包及其應用 234
8.4.1 主要方法及使用流程 234
8.4.2 常用動態(tài)性能視圖 236
8.4.3 DBMS_LOGMNR包應用示例 239