freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

嵌入式sql-sqc之esql編程入門與技巧(已修改)

2025-07-05 14:00 本頁面
 

【正文】 ESQL編程使用說明 第一章 ESQL介紹 本章對(duì)ESQL做一概括介紹,主要討論怎么使用ESQL、ESQL的基本的概念和定義、ESQL程序的各個(gè)部分和ESQL 程序中語句的類型. SQL語言是非過程化語言,大部分語句的執(zhí)行與其前面或后面的語句無關(guān),而一些高級(jí)編程語言都是基于如循環(huán),條件等結(jié)構(gòu)的過程化語言,盡管SQL語言非常有力,則利用這些結(jié)構(gòu),程序開發(fā)人員就能設(shè)計(jì)出更加靈活的應(yīng)用系統(tǒng),具有SQL語言和高級(jí)編程語言的良好特征,它將比單獨(dú)使用SQL或C語言具有更強(qiáng)的功能和靈活性. COBASE (ESQL)和高級(jí)語言的函數(shù)調(diào)用接口(CCI).目前這些工具僅支持C語言. COBASE RDBMS提供的ESQL工具把含有SQL語句的C程序轉(zhuǎn)化為可存取和操縱COBASE數(shù)據(jù)庫中數(shù)據(jù)的C程序,作為一編譯器,ESQL把輸入文件中的EXEC SQL 、連接和執(zhí)行. ESQL中的基本概念 ESQL中的基本概念主要有: : ,嵌入式SQL為適合程序設(shè)計(jì)語言的要求,還增加了許多語句,如游標(biāo)的定義、打開和關(guān)閉語句等等. : 嵌入的SQL語句主要有兩種類型:,定義、查詢和操縱COBASE數(shù)據(jù)庫中的數(shù)據(jù),每一執(zhí)行性語句真正對(duì)數(shù)據(jù)庫進(jìn)行操作 ,執(zhí)行完成后,. 說明性語句不生成執(zhí)行代碼,對(duì)USERCA不產(chǎn)生影響. : 致性,一事務(wù)內(nèi)的所有操作要么都做,要么都不做. ESQL程序的組成和運(yùn)行 在ESQL程序 中嵌入的SQL語句以EXEC作為起始標(biāo)識(shí),語句的結(jié)束以。(這時(shí)是C語言)的程序變量(即主變量),這時(shí)主變量名前加冒號(hào)(:)作為標(biāo)志,以區(qū)別于字段名. ESQL程序包括兩部分:,為ESQL程序做準(zhǔn)備, 程序體包括各種SQL語句來操縱COBASE數(shù)據(jù)庫中的數(shù)據(jù). 編制并運(yùn)行ESQL程序比單獨(dú)使用純C語言多一個(gè)預(yù)編譯過程,通常具有以下幾個(gè)步驟: (可利用編輯軟件如: EDLIN, WS等進(jìn)行編輯).. ,該編譯器將源程序中嵌入的SQL語言翻譯成標(biāo)準(zhǔn)C語言,產(chǎn)生一個(gè)C語言編譯器能直接進(jìn) 。該cpp文件可以和普通的cpp文件一樣被放入一個(gè)工程中被C++編譯器編譯,連接最后運(yùn)行。 對(duì)COBASE的預(yù)編譯器的使用的詳細(xì)說明見第六章. 第二章 ESQL 程序的基本結(jié)構(gòu) ESQL程序由兩部分組成:程序首部和程序體. 程序首部 每一個(gè)ESQL程序的開始,就是程序的首部,它包括以下三部分: : 說明特殊的主變量,這些變量區(qū)別于純C語言程序中的變量,COBASE使用這些變量與程序之間相互作用. USERCA語句: 說明一個(gè)SQL語句的通訊域(USERCA),它提供了錯(cuò)誤處理,其功能等價(jià)于代替C語言中的INCLUDE語句. : 建立程序與COBASE之間的連接. :(描述部分) 在DECLARE SECTION (描述部分),定義所有在SQL語句中用到的主變量,定義部分是以: EXEC SQL BEGIN DECLARE SECTION。 和 EXEC SQL END DECLARE SECTION。 開始和結(jié)束的. 在這兩個(gè)語句中,只可以定義 SQL 語句中用到的主變量,每個(gè)預(yù)編譯單元只允許一個(gè)BEGIN/END DECLARE SECTION (描述部分),但是一個(gè)程序可以包含許多獨(dú)立的預(yù)編譯單元。若一個(gè)主變量或指示變量在ESQL程序中的SQL語句中引用,但它沒有在 描述部分中定義,則程序在預(yù)編譯時(shí)就會(huì)出現(xiàn)錯(cuò)誤信息. 在這兩個(gè)語 句中可以定義的變量有六種類型:INT,SHORT,CHAR,FLOAT,NUMBER,其它類型只允許定義一維數(shù)組,不允許有指針類型 ,在此處變量可以賦值. 例如: EXEC SQL BEGIN DECLARE SECTION。 int sno。 char sname[11]。 short snameid。 EXEC SQL END DECLARE SECTION。 (1)主變量: ,它們的數(shù)據(jù)類型必須是在主語言中描述部分里定義過的,而且它們的數(shù)據(jù)類型必須和COBASE數(shù)據(jù)庫中已定義的表中的數(shù)據(jù)類型相匹配. 例如: SELECT 姓名, 等級(jí) FROM 供應(yīng)商 INTO :sname, :status WHERE 供應(yīng)商號(hào)=:sno。 該語句表示,從供應(yīng)商表中在供應(yīng)商號(hào)與主變量sno一致的地方選擇供應(yīng)商姓名和供應(yīng)商等級(jí),COBASE把結(jié)果傳送到主變量sname,status中. 主變量使用規(guī)則: . . :,在純C語言 語句中則不要在主變量前寫冒號(hào). 留字. . SQL通訊域 每個(gè)COBASE應(yīng)用程序必須提供對(duì)錯(cuò)誤 的處理,為了說明SQL通訊域(USERCA),必須在每個(gè)COBASE預(yù)編譯程序中寫上: EXEC SQL INCLUDE USERCA。 USERCA是一結(jié)構(gòu),每一嵌入的執(zhí)行性SQL語言的執(zhí)行情況在其執(zhí)行完成后寫入U(xiǎn)SERCA結(jié)構(gòu)中的各變量中, 根據(jù)USERCA中的內(nèi)容可以獲得每一嵌入SQL語句執(zhí)行后的信息,. 連接COBASE 在 存取COBASE數(shù)據(jù)之前,程序必須提供用戶名和口令,由COBASE進(jìn)行校驗(yàn),若口令和用戶名正確,方可登錄COBASE,獲得使用權(quán),否則,COBASE拒絕登錄,“cobase”,口令為“cobase”。 連接COBASE的格式如下: EXEC SQL CONNECT 用戶名:用戶口令. CONNECT語句必須是ESQL程序中第一條可執(zhí)行的SQL語句. 程序體 程序體可以包含許多SQL語句,以查詢或處理存儲(chǔ)在COBASE數(shù)據(jù)庫中的數(shù)據(jù). 在應(yīng)用程序中所包含的SQL語句,可以查詢或操縱存儲(chǔ)在COBASE中的數(shù)據(jù),這些語句叫 做數(shù)據(jù)操縱語言(DML),應(yīng)用程序體也可以包含DDL語句,用來建立或定義數(shù)據(jù)結(jié)構(gòu),如表、 SQL 開始,以。,主變量前應(yīng)有: 是嵌入式SQL語句: EXEC SQL UPDATE 供應(yīng)商 SET 姓名=39。李 紅39。 WHERE 供應(yīng)商號(hào)=39。S139。 /* 把供應(yīng)商號(hào)是S1的供應(yīng)商姓名改為 39。李 紅39。*/ EXEC SQL INSERT INTO 供應(yīng)商(供應(yīng)商號(hào),姓名,等級(jí),城市) VALUES((:sno,:sname,:status,:city))。 /* 根據(jù)宿主變量值插入供應(yīng)商表中 */ EXEC SQL DELETE FROM 供應(yīng)商 WHERE 等級(jí) IS NULL。 /*刪除供應(yīng)商等級(jí)是空值的供應(yīng)商*/ 從上面例可以看出,靜態(tài)的增,刪,改語句與交互方式?jīng)]有太大的差別,對(duì)于查詢語句就沒有那么簡單,查詢語句在下一章中介紹. 現(xiàn)用幾個(gè)例題程序加以說明. 例題程序1 (建立一表并向表中插入數(shù)據(jù)) /*============================================================================== This is a sample program which include SQL sentence about CREATE ,INSERT a table. ==============================================================================*/ EXEC SQL BEGIN DECLARE SECTION 。 CHAR sno[10],sname[10],city[10]。 INT status。 EXEC SQL END DECLARE SECTION 。 EXEC SQL INCLUDE USERCA。 main() { int i。 EXEC SQL CONNECT cobase:cobase 。 EXEC SQL CREATE TABLE S_TEST /* Create a table named S_TEST */ (SNO CHAR (9), SNAME CHAR (20), STATUS INT ,CITY CHAR(10))。 printf( create table success,insert?)。 printf( 0 no )。
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1