oracle筆試題及答案_第1頁
oracle筆試題及答案_第2頁
oracle筆試題及答案_第3頁
oracle筆試題及答案_第4頁
oracle筆試題及答案_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

經(jīng)典word整理文檔,僅參考,雙擊此處可刪除頁眉頁腳。本資料屬于網(wǎng)絡整理,如有侵權,請聯(lián)系刪除,謝謝!oracle[next]1.創(chuàng)立表空間neuspace,數(shù)據(jù)文件命名為neudata.dbf,存放在d:\data目錄下,文件大小為200MB,設為自動增長,增量5MB,文件最大為500MB。(8答:createtablespaceneuspacedatafile‘d:\data\neudata.dbf’size200mautoextendonnext5mmaxsize500m;2.假設表空間neuspace已用盡500MB空間,現(xiàn)要求增加一個數(shù)據(jù)文件,存放在e:\appdata目錄下,文件名為appneudata,大小為500MB,不自動增長。(5答:altertablespaceneuspaceadddatafile‘e:\appdata\appneudata.dbf’size500m;3.以系統(tǒng)管理員身份,創(chuàng)立賬號tom,設置tom的默認表空間為neuspace。為tom分配connect和resource系統(tǒng)角色,獲取根本的系統(tǒng)權限。然后為tom分配對用戶scott的表emp的select權限和對SALARY,MGR屬性的update權限。(8答:createusertomidentifiedbyjackdefaulttablespaceneuspace;Grantconnect,resourcetotom;Grantselect,update(salary,mgr)onscott.emptotom;4.按如下要求創(chuàng)立表class和student。(15答:createtableclass(classnonumber(2)constraintclassclassnopkprimarykey,amevarchar2(10)notnull);createtablestudent(stunonumber(8)constraintstudentstunopkprimarykey,snamevarchar2(12)notnull,sex2)default‘男’,birthdaydate,emailvarchar2(20)constraintstudentemailukunique,scorenumber(5,2)constraintstudentscoreckcheck(score>=0andscore<=100),classnonumber(2)constraintstudentclassnofkreferencesclass(classno));5.在表student的SNAME屬性上創(chuàng)立索引studentsnameidx(5分)答:createindexstudentsnameidxonstudent(sname);6.創(chuàng)立序列stuseq,要求初值為xx0001,增量為1,最大值為xx9999。(6答:createsequencestuseqincrementby1startwithxx0001maxvaluexx9999nocachenocycle;7.向表student中插入如下2行。(5答:intostudentvalues(stuseq.nextval,’tom’,’男’,todate(‘1979-2-314:30:25’,fmhh24:mi:ss’),’tom@163.’,89.50,1);intostudent(stuno,sname,classno)values(stuseq.nextval,’jerry’,2);8.修改表student的數(shù)據(jù),將所有一班的學生成績加10分。(4答:studentsetscore=score+10whereclassno=1;9.刪除表student的數(shù)據(jù),將所有3班出生日期小于1981年5月12日的記錄刪除。(4答:fromstudentwhereclassno=3andbirthday>月-81’;10.完成以下SQL語句。(40(1)按班級升序排序,成績降序排序,查詢student表的所有記錄。答:select*fromstudentorderbyclassno,scoredesc;(2)查詢student表中所有二班的成績大于85.50分且出生日期大于1982-10-31日的男生的記錄。答:select*fromstudentwhereclassno=2andscore>85.50andbirthday<月-82’andsex=’男’;(3)查詢student表中所有三班成績?yōu)榭盏膶W生記錄。答:select*fromstudentwhereclassno=3andscoreisnull;(4)表student與class聯(lián)合查詢,要求查詢所有學生的學號,姓名,成績,班級名稱。(使用oracle與SQL99兩種格式)答:selects.stuno,s.sname,s.score,c.amefromstudents,classcwheres.classno=c.classno;(5)按班級編號分組統(tǒng)計每個班的人數(shù),最高分,最低分,平均分,并按平均分降序排序。答:selectclassno,count(*),max(score),min(score),avg(score)fromstudentgroupbyclassnoorderbyavg(score)desc;(6)查詢一班學生記錄中所有成績高于本班學生平均分的記錄。答:select*fromstudentwhereclassno=1andscore>(selectavg(score)fromstudentwhereclassno=1);(7)統(tǒng)計二班學生中所有成績大于所有班級平均分的人數(shù)。答:selectcount(*)fromstudentwhereclassno=2andscore>all(selectavg(socre)fromstudentgroupbyclassno);(8)查詢平均分最高的班級編號與分數(shù)。答:selectclassno,avg(score)fromstudentgroupbyclassnohavingavg(score)=(selectmax(avg(score))fromstudentgroupbyclassno);(9)查詢所有學生記錄中成績前十名的學生的學號、姓名、成績、班級編號。答:selectstuno,sname,score,classnofrom(select*fromstudentorderbyscoredesc)whererownum<=10;(10)創(chuàng)立視圖stuvu,要求視圖中包含student表中所有一班學生的stuno,sname,score,classno四個屬性,并具有withcheckoption限制。答:createviewstuvuasselectstuno,sname,score,classnofromstudentwhereclassno=1withcheckoption;1、比較大小selectdecode(sign(變量1-變量2),-1,變量1,變量2)fromdual;–取較小值sign()函數(shù)根據(jù)某個值是0、正數(shù)還是負數(shù),分別返回0、1、-1例如:變量1=10,變量2=20那么sign(變量1-變量2)返回-1,decode解碼結果為“變量1”,到達了取較小值的目的。2、表、視圖構造轉化現(xiàn)有一個商品銷售表sale,表構造為:month6)sell–月份number(10,2)–月銷售金額現(xiàn)有數(shù)據(jù)為:200001200002200003200004200005200006200007xx0110001100120013001400150016001100xx02xx0112001300想要轉化為以下構造的數(shù)據(jù):year4)–年份month1month2month3month4month5month6month7month8month9month10month11month12number(10,2)number(10,2)number(10,2)number(10,2)number(10,2)number(10,2)number(10,2)number(10,2)number(10,2)number(10,2)number(10,2)number(10,2)月銷售金額月銷售金額月銷售金額月銷售金額月銷售金額月銷售金額月銷售金額月銷售金額月銷售金額–10月銷售金額–11月銷售金額–12月銷售金額構造轉化的SQL語句為:createorreplaceviewvsale(year,month1,month2,month3,month4,month5,month6,month7,month8,month9,month10,month11,month12)asselectsubstrb(month,1,4),sum(decode(substrb(month,5,2),’01′,sell,0)),sum(decode(substrb(month,5,2),’02′,sell,0)),sum(decode(substrb(month,5,2),’03′,sell,0)),sum(decode(substrb(month,5,2),’04′,sell,0)),sum(decode(substrb(month,5,2),’05′,sell,0)),sum(decode(substrb(month,5,2),’06′,sell,0)),sum(decode(substrb(month,5,2),’07′,sell,0)),sum(decode(substrb(month,5,2),’08′,sell,0)),sum(decode(substrb(month,5,2),’09′,sell,0)),sum(decode(substrb(month,5,2),’10′,sell,0)),sum(decode(substrb(month,5,2),’11′,sell,0)),sum(decode(substrb(month,5,2),’12′,sell,0))fromsalegroupbysubstrb(month,1,4);79、CASE語句的用法?Oracle用法很簡單:SELECTlastname,jobid,salaryCASEjobidWHEN‘ITPROG’THEN1.10*salaryWHEN‘STCLERK’THEN1.15*salaryWHEN‘SAREP’THEN1.20*salaryELSEsalaryEND“REVISEDSALARY”FROMemployees80、truncate和的區(qū)別?1、TRUNCATE在各種表上無論是大的還是小的都非???。如果有ROLLBACK命令DELETE將被撤銷,而TRUNCATE那么不會被撤銷。2、TRUNCATE是一個DDL語言而DELETE是DML語句,向其他所有的DDL語言一樣,他將被隱式提交,不能對TRUNCATE使用ROLLBACK命令。3、TRUNCATE將重新設置高水平線和所有的索引。在對整個表和索引進展完全瀏覽時,經(jīng)過TRUNCATE操作后的表比DELETE操作后的表要快得多。4、TRUNCATE不能觸發(fā)觸發(fā)器,DELETE會觸發(fā)觸發(fā)器。5、不能授予任何人清空他人的表的權限。6、當表被清空后表和表的索引講重新設置成初始大小,而那么不能。7、不能清空父表。81、表空間如何擴展?并用語句寫出?兩種擴展方式:a)增加數(shù)據(jù)文件altertablespacetablespacenameadddatafile‘’xxMBb)擴展數(shù)據(jù)文件大小alterdatabasedatafile‘’resizenewMB82、表空間區(qū)管理方式?哪種方式現(xiàn)在是推薦使用的?a)字典管理方式extentmanagementb)本地管理方式extentmanagementlocal[autoallocate/uniformxxmb];83、用什么函數(shù)獲得日期?和日期中的月,日,年tosysdate,’year’):towthsoundsixtosysdate,’yyyy’):xxtosysdate,’month’):8月tosysdate,’mm’):08tosysdate,’day’):星期4tosysdate,’dd’):2284、分區(qū)表的應用?a)一個分區(qū)表有一個或多個分區(qū),每個分區(qū)通過使用范圍分區(qū)、散列分區(qū)、或組合分區(qū)分區(qū)的行b)分區(qū)表中的每一個分區(qū)為一個段,可各自位于不同的表空間中c)對于同時能夠使用幾個進程進展查詢或操作的大型表分區(qū)非常有用85、談談索引的用法及原理?索引是假設干數(shù)據(jù)行的關鍵字的列表,查詢數(shù)據(jù)時,通過索引中的關鍵字可以快速定位到要訪問的記錄所在的數(shù)據(jù)塊,從而大大減少讀取數(shù)據(jù)塊的I/O次數(shù),因此可以顯著提高性能。86、存儲過程的應用,如何既有輸入又有輸出?Createprocedureproname(xxxxin/outtype;yyyyin/out/inouttype;)is/aszzzztype;beginsqlpro;exceptionexceptionxxxxx;mit;end;87、常發(fā)生的異常有哪些?常用預定義例外CURSORALREADYOPEN—ORA-06511SQLCODE=-6511游標已經(jīng)翻開DUPVALONINDEX—ORA-00001SQLCODE=-1違反唯一性約束INVALIDCURSOR—ORA-01001SQLCODE=-1001非法游標操作INVALIDNUMBER—ORA-01722SQLCODE=-1722字符向數(shù)字轉換失敗LOGINDENIED—ORA-01017SQLCODE=-1017NODATAFOUND—ORA-01403SQLCODE=+100沒有找到數(shù)據(jù)NOTLOGGEDON—ORA-01012SQLCODE=-1012沒有連接到數(shù)據(jù)庫PROGRAMERROR—ORA-06501SQLCODE=-6501內(nèi)部錯誤STORAGEERROR—ORA-06500SQLCODE=-6500TIMEOUTONRESOURCE—ORA-00051SQLCODE=-51TOOMANYROWS—ORA-01422SQLCODE=-1422返回多行TRANSACTIONBACKEDOUT—

溫馨提示

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

評論

0/150

提交評論