644522920《大型數(shù)據(jù)庫Oracle》實驗指導書(0710)_第1頁
644522920《大型數(shù)據(jù)庫Oracle》實驗指導書(0710)_第2頁
644522920《大型數(shù)據(jù)庫Oracle》實驗指導書(0710)_第3頁
644522920《大型數(shù)據(jù)庫Oracle》實驗指導書(0710)_第4頁
644522920《大型數(shù)據(jù)庫Oracle》實驗指導書(0710)_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、大型數(shù)據(jù)庫oracle編撰閩江學院計算機實驗教學中心印制目 錄實驗一 oracle數(shù)據(jù)庫管理與工具使用2實驗二 表連接、高級子查詢6實驗三 管理存儲結構、用戶、權限安全、模式和表12實驗四 約束、索引、視圖、序列和同義詞16實驗五 pl/sql編程基礎20實驗六 觸發(fā)器、過程、函數(shù)和程序包27實驗七 管理存儲結構、備份與恢復33實驗八 sql*plus和sql基本查詢39實驗九 管理存儲結構、用戶、權限安全、模式和表42實驗十 創(chuàng)建和管理表,視圖,約束46實驗十一 序列、索引、同義詞48 實驗一 oracle數(shù)據(jù)庫管理與工具使用一、 實驗目的1. 掌握oracle的啟動、關閉、連接和管理初始化

2、參數(shù)2. 熟悉em和sql*plus的使用3. 了解用戶和模式的概念,并查詢hr模式表的數(shù)據(jù)二、實驗環(huán)境一臺pc機,安裝widows xp操作系統(tǒng),oracle 10g或11g數(shù)據(jù)庫軟件。三、實驗內容 1. 啟動和關閉window操作系統(tǒng)的oracle服務2. 使用sql*plus與oracle數(shù)據(jù)庫建立連接3. 使用sql*plus啟動和關閉oracle數(shù)據(jù)庫4. 使用em和sql*plus顯示和設置初始化參數(shù)文件5. 使用em和sql*plus解鎖hr模式,并使用sql*plus編寫查詢該模式中表的sql四、實驗步驟1)進入windows xp操作系統(tǒng) 控制面板-管理工具-服務啟動以下幾個

3、服務:oracleservice(數(shù)據(jù)庫名)oracleoradb10g_home1tnslisteneroracleoradb10g_home1isql*plusoracledbconsoleorcl(啟動em需要的服務)2)使用sql*plus連接oracle數(shù)據(jù)庫進入windows xp操作系統(tǒng) oracle - oradb10g_home1-應用程序開發(fā)-sql plus輸入:用戶名:sys/orcl as sysdba 按確定。 輸入select * from hr.employees; 按回車可以查詢該表數(shù)據(jù)3)使用sql*plus用sys用戶關閉 oracle數(shù)據(jù)庫輸入并執(zhí)行如下

4、sql語句:shutdown immediate輸入select * from hr.employees; 按回車無法查詢該表數(shù)據(jù)4)創(chuàng)建并啟動與數(shù)據(jù)庫對應的實例 startup nomount 按回車5)為未加載數(shù)據(jù)庫的實例加載數(shù)據(jù)庫alter database mount; 按回車6)將處于未打開狀態(tài)的數(shù)據(jù)庫設置為打開狀態(tài)alter database open; 按回車7) 關閉數(shù)據(jù)庫然后直接啟動實例,加載數(shù)據(jù)庫,打開數(shù)據(jù)庫shutdown immediate;startup;8) 使用sql*plus顯示所有初始化參數(shù) show parameter9) 使用em查詢和設置動態(tài)初始化參數(shù)進

5、入ie,http:/服務器:1158/em數(shù)據(jù)庫管理-初始化參數(shù)10) 解鎖hr用戶使用em用system登錄,通過方案-用戶-編輯hr用戶為解鎖,同時修改密碼。使用sqlplus 用system登錄alter user hr account unlock;alter user hr identified by hr;11) 使用hr用戶連接sqlplus,connect hr/rh;select table_name from user_tables;select * from employeesselect * from 客戶信息;查詢結果應該包括客戶信息的所有列,并且包括該表的所有記錄行

6、。2)下面的sql語句將只返回“客戶姓名”、“客戶地址”和“聯(lián)系電話”列。select 客戶姓名,客戶地址,聯(lián)系電話from 客戶信息;這個查詢結果將包含指定的列,并且包含該表所有的記錄。3)在下面的select語句中,將使用where子句以限定檢索的客戶信息。select 客戶信息,客戶地址,聯(lián)系電話from 客戶信息where 所屬業(yè)務員編號1001由于添加了where子句,所以查詢結果現(xiàn)在只包含業(yè)務員編號為“1001”的客戶信息。4)下面創(chuàng)建的select語句用于對“客戶信息”表中的信息分組,輸入并執(zhí)行如下語句: select 所屬業(yè)務員編號 as 業(yè)務員編號,count(客戶編號) a

7、s 客戶數(shù)from 客戶信息group by 所屬業(yè)務員編號對應于每一個業(yè)務員編號都返回一行,并且每行中都包含所屬的客戶數(shù)。5)將having子句添加到剛才執(zhí)行的select語句中,輸入并執(zhí)行如下sql語句。select 所屬業(yè)務員編號 as 業(yè)務員編號,count(客戶編號) as 客戶數(shù)from 客戶信息group by 所屬業(yè)務員編號having count(客戶編號)=3;使用sql*plus函數(shù):6)下面的sql語句使用一組數(shù)據(jù)演示trunc函數(shù)與round函數(shù)之間的區(qū)別和相同點。select trunc(46.326,2),round(46.326,2)from dual;運行該語

8、句中,trunc函數(shù)的返回值為46.32,round函數(shù)的返回值為46.33。select trunc(46.326),round(46.326)from dual;運行該語句中,trunc函數(shù)和round函數(shù)將返回相同的值46。五、實驗小結通過本次實驗學會了使用sql*plus與數(shù)據(jù)庫建立連接,使用select語句檢索數(shù)據(jù)。實驗二 表連接、高級子查詢一、 實驗目的1.理解什么是連接操作2.如何進行簡單的連接操作3.掌握如何進行內連接、外連接、交叉連接4.創(chuàng)建返回多行的子查詢5.創(chuàng)建返回單值的子查詢6.掌握嵌套子查詢的使用二、實驗設備一臺pc機,安裝widows xp操作系統(tǒng),oracle 1

9、0g或11g數(shù)據(jù)庫軟件。三、實驗內容 1. 通過查詢school模式中的表,以練習各種連接操作的使用,特別是具有外鍵關聯(lián)的表。在sql*plus環(huán)境下,打開sql*plus,連接到school模式。1)第一個操作是用逗號分隔連接,將表student和class連接起來,查詢學生及所在班級信息。2) 在上面語句的基礎上連接department表,以顯示所在院系名稱.3) 修改上一個select語句,將其改為內連接中的等值連接.4) 修改上一個select語句,將其改為連接中的自然連接,并且限制只顯示”法律系”的學生信息.5) 修改上一個select語句,將其改為右連接條件.本練習使用逗號分隔連接

10、,交叉連接,內連接和外連接查詢多個表,可以看連接查詢?yōu)椴僮鲾?shù)據(jù)庫提供了很大的靈活性.但是連接并不是唯一的訪問多個表的方法.子查詢的功能與連接一樣,也可以實現(xiàn)多表查詢.2.本練習將使用子查詢數(shù)據(jù).子查詢很大程度上是通過關鍵字連接在一起的,這里將使用多個關鍵字連接子查詢,以便查詢多個表. sql*plus , 連接到school模式.1) 創(chuàng)建的第一個select 語句將要返回”06法2班”所有的學生信息. 2) 修改上一個查詢語句,使用關鍵字exists連接子查詢,并且要求顯示的數(shù)據(jù)相同.3) 下面的語句將使用嵌套查詢顯示屬于”法律系”的所有學生信息.4) 現(xiàn)在再創(chuàng)建一個select 語,該語句

11、查詢”刑法通則”課程的學習成績最高的學生信息.5) 上面的語句通過使用大于等于(=)比較運算符和all關鍵字實現(xiàn),另外一種簡單的方法是使用統(tǒng)計函數(shù)max實現(xiàn).四、實驗步驟1.1)輸入并執(zhí)行如下sql語句:select s.sid , s.sname , s.birth , s.sclass ,s.saddress , c.department , c.cnamefrom student s , class cwhere s.sclass=c.cid;2)輸入并執(zhí)行如下sql語句:select s.sid , s.sname , s.sclass,s.saddress , c.departmen

12、t , c.cname, d.dnamefrome student s,class c , department dwhere s.sclass=c.cidand c.department=d.did;3)輸入并執(zhí)行如下sql語句:select s.sid , s.sname , s.sbirth, s.sclass,s.saddress , c.deoartment , c.cname , d.dnamefrom student s join class con s.sclass=c.cidjoin department don c.depatment=d.did;4)輸入并執(zhí)行如下sql語

13、句:select s.sid , s.sname , s.sbirth , s.sclass,s.saddress , c.department, c.cname,d.dnamefrom student s natural join class c natural join department dwhere d.dname=法律系 ;5) 輸入并執(zhí)行如下sql語句:select s.sid , s.sname , s.sbirth , s.sclass, s.saddress , c.department , c.cname , d.dnamefrom student s right joi

14、n class con s.sclass=c.cidright join department don c.department=d.did;2. 1)輸入并執(zhí)行如下語句;select * from studentwhere sclass in(select cid from classwhere cname = 06法2班此語句使用子查詢查詢class表,以獲取名為” 06法2班”的cid列表.in關鍵字再把該返回值與student表中的cid列表進行比較.2)輸入并執(zhí)行如下sql語句:select * from student swhere exists(select * from cla

15、ss cwhere c.cname= 06法2班and s.sclass=c.cid);執(zhí)行該語句獲取的學生信息與上一個語句獲取的學生信息相同,均為屬于” 06法2班”的學生信息.3)輸入并執(zhí)行如下查詢語句:select * from studentwhere sclass in (select cid from classwhere department in(select did from departmentwhere dname=法律系);4)輸入并執(zhí)行如下sql語句:select * from studentwhere sid in(select sid from gradewher

16、e score=all(select score from gradewhere coid in(select coid from courseswhere coname=刑法通則);在上面的語句中,最內層的select語句用于查詢課程名為”刑法通則”的課程代號,然后上層select語句根據(jù)該課程代號查詢該課程的所有成績;次外層select 語句則使用大于等于(=)比較算符和all關鍵字,求出大于等于全部成績的所有學生編號;最后由select 語句列出這些學生信息.5)輸入并執(zhí)行如下sql語句,比較兩者的運算結果.select * from studentwhere sid in(select

17、 sid from gradewhere score=(select max(score) from gradewhere coid=(select coid from courses where coname=刑法通則); 由于使用統(tǒng)計函數(shù)max,可以確定返回的最高成績只有一個,所以可以使用單值子查詢;另外由于每門課程只對一個代號,雖然這里沒有使用統(tǒng)計函數(shù),但是也可以使用單值子查詢.由此可以看出,sql語句是非常靈活的,可以由多種方法實現(xiàn)相同的功能.五、實驗小結通過本次實驗理解了什么是連接操作及如何進行簡單的連接操作。掌握了如何進行內連接、外連接、交叉連接。實驗三 管理存儲結構、用戶、權限安

18、全、模式和表一、 實驗目的1. 創(chuàng)建表空間2. 創(chuàng)建用戶3. 創(chuàng)建角色使得安全模式的設置和管理容易4. 使用grant和revoke語句授予和撤銷對象權限5. 創(chuàng)建表和管理表二、實驗設備一臺pc機,widows操作系統(tǒng),oracle 10g三、實驗內容 1創(chuàng)建一個表空間exer_tabspace,采用本地化管理,分配初始空間為100mb,使用空間配額不受限制,文件名:exer_tabspace.dbf,放在數(shù)據(jù)文件相應目錄。2創(chuàng)建一個用戶tempuser,其口令為oracle,默認表空間為exer_tabspace,臨時表空間為temp,對表空間沒有配額限制。3. 創(chuàng)建一個用戶配置文件temp

19、profile,包含的資源及口令限制如下:該用戶最多可以建立3個并發(fā)的會話連接用戶執(zhí)行語句使用的cpu最長時間為20分鐘空閑時間超過15分鐘后,斷開與用戶的連接限制用戶每次調用sql語句時,能夠讀取的數(shù)據(jù)庫塊數(shù)200限制用戶在登錄到oracle數(shù)據(jù)庫時允許失敗的次數(shù)24. 為用戶tempuser指定配置文件5. 向用戶授予連接數(shù)據(jù)庫系統(tǒng)權限。6向用戶授予對對象“vendition.商量信息”的select權限,并以用戶tempuser連接到數(shù)據(jù)庫,以查詢“商品信心”表。7撤銷向用戶tempuser授予的系統(tǒng)權限,向用戶授予connect,resource角色。四、實驗步驟1. 創(chuàng)建一個表空間e

20、xer_tabspace1)connect system/orcl;2) create smallfile tablespace exer_tabspace datafile f:oracleproduct10.2.0oradataorclexer_tabspace.dbf size 100m logging extent management local segment space management auto2. 創(chuàng)建一個用戶tempusercreate user tempuseridentified by oracle default tablespace userstemporary

21、 tablespace tempquota unlimited on users;3創(chuàng)建一個用戶配置文件tempprofilecreate profile tempprfile limitsessions_per_user 3cpu_per_call 2000idle_time 15logical_reads_per_call 200failed_login_attempts 24為用戶tempuser指定配置文件alter user tempuser profile tempprofile;5向用戶授予連接數(shù)據(jù)庫系統(tǒng)權限grant create session to tempuser;6向用

22、戶授予對對象“vendition.商量信息”的select權限,并以用戶tempuser連接到數(shù)據(jù)庫,以查詢“商品信心”表。grant select on vendition.商品信息 to tempuser;connect tempuser/oracle;select * from vendition.商品信息;7撤銷向用戶tempuser授予的系統(tǒng)權限,向用戶授予connect,resource角色。connect system/orcl;revoke select on vendition.商品信息 from tempuser;revoke create session from tem

23、puser;grant connect to tempuser;grant resource to exercise;8創(chuàng)建基本表(1)登錄到tempuser模式,在其中創(chuàng)建一個學生信息表student和一個班級信息表class。connect tempuser/oracle;create table student(id varchar2(20),name varchar2(8),sex number(1),classid varchar2(20)tablespace users;create table class(id varchar2(20),principal varchar2(20

24、),tel varchar2(20)tablespace users;(2)修改新創(chuàng)建表student的存儲參數(shù)。alter table student movestorage(next 32kmaxextents unlimitedpctincrease 0)(3).修改表class的數(shù)據(jù)塊參數(shù)。alter table classpctfree 40pctused 40;五、實驗小結通過本次實驗學會了創(chuàng)建表空間,用戶,創(chuàng)建角色使得安全模式的設置和管理容易,使用grant和revoke語句授予和撤銷對象權限。創(chuàng)建表和修改表的存儲參數(shù)。實驗四 約束、索引、視圖、序列和同義詞一、 實驗目的1.理解

25、如何在表中定義各種約束,以保證數(shù)據(jù)的完整性2. 理解索引的作用,了解oracle提供的主要索引類型,以及各自的特點,掌握如何創(chuàng)建各種索引3.在用戶模式中創(chuàng)建視圖、可更新視圖,理解視圖的相關性4. 對序列對象進行管理5管理同義詞二、 實驗設備一臺pc機,widows操作系統(tǒng),oracle 10g三、 實驗內容1.創(chuàng)建表student的主鍵,外鍵,唯一和其他約束。2.為school模式中的student表創(chuàng)建索引,并查看索引的使用情況。1) 在student表的sname列上創(chuàng)建b樹非唯一索引:2) 在student的班級信息列上創(chuàng)建位圖索引:3) 查看oracle的執(zhí)行路徑。4. 在school

26、模式中創(chuàng)建視圖,查詢視圖的定義,并對視圖進行更新。1)創(chuàng)建一個視圖student_math。這個視圖基于school模式中的student表,并且該視圖只包括那些系別為“數(shù)學系”的學生信息。在創(chuàng)建視圖時使用with check option,防止更新視圖時,輸入非數(shù)學系的學生信息。2)創(chuàng)建一個連接視圖department_class,它包含class表中的classname列和department表的depname列,在wherer子句中將兩個表連接在一起。3)查看視圖各個列是否允許更新。5. 創(chuàng)建序列,序列的開始數(shù)字為100,每次遞增10,無限增長。6. 創(chuàng)建公有同義詞emp 為hr.emp

27、loyees 四、實驗步驟1.創(chuàng)建表student的主鍵,外鍵,唯一和其他約束。1)在tempuser模式中創(chuàng)建表student,classconnect tempuser/oracle;create table student(id varchar2(20),name varchar2(8),sex number(1),classid varchar2(20)tablespace users;create table class(id varchar2(20),principal varchar2(20),tel varchar2(20)2)使用sql或可視化工具創(chuàng)建表student的主鍵,

28、外鍵,唯一和其他約束。2.為school模式中的student表創(chuàng)建索引,并查看索引的使用情況。1) 連接到school模式,使用如下語句在student表的sname列上創(chuàng)建b樹非唯一索引:connect school/school;create index sname_index on student(sname) tablespace users;2) 在student的班級信息列上創(chuàng)建位圖索引:create bitmap index sclass_index on student(sclass) tablespace users;3)輸入并執(zhí)行如下語句,查看該語句是否會使用索引。 se

29、t autotrace traceonly select * from student where sname=劉麗;可以看出使用該select語句使用了索引sname_index4. 在school模式中創(chuàng)建視圖,查詢視圖的定義,并對視圖進行更新。1)創(chuàng)建一個視圖student_math。這個視圖基于school模式中的student表,并且該視圖只包括那些系別為“數(shù)學系”的學生信息。在創(chuàng)建視圖時使用with check option,防止更新視圖時,輸入非數(shù)學系的學生信息。create or replace view student_math as select * from school

30、.student where sclass in ( select ame from class c,department d where c.department=d.didand d.dname=數(shù)學系) with check option;2)創(chuàng)建一個連接視圖department_class,它包含class表中的classname列和department表的depname列,在wherer子句中將兩個表連接在一起。輸入并執(zhí)行下列sql語句:cteate or replace view department_class asselect d.dname,amefrom class c,d

31、epartment dwhere c.department=d.did;3)查看視圖各個列是否允許更新。輸入并執(zhí)行語句:col owner format a20col table_name format a20col column_name format a20select *from user_updatable_columnswhere table_name=upper(department_class);5. 創(chuàng)建序列,序列的開始數(shù)字為100,每次遞增1,無限增長。輸入并執(zhí)行如下語句:create sequence incr_idstart with 100increment by 1n

32、omaxvaluenocycle order;6. 創(chuàng)建公有同義詞hr_emp 為hr.employees輸入并執(zhí)行如下語句:create public synonym hr_emp for hr.employees 五、實驗小結通過本次實驗初步掌握如何創(chuàng)建表各種約束,以保證數(shù)據(jù)的完整性理解索引的作用,掌握創(chuàng)建各種索引。掌握了創(chuàng)建視圖,創(chuàng)建序列和同義詞。實驗五 pl/sql編程基礎一、 實驗目的1.學習pl/sql程序塊的結構2.pl/sql程序中使用的數(shù)據(jù)類型3.如何在pl/sql中使用各種變量和常量4.pl/sql程序的條件判斷語句5.pl/sql程序的循環(huán)控制語句6.在pl/sql程序中

33、使用游標處理表中的信息二、實驗設備一臺pc機,widows操作系統(tǒng),oracle 10g三、實驗內容 1.在pl/sql程序中,為了處理數(shù)據(jù)庫中存儲的數(shù)據(jù),用戶可以使用系統(tǒng)預定義的標量變量,也可以使用自定義的復合變量。本練習將演示如何使用各種類型的變量:1)使用標量變量。標量變量是最簡單的變量,它只能存儲單個值,它的數(shù)據(jù)類型也是系統(tǒng)預定義的。2)使用%type類型的變量。使用%type類型的變量后,如果用戶隨后修改數(shù)據(jù)庫中該列的結構,則該類型變量的值也隨之改變。3)使用記錄變量。使用記錄變量首先需要用戶定義記錄變量的類型,然后才可以聲明記錄類型的變量。4) 使用%rowtype變量。%rowt

34、ype變量的結構與數(shù)據(jù)庫中行的結構完全相同。它可以存儲數(shù)據(jù)表中一個完整的行。2.使用游標 在程序中訪問數(shù)據(jù)庫表最通用的方法是嵌入sql語句,由于sql語句一般以集合的形式返回結果,而程序設計語言并不能處理集合形式的數(shù)據(jù)。因此,需要使用游標架起這兩者之間連接的“橋梁”。本練習訪問數(shù)據(jù)庫最簡單的方法是使用for cursor。該方法作為一種1 ) 隱式游標,它不需要用戶顯示定義、打開等操作,就可以瀏覽數(shù)據(jù)庫中的表?,F(xiàn)在使用該語句瀏覽school 模式中的student 表。2 ) 使用顯示游標。這次使用不帶參數(shù)的顯示游標,瀏覽school模式中的student表。3) 使用游標變量。游標變量是動態(tài)

35、的,可以在打開游標時指定游標所使用的select語句。4) 下一個要使用的游標是更新游標。更新游標需要使用 for update 子句。四、實驗步驟1.在pl/sql程序中,為了處理數(shù)據(jù)庫中存儲的數(shù)據(jù),用戶可以使用系統(tǒng)預定義的標量變量,也可以使用自定義的復合變量。1)在sql*plus中連接到school模式: connect school/school;輸入如下語句:set serveroutput on; declarevar_score number;beginvar_score:=89;update grade set score=var_scorewhere sid=s0603720

36、1 and coid=c0154;end;在該程序中定義一個number類型的變量,為其賦值89。當運行時,程序塊中的update 語句將使用此值修改grade中的分數(shù)score 字段。2) sql*plus中輸入如下語句: declarevar_name student.sname%type;beginselect snameinto var_namefrom studentwhere sid=s06037201;dbms_output.put_line(var_name);end;運行該程序將顯示編號為s06037201的學生姓名。3)在sql*plus中輸入如下程序,以顯示某學生信息:d

37、eclaretype student_info is record(stu_id student.sid%type,stu_name student.sname%type);rec_student student_info;beginselect sid,snameinto rec_studentfrom studentwhere sid=s06037201;dbms_output.put_line(rec_student.stu_id);dbms_output.put_line(rec_student.stu_name);end;4) sql*plus中輸入如下程序,以顯示student表中

38、一個完整的行。declarevar_student student%rowtype;beginselect*into var_studentfrom studentwhere sid=s06037242;dbms_output.put_line(var_student.sid)dbms_output.put_line(var_student.sname);dbms_output.put_line(var_student.sclass);end;2.使用游標 1 ) 隱式游標,它不需要用戶顯示定義、打開等操作,就可以瀏覽數(shù)據(jù)庫中的表?,F(xiàn)在使用該語句瀏覽school 模式中的student 表。s

39、et serveroutput onbeginfor studenttable in(select sid ,sname,sbirthfrom student)loopdbms_output.put(studenttable.sid);dbms_output.put(studenttable.sname);dbms_output.put_line(studenttable.sbirth);end loop;end;2 ) 使用顯示游標。這次使用不帶參數(shù)的顯示游標,瀏覽school模式中的student表。在sql*plus中輸入并執(zhí)行如下語句:declarecursor student_cur

40、 isselect * from student;student_row student%rowtype;beginopen student_cur;loopfetch student_cur into student_row;exit when student_cur%notfound;dbms_output.put_line(student_row.sid);dbms_output.put_line(student_row.sname);end loop;close student_cur;end;3) 使用游標變量。游標變量是動態(tài)的,可以在打開游標時指定游標所使用的select語句。 在

41、sql*plus中輸入并執(zhí)行如下sql 語句,該語句通過游標變量瀏覽student 表:declaretype student_rc is ref cursor;v_rc student_rc;student_row student%rowtype;beginopen v_rc for select* from student;loopfetch v_rc into student_row;exit when v_rc%notfound;dbms_output.put_line(student_row.sid);dbms_output.put_line(student_row.sname);e

42、nd loop;close v_rc;end;4) 下一個要使用的游標是更新游標。更新游標需要使用 for update 子句。在sql*plus中輸入并執(zhí)行如下語句:declarecursor grade_cur is select * from gradefor update of score nowait;var_score number;beginfor r in grade_cur loopif r.score studentid); end; 執(zhí)行結果將顯示指定編號的學生姓名、所在班級和系的名稱。5) 輸入并執(zhí)行如下語句:create or replace package user

43、_pkg is tupe student_info is record( id student.sid%type, name student.sname%type, birth student.sbirth%type); procedure printstudentinfo; function getstudentinfo(id in varchar2) return student_info;end user_pkg;執(zhí)行這段代碼將返回“程序包已經創(chuàng)建”的信息。6)輸入并執(zhí)行如下語句: create or replace package body user_pkg is cursor stu

44、dent_cur is select sid,sname,sbirth,saddresss from student; studentinfo student_info; begin open student_cur; fetch student_cur into studentinfo; while student_cur%found loop dbms_output.put(v_sthdentinfo.id | ); dbms_output.put(v_ | ); dbms_output.put(v_sthdentinfo.birth| ); dbms_output.put_line(v_sthdentinfo.addr | ); end loop; close student_cur; exception when invalid_cursor then dbms_output.put_lin

溫馨提示

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

評論

0/150

提交評論