數(shù)據(jù)庫課件ch3_第1頁
數(shù)據(jù)庫課件ch3_第2頁
數(shù)據(jù)庫課件ch3_第3頁
數(shù)據(jù)庫課件ch3_第4頁
數(shù)據(jù)庫課件ch3_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第三章第三章 關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫 標(biāo)準(zhǔn)語言標(biāo)準(zhǔn)語言 SQL(Structured Query Language)結(jié)構(gòu)化查詢語言,結(jié)構(gòu)化查詢語言, 1974年年Boyce和和Chamberlin提出,首先在提出,首先在IBM 公司的公司的 關(guān)系數(shù)據(jù)庫系統(tǒng)關(guān)系數(shù)據(jù)庫系統(tǒng)System R上實現(xiàn)。上實現(xiàn)。 特點:功能豐富、使用方便、靈活、語言簡潔易學(xué)。特點:功能豐富、使用方便、靈活、語言簡潔易學(xué)。 1986年,年,ANSI數(shù)據(jù)庫委員會數(shù)據(jù)庫委員會X3H2批準(zhǔn)了批準(zhǔn)了SQL作為數(shù)作為數(shù) 據(jù)庫語言的美國標(biāo)準(zhǔn),據(jù)庫語言的美國標(biāo)準(zhǔn),ISO隨后也提出了同樣的決定。隨后也提出了同樣的決定。 應(yīng)用系統(tǒng)范圍廣,統(tǒng)一

2、標(biāo)準(zhǔn)。應(yīng)用系統(tǒng)范圍廣,統(tǒng)一標(biāo)準(zhǔn)。 SQL用戶 Base Table B1 View V1View V2 Base Table B2 Base Table B3 Base Table B4 Stored File S1 Stored File S1 Stored File S1 Stored File S1 外模式 模式 內(nèi)模式 SQL語言支持的關(guān)系數(shù)據(jù)庫的三級模式結(jié)構(gòu) 一些概念:一些概念: 1)用戶可以用用戶可以用SQL語言對視圖語言對視圖(View)和基本表和基本表(Base Table)進(jìn)行查詢等操作,在用戶觀點里,視圖和表進(jìn)行查詢等操作,在用戶觀點里,視圖和表 一樣,都是關(guān)系。一樣,都是

3、關(guān)系。 2)視圖是從一個或多個基本表中導(dǎo)出的表,本身不存視圖是從一個或多個基本表中導(dǎo)出的表,本身不存 儲在數(shù)據(jù)庫中,只有其定義,可以將其理解為一個儲在數(shù)據(jù)庫中,只有其定義,可以將其理解為一個 虛表。虛表。 3)基本表是本身獨立存在的表,每個基本表對應(yīng)一個基本表是本身獨立存在的表,每個基本表對應(yīng)一個 存儲文件,一個表可以帶若干索引,存儲文件及索存儲文件,一個表可以帶若干索引,存儲文件及索 引組成了關(guān)系數(shù)據(jù)庫的內(nèi)模式。引組成了關(guān)系數(shù)據(jù)庫的內(nèi)模式。 lSQL語言的功能包括: l查詢(Query) l操縱(manipulation) l定義(definition) l控制(Control) lSQL語

4、言是一個綜合的、通用的、 功能極強(qiáng)的關(guān)系數(shù)據(jù)庫語言。 l主要特點: 1. 語言簡潔、易學(xué)易用:核心功能只有8個動 詞,語法簡單,接近英語。 SQL功能 動詞 數(shù)據(jù)庫查詢 SELECT 數(shù)據(jù)定義 CREATE,DROP 數(shù)據(jù)操縱 INSERT,UPDATE, DELETE 數(shù)據(jù)控制 GRANT,REVOKE l主要特點: 2. 高度非過程化的語言:用戶只需提出“干什 么”,至于“怎么干”由DBMS解決;用戶只 需要早查詢語句中提出需要什么,DBMS即可 按路徑存取,并把結(jié)果返回給用戶。 3. 面向集合的語言:每一個SQL的操作對象是一 個或多個關(guān)系,操作的結(jié)果也是一個關(guān)系。 4. 既可獨立使用,

5、又可嵌入到宿主語言中使用, 具有自主型和宿主型兩種特點。 l主要特點: 5. 具有查詢、操作、定義和控制四種語言一 體化的特點。它只向用戶提供一種語言, 但該語言具有上述多種功能,且每中操作 只需一種操作符。 l查詢即檢索操作,是對已經(jīng)存在的基本表及視圖進(jìn) 行數(shù)據(jù)檢索,不改變數(shù)據(jù)本身 l基本結(jié)構(gòu):SELECT-FROM-WHERE組成的查詢 塊,一般形式: SELECT , (指出要檢索的數(shù)據(jù)項) FROM , (給出要操作的關(guān)系 表名) WHERE (給出查詢結(jié)果應(yīng)滿 足的條件) l查詢塊的結(jié)果仍然是一個表,結(jié)果表的結(jié)構(gòu)及內(nèi)容 完全取決于查詢塊 l當(dāng)涉及多表操作時,WHERE 子句要同時給出

6、連接條件 l查詢塊作為整體代表著關(guān)系代數(shù)中的投影、選擇、連接等 操作的組合 lSQL的檢索功能十分豐富,舉例說明(三個基本表) l例1:檢索學(xué)生的姓名,年齡和性別 SELECT SN,AGE,SEX FROM S; (SELECT * FROM S;) l例2:檢索學(xué)生選修課程的課程號 SELECT DISTINCT C# FROM SC; 其中:DISTINCT表示消取重復(fù)行 l利用投影檢索可控制屬性名列的順序 l例3:檢索學(xué)習(xí)課程號為C2的所有學(xué)生的學(xué)號和成 績 SELECT S#,GRADE FROM SC WHERE C#=C2; l例4:檢索課程號為C2且成績高于85分以上的學(xué)生 學(xué)

7、號和成績 SELECT S#,GRADE FROM SC WHERE C#=C2 AND GRADE85; l例5: 檢索選修C1或C2的學(xué)生學(xué)號 SELECT S# FROM SC WHERE C#=C1 OR C#=C2; l例6: 檢索成績在70分至80分之間的學(xué)生學(xué)號, 課程號和成績 SELECT * FROM SC WHERE GRADE BETWEEN 70 AND 80; 運算符 BETWEENAND可以選擇屬性列在 一定值范圍內(nèi)的行 l例7: 檢索選修C1的學(xué)生學(xué)號和成績,并按成績 的降序和學(xué)號的升序排列 SELECT S#,GRADE FROM SC WHERE C#=C1

8、ORDER BY GRADE DESC,S#; ORDER BY 子句表示結(jié)果要排序,它必須在所有 其它子句之后作為最后一個子句出現(xiàn) l例8: 檢索學(xué)號為S1,S3,S4的姓名,年齡(年 齡按升序排列) SELECT SN,AGE FROM S WHERE S# IN (S1,S3,S4) ORDER BY AGE; 運算符:IN表示選擇匹配若干指定值的行 l例9: 檢索辛國年同學(xué)所學(xué)課程的課程號及成績 SELECT SN,C#,GRADE FROM S,SC WHERE S.S#=SC.S# AND SN=辛國年; 對多表數(shù)據(jù)的檢索,是通過表與表之間的滿足一定 條件的行連接而實現(xiàn)的.其中FR

9、OM子句要指明進(jìn)行連接 的表名;WHERE子句要指明連接的列名及其連接條 件;SELECT子句中要指明多表檢索的結(jié)果表中的屬性名 列. l例10: 檢索所有比徐偉年齡大的學(xué)生姓名、年齡、 性別和徐偉的年齡 SELECT X.SN,X.AGE,X.SEX,Y.AGE FROM S X,S Y WHERE X.AGEY.AGE AND Y.SN=徐偉 ; 這是一個表和它自身的大于連接 l例11: 檢索所有學(xué)生的姓名、選課名稱和成 績 SELECT SN,CN,GRADE FROM S,SC,C WHERE S.S#=SC.S# AND SC.C#=C.C#; 進(jìn)行連表查詢是一般都應(yīng)該指定連接條件

10、lWHERE 子句中可以包含另一個查詢塊 l子查詢、外部查詢 l外部查詢利用子查詢來獲取檢索條件值 l用此類查詢可以用一系列簡單查詢構(gòu)造復(fù)雜查詢 l子查詢分為:普通子查詢和相關(guān)子查詢 l普通子查詢:執(zhí)行一次 l相關(guān)子查詢:檢索條件中引用了外部查詢的列,執(zhí)行的次數(shù)由外部 查詢的候選行決定 l例12: 檢索和辛國年同學(xué)同歲的學(xué)生 SELECT SN FROM S WHERE AGE= (SELECT AGE FROM S WHERE SN=辛國年); 子查詢結(jié)果僅返回一個值 l例13: 檢索選修C2課程號的學(xué)生姓名 SELECT SN FROM S WHERE S#=ANY (SELECT S#

11、FROM SC WHERE C#=C2); 子查詢返回一組值,需在比較運算符和子查詢之間插入 ANY或ALL等操作符 (SELECT SN FROM S,SC WHERE S.S#=SC.S# AND C#=C2); l例14: 檢索選修C2課程號的學(xué)生姓名(用IN代替=ANY) SELECT SN FROM S WHERE S# IN (SELECT S# FROM SC WHERE C#=C2); l例15: 檢索選修課程C2的學(xué)生中成績最高的學(xué)生的學(xué) 號 SELECT S# FROM SC WHERE C#=C2 AND GRADE=ALL (SELECT GRADE FROM SC W

12、HERE C#=C2); l例16: 檢索沒有選修C2的學(xué)生姓名 SELECT SN FROM S WHERE C2 NOT IN (SELECT C# FROM SC WHERE S#=S.S#); 相關(guān)子查詢 NOT IN 等價于 !=ALL (表示不在集合中) l例17: 檢索選修C2課程號的學(xué)生姓名(用EXISTS) SELECT SN FROM S WHERE EXISTS (SELECT * FROM SC WHERE S#=S.S# AND C#=C2); EXISTS表示存在量詞 l例18: 檢索沒有選修C2的學(xué)生姓名(用NOT EXIST) SELECT SN FROM S

13、WHERE NOT EXISTS (SELECT * FROM SC WHERE S#=S.S# AND C#=C2); l例19: 檢索選修了所有課程的學(xué)生姓名 SELECT SN FROM S WHERE NOT EXISTS (SELECT * FROM C WHERE NOT EXISTS (SELECT * FROM SC WHERE S#=S.S# AND C#=C.C#); l例20: 設(shè)計算機(jī)系有本科生學(xué)生表S1,研究生表S2, 具有相同屬性列名(S#,SN,AGE,SEX),現(xiàn)求計算機(jī)系 所有學(xué)生的學(xué)號和姓名,并按學(xué)號升序排列 SELECT S#,SN FROM S1 UNI

14、ON SELECT S#,SN FROM S2 ORDER BY S#; 查詢塊可作為集合操作(并、交和差)的操作對象 l例21: 檢索沒人選修的課程號和課程名 SELECT C#,CN FROM C WHERE C# IN (SELECT C# FROM C MINUS SELECT DISTINCT C# FROM SC); lSQL 提供了一定數(shù)量的庫函數(shù),增強(qiáng)基本檢索能力 l庫函數(shù)有:SUM、AVG、COUNT、MAX、MIN 例22: 求取計算機(jī)系(DEPT=6)的學(xué)生平均年齡 SELECT AVG(AGE) FROM S WHERE DEPT=6; 例23: 檢索學(xué)校共有多少系 S

15、ELECT COUNT(DISTINCT DEPT) FROM S; COUNT(*) 對行的計數(shù)對行的計數(shù),不消除重復(fù)行不消除重復(fù)行 lSQL允許對關(guān)系表按屬性列組合在行的方向上進(jìn)行 分組,并可對每一個分組執(zhí)行SELECT操作 lGROUP BY子句是分組子句 lHAVING子句是分組的檢索條件 例24: 檢索出選修課程至少等于三門的學(xué)生學(xué)號和選 課門數(shù) SELECT S#,COUNT(*) FROM SC GROUP BY S# HAVING COUNT(*)=3; 執(zhí)行過程及結(jié)果執(zhí)行過程及結(jié)果 l在SELECT 子句中,可包括由若干屬性列以及常數(shù)、 庫函數(shù)等組成的算術(shù)表達(dá)式,從而實現(xiàn)算術(shù)

16、表達(dá)式 的檢索 例25: 對于EMP表,檢索所有程序員姓名以及一年總 收入,并按獎金與工資比值降序排列 SELECT EMPN,12*(BONUS+SALARY) FROM EMP WHERE JOB=PROGRAMMER ORDER BY BONUS/SALARY DESC; l在WHERE子句中,用“=”和“IN”時,必須是完全匹配 l當(dāng)不知道精確值時,可以用“LIKE”或“NOT LIKE” l形式: LIKE l在字符串常量中: l%:代表任意序列的零個或多個字符 l_: 代表任意單個字符 例26:檢索姓王的學(xué)生的學(xué)號,年齡 SELECT S#,AGE FROM S WHERE SN

17、LIKE 王王% l某數(shù)據(jù)項沒有值稱為具有空值(NULL),通常沒有為 一個列輸入值時,該列的值就是空值 l查詢空值使用“IS NULL”條件子句 例26:檢索缺少學(xué)習(xí)成績的學(xué)生學(xué)號和課程號 SELECT S#,C# FROM SC WHERE GRADE IS NULL; lSQL語言的數(shù)據(jù)定義功能即指SQL DDL語句。 l它包括對數(shù)據(jù)庫用戶、基本表、視圖、索引、 聚集、同義名等數(shù)據(jù)庫對象的定義和撤銷。 l介紹:基本表、視圖和索引的定義和修改 1. 定義基本表 (1) 定義基本表的語句格式: lCREATE TABLE (,) l表名: l列定義:列名、列數(shù)據(jù)類型、長度、是否允許空值 等。

18、 l定義完整性約束:列約束和表約束 lCONSTRAINT l完整性約束類型: NULL/NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK l例如:建立一個學(xué)生基本表 CREATE TABLE S ( S# CHAR(4), SN CHAR(8), AGE NUMBER(2), SEX CHAR(2) DEFAULT男, DEPT CHAR(2); l例:建立包含完整性定義的學(xué)生基本表 CREATE TABLE S ( S# CHAR(4) CONSTRAINT S_PRIM PRIMARY KEY, SN CHAR(8) CONSTRAINT SN_

19、CONS NOT FULL, AGE NUMBER(2) CONSTRAINT AGE_CHE CHECK(AGE BETWEEN 15 AND 45), SEX CHAR(2) DEFAULT男男, DEPT CHAR(2); l例:建立包含完整性定義的選課基本表 CREATE TABLE SC ( S# CHAR(4) CONSTRAINT S_CONS NOT NULL, C# CHAR(5) CONSTRAINT C_CONS NOT FULL, GRADE NUMBER(3) CONSTRAINT GRADE_CHE CHECK(GRADE=0 AND GRADE=100), CON

20、STRAINT SC_PRIM PRIMARY KEY(S#,C#), CONSTRAINT SC_S FOREIGN KEY (S#) REFERENCES S(S#), CONSTRAINT SC_S FOREIGN KEY (C#) REFERENCES C(C#); l(2) 用其它表的數(shù)據(jù)創(chuàng)建一個新表 lCREATE TABLE (,) AS l例:建立計算機(jī)系學(xué)生情況基本表 CREATE TABLE S6 AS SELECT S#,SN,SEX,AGE FROM S WHERE DEPT=6 2. 修改基本表 (1) ADD方式 l使用 ADD方式可以向表中增加列定義和表約束 l語

21、法格式: lALTER TABLE ADD (|, (|) l例:在S表中增加一個班號列 ALTER TABLE S ADD(CLASSNO CHAR(6); l例:在S表中增加一個完整性約束定義,使DEPT的取值 只能在“1”到“15”之間 ALTER TABLE S ADD (CHECK(DEPT BWTEEN “1”AND”15”); (2) MODIFY方式 l該方式能對基本表中已有的列定義進(jìn)行修改 l語法格式: lALTER TABLE MODIFY ( 數(shù)據(jù)類型 NULL|NOT NULL, ( 數(shù)據(jù)類型NULL|NOT NULL) l例:把S表中S#列加寬到10為字符寬度 ALT

22、ER TABLE S MODIFY(S# CHAR(10); (3) DROP方式 l該方式能刪除基本表中已有的完整性約束定義 l語法格式: lALTER TABLE DROP CONSTRAINT |PRMARY KEY|UNIQUE(,) l例:刪除S表中的主碼 ALTER TABLE S DROP PRIMARY KEY l3. 改變基本表的名字 RENAME TO l4. 刪除基本表 DROP TABLE l外模式:用戶定義的基本表和若干視圖組成 l視圖:由基本表或其它視圖導(dǎo)出的表,其本身不存在 與數(shù)據(jù)庫中,稱為虛表 l視圖一經(jīng)定義,就可被檢索或刪除,但更新操作由一 定的限制,也可定義

23、其它視圖 l1. 定義視圖 l視圖是用一個查詢塊的查詢結(jié)果來定義的 l語法格式: lCREATE VIEW () AS l例1:創(chuàng)建一個有關(guān)計算機(jī)系學(xué)生情況的視圖SUB CREATE VIEW SUB AS SELECT S#,SN,AGE FROM S WHERE DEPT=6 l例2:創(chuàng)建一個有關(guān)學(xué)生成績情況的視圖 S_SC_C CREATE VIEW S_SC_C(S#,SNAME,CNAME,GRADE) AS SELECT S.S#,SN,CN,GRADE FROM S,C,SC WHERE S.S#=SC.S# AND SC.C#=C.C#; l例3:創(chuàng)建一個有關(guān)學(xué)生平均成績的視圖

24、S_C CREATE VIEW S_C(S#,AVG) AS SELECT S#,AVG(GRADE) FROM SC GROUP BY S# l例4:查找計算機(jī)系學(xué)生中小于20歲的學(xué)生的 學(xué)號、姓名和年齡 SELECT * FROM SUB WHERE AGE20 (SELECT S#,SN,AGE FROM S WHERE DEPT=6 AND AGE20) l2. 改變視圖的名字 RENAME TO l3. 刪除視圖 DROP VIEW l4. 使用視圖的優(yōu)點: (1)能夠?qū)?shù)據(jù)庫的訪問限制在一定范圍內(nèi),有利于數(shù)據(jù)保密 (2)視圖機(jī)制使不同的用戶能以不同的方式看待同一數(shù)據(jù),當(dāng)許多 不同

25、種類的用戶使用同一個集成數(shù)據(jù)庫時,這種靈活性非常重要 (3)簡化了用戶觀點 (4)視圖對于數(shù)據(jù)庫的重構(gòu)提供了一定程度的邏輯獨立性 l對于一個基本表,根據(jù)需要建立若干個索引 l建立索引的兩個主要目的:加快查詢速度、保證行的 唯一性 l1. 建立索引 l語法格式: lCREATE UNIQUE INDEX ON (,) l若指定UNIQUE選項,系統(tǒng)將保證基本表中的任意 兩行記錄在索引列上或組合的索引列上具有唯一值 l例:為SC表在S#和C#列上建立唯一索引 CREATE UNIQUE INDEX SC1 ON SC(S#,C#); l2. 刪除索引 DROP INDEX l主要包括三種語句 1.

26、 INSERT l把新的記錄行(集)插入到已建立的表中 l語法格式: lINSERT INTO (,) VALUES (,) l例: (1) 插入一行記錄 INSERT INTO S VALUES(S11,WHITE,男男,20,6); (2) 插入一行的部分?jǐn)?shù)據(jù) INSERT INTO SC(S#,C#) VALUES(S11,C9) (3)插入多行記錄 INSERT INTO C2(C#) SELECT C# FROM SC WHERE S#=S2 2. DELETE l用來刪除表中的一行或多行記錄 l語法格式:DELETE FROM WHERE l例1: DELETE FROM S WH

27、ERE S#=S11; l例2: DELETE FROM SC WHERE S# IN (SELECT S# FROM S WHERE SN=辛國年辛國年) 3. UPDATE l用來對表中一行或多行中的某些值進(jìn)行修改 l語法格式: lUPDATE SET =| , =|WHERE (1)修改一行中的某些列值 例1: UPDATE S SET DEPT=6 WHERE S#=S11; (2)修改多行 例2:UPDATE EMP SET SALARY=1.5*SALARY WHERE JOB=PROGRAMMER AND SALARY=500) l是指控制用戶對數(shù)據(jù)的存取權(quán)力 l功能要求: l把

28、授權(quán)的決定告訴系統(tǒng),由GRANT和REVOKE語 句完成 l把授權(quán)的結(jié)果存入數(shù)據(jù)字典 l當(dāng)用戶提出操作請求時,根據(jù)授權(quán)情況進(jìn)行檢查, 以決定是執(zhí)行操作還是拒絕 l語句格式: GRANT 權(quán)限、權(quán)力 ON 對象類型 對象名 TO 用 戶、用戶; WITH GRANT OPTION l數(shù)據(jù)控制語句包括管理數(shù)據(jù)庫用戶數(shù)據(jù)控制語句包括管理數(shù)據(jù)庫用戶,控制授予或撤控制授予或撤 銷數(shù)據(jù)庫用戶存取數(shù)據(jù)庫的某些特權(quán)等銷數(shù)據(jù)庫用戶存取數(shù)據(jù)庫的某些特權(quán)等 l保證數(shù)據(jù)的安全通常是通過為用戶設(shè)置權(quán)限來實現(xiàn)保證數(shù)據(jù)的安全通常是通過為用戶設(shè)置權(quán)限來實現(xiàn) 的的 l當(dāng)當(dāng)DBA建立了一個新用戶后建立了一個新用戶后,還必須授予它

29、一定的還必須授予它一定的 權(quán)限權(quán)限,否則它無法是用數(shù)據(jù)庫否則它無法是用數(shù)據(jù)庫 l在在Oracle中中,可以授予和收回數(shù)據(jù)庫用戶兩類特權(quán)可以授予和收回數(shù)據(jù)庫用戶兩類特權(quán): 系統(tǒng)特權(quán)和對象特權(quán)系統(tǒng)特權(quán)和對象特權(quán) l在在Oracle中中,還支持角色的概念還支持角色的概念,一個角色是多種特一個角色是多種特 權(quán)的集合權(quán)的集合 l是通過是通過GRANT語句和語句和REVOKE語句授予和收回特語句授予和收回特 權(quán)的權(quán)的 舉例: (1)授予(收回)SCOTT用戶創(chuàng)建基本表的權(quán)限 GRANT CREATE TABLE TO SCOTT; REVOKE CREATE TABLE FROM SCOTT; (2)把S

30、表上的插入和修改S#列的特權(quán)授予LI和WANG 用戶 GRANT INSERT,UPDATE(S#) ON S TO LI,WANG; (3)把C表上的所有權(quán)力授予用戶WANG,而WANG還可 以把權(quán)限授予其它用戶 GRANT ALL ON C TO WANG WITH GRNAT OPTION (4)從WANG用戶手中收回修改S表的權(quán)限 REVOKE UPDATE ON S FROM WANG l將SQL訪問數(shù)據(jù)庫的能力,與宿主語言的過程 化處理的能力進(jìn)行綜合 l將SQL語句嵌入宿主語言中 l引入變量的使用 lSQL語句加上前綴,區(qū)別于宿主語言的語句 lExec Sql ; lex.:Exe

31、c sql Delete From Student; l預(yù)編譯 l將具有前綴的語句,轉(zhuǎn)換成宿主語言的調(diào)用語句 l由宿主語言的編譯器生成目標(biāo)碼 lSQLCASQL Communication Area lsql通訊區(qū)域 l數(shù)據(jù)庫工作單元宿主語言工作單元之間的通訊區(qū) 域 l宿主語言DB:請求、參數(shù) lDB宿主語言:執(zhí)行的狀態(tài)信息、出錯信息 lDB宿主語言:(查詢)執(zhí)行的結(jié)果 lSqlca.sqlcode: lerror code l0:success l 0 :fail l100:row not found lSqlca.sqlstate: l標(biāo)準(zhǔn)(ISO)返回信息碼 l主變量(共享變量) l宿主

32、語言語句 l嵌入的SQL語句 l宿主變量 l僅用于宿主語言的語句中 l主變量的定義 Exec Sql Begin Declare Setction; Exec Sql End Declare Setction; l數(shù)據(jù)緩沖區(qū),存放SQL語句的查詢結(jié)果集 l游標(biāo)名 l指針位置 l將多行數(shù)據(jù)集轉(zhuǎn)換為單行數(shù)據(jù) l便于宿主語言處理 l由宿主語言處理數(shù)據(jù) l宿主變量 l共享變量 l由內(nèi)嵌的SQL語句處理數(shù)據(jù)庫的訪問 l共享變量 Exec sql Include Sqlca; Exec sql Begin declare Section; Char sno(5); Char cno(3); Int grade; Exec sql End Declare Section; main() Exec sql Declare

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論