日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

ESQL編程使用說明


ESQL編程使用說明
第一章 ESQL介紹
本章對ESQL做一概括介紹,主要討論怎么使用ESQL、ESQL的基本的概念和定義、ESQL程序的各個部分和ESQL 程序中語句的類型.
SQL語言是非過程化語言,大部分語句的執(zhí)行與其前面或后面的語句無關,而一些高級編程語言都是基于如循環(huán),條件等結構的過程化語言,盡管SQL語言非常有力,但它卻沒有過程化能力.若把SQL語言嵌入到過程化的編程語言中,則利用這些結構,程序開發(fā)人員就能設計出更加靈活的應用系統(tǒng),具有SQL語言和高級編程語言的良好特征,它將比單獨使用SQL或C語言具有更強的功能和靈活性.
COBASE RDBMS提供兩種工具在主語言中編程來存取COBASE數(shù)據庫中的數(shù)據.即高級語言預編譯程序接口(ESQL)和高級語言的函數(shù)調用接口(CCI).目前這些工具僅支持C語言.
COBASE RDBMS提供的ESQL工具把含有SQL語句的C程序轉化為可存取和操縱COBASE數(shù)據庫中數(shù)據的C程序,作為一編譯器,ESQL把輸入文件中的EXEC SQL 語句在輸出文件中轉化為適當?shù)腃CI函數(shù)調用.輸出文件則可以正常的C程序的方式被編譯、連接和執(zhí)行.
1.1 ESQL中的基本概念ESQL中的基本概念主要有:
1.嵌入的SQL語句:
嵌入的SQL語句是指在應用程序中使用的SQL語句.該應用程序稱作宿主程序,書寫該程序的語言稱作宿主語言.嵌入的SQL語句與交互式SQL語句在語法上沒有太大的差別,只是嵌入式SQL語句在個別語句上有所擴充.如嵌入式SQL中的SELECT語句增加了INTO子句,以便與宿主語言變量打交道.此外,嵌入式SQL為適合程序設計語言的要求,還增加了許多語句,如游標的定義、打開和關閉語句等等.
2.執(zhí)行性SQL語句和說明性SQL語句:
嵌入的SQL語句主要有兩種類型:執(zhí)行性SQL語句和說明性SQL語句.執(zhí)行性SQL語句可用來連接COBASE,定義、查詢和操縱COBASE數(shù)據庫中的數(shù)據,每一執(zhí)行性語句真正對數(shù)據庫進行操作 ,執(zhí)行完成后,在USERCA中存放執(zhí)行信息.說明性語句用來說明通訊域和SQL語句中用到的變量. 說明性語句不生成執(zhí)行代碼,對USERCA不產生影響.
3.事務:
事務是邏輯上相關的一組SQL語句.COBASE把它們視作一個單元.為了保持數(shù)據庫的一
致性,一事務內的所有操作要么都做,要么都不做.
1.2 ESQL程序的組成和運行在ESQL程序 中嵌入的SQL語句以EXEC作為起始標識,語句的結束以";"作為標識.在嵌入的SQL語句可以使用主語言(這時是C語言)的程序變量(即主變量),這時主變量名前加冒號(:)作為標志,以區(qū)別于字段名.
ESQL程序包括兩部分:程序首部和程序體.程序首部定義變量,為ESQL程序做準備, 程序體包括各種SQL語句來操縱COBASE數(shù)據庫中的數(shù)據.編制并運行ESQL程序比單獨使用純C語言多一個預編譯過程,通常具有以下幾個步驟:1.編輯ESQL程序(可利用編輯軟件如: EDLIN, WS等進行編輯).程序保后綴為.ec.
2.使用COBASE的預編譯器ETE對ESQL源程序進行預處理,該編譯器將源程序中嵌入的SQL語言翻譯成標準C語言,產生一個C語言編譯器能直接進 行編譯的文件.其文件的擴展名為.cpp 。該cpp文件可以和普通的cpp文件一樣被放入一個工程中被C編譯器編譯,連接最后運行 。對COBASE的預編譯器的使用的詳細說明見第六章.
第二章 ESQL 程序的基本結構
ESQL程序由兩部分組成:程序首部和程序體.
2.1 程序首部每一個ESQL程序的開始,就是程序的首部,它包括以下三部分:
1.DECLARE部分:
說明特殊的主變量,這些變量區(qū)別于純C語言程序中的變量,COBASE使用這些變量與程序之間相互作用.
2.INCLUDE USERCA語句: 說明一個SQL語句的通訊域(USERCA),它提供了錯誤處理,其功能等價于代替C語言中的#INCLUDE語句.
3.CONNECT語句: 建立程序與COBASE之間的連接.
2.1.1DECLARE部分:(描述部分)在DECLARE SECTION (描述部分),定義所有在SQL語句中用到的主變量,定義部分是以:EXEC SQL BEGIN DECLARE SECTION;和 EXEC SQL END DECLARE SECTION;

推薦閱讀