火龍果軟件PLSQL教程_第1頁(yè)
火龍果軟件PLSQL教程_第2頁(yè)
火龍果軟件PLSQL教程_第3頁(yè)
火龍果軟件PLSQL教程_第4頁(yè)
火龍果軟件PLSQL教程_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一章SQL、PL/SQL概要Oracle產(chǎn)品集SQL、PL/SQL和SQL*PlusSQL命令集Oracle產(chǎn)品集數(shù)據(jù)操作系統(tǒng)Oracle8SQL、PL/SQL工具應(yīng)用產(chǎn)品SQL、PL/SQL和SQL*PlusSQL與Oracle服務(wù)器進(jìn)行通信的一種語(yǔ)言SQL*PlusOracle的工具,用來(lái)執(zhí)行SQL和PL/SQL代碼PL/SQLOracle擴(kuò)展SQL的一種結(jié)構(gòu)化語(yǔ)言

SQL命令集數(shù)據(jù)獲取

select數(shù)據(jù)維護(hù)

insert、update、delete數(shù)據(jù)定義

create、alert、drop、rename、truncate事務(wù)處理控制

commit、rollback、savepoint數(shù)據(jù)控制語(yǔ)言

grant、revoke第二章數(shù)據(jù)查詢簡(jiǎn)單的數(shù)據(jù)查詢單行數(shù)據(jù)函數(shù)多表數(shù)據(jù)查詢組函數(shù)子查詢簡(jiǎn)單數(shù)據(jù)查詢

基本結(jié)構(gòu):Select[distinct]{*,column[alias],……}Fromtable;Select:選擇要查詢的數(shù)據(jù)列From:數(shù)據(jù)列所在的表算術(shù)表達(dá)式加 +減 -乘 *除 /例如:Selectcolumn1*12,column2+column3,……Formtable(注:column1,column2及column3必須是number類型)字符串和空處理I.字符串連接Selectcolumn1||column2||’字符串‘,……FromtableII.空操作NVL(expr1,expr2)例:NVL(start_date,sysdate)NVL(name,’NOname’)NVL(base_salary,1000)顯示表結(jié)構(gòu)Desc[ribe]tablenameI.語(yǔ)法:II.數(shù)據(jù)類型:數(shù)據(jù)類型說(shuō)明Number(p,s)類似浮點(diǎn)型,最大精度p,小數(shù)位s位Varchar2(s)可變長(zhǎng)字符類型date日期型Char(s)定長(zhǎng)字符型SQL*Plus編輯命令A(yù)[PPEND]textC[HANGE]/old/newCL[EAR]BUFF[ER]DELI[NPUT]textL[IST]nNtextSQL*Plus文件命令SAVEfilenameGETfilenameSTARTfilename@filenameEDITfilenameSPOOLfilenameEXITSQL*Plus格式輸出I.格式COL[UMN][{column|alias}[option……]]II.選項(xiàng)CLE[AR]、FOR[MAT]、HEA[DING]text、JUS[TIFY]{align}、NOPRI[NT]、NUL[L]textPRI[NT]、TRU[NCATED]、WRA[PPED]WOR[D_WRAPPED]控制數(shù)據(jù)輸出SELECTexprFROMtable[WHEREcondition(s)][ORDERBYexpr]I.語(yǔ)法II.比較和邏輯操作=、>、>=、<、<=Between…and…、in、like、isnullAnd、or、not函數(shù)的使用字符函數(shù)LOWERUPPERINITCAPCONCATSUBSTRLENGTHNVL數(shù)值函數(shù)ROUNDTRUNCMOD例:ROUND(45.49,1)45.5TRUNC(45.49,1)45.4MOD(700,400)300日期函數(shù)MONTH_BETWEENADD_MONTHSNEXT_DAYLAST_DAYROUNDTRUNC例:NEXT_DAY(SYSDATE)ADD_MONTH(SYSDATE,-3)轉(zhuǎn)換函數(shù)TO_CHAR(number/date,[‘fmt])TO_NUMBER(char)TO_DATE(char,[‘fmt’])例:TO_CHAR(SYSDATE,‘YYYY-MM-DDHH24:MI:SS’)TO_DATE(‘2001-Jan-03’,‘YYYY-Mon-DD’)TO_NUMBER(‘23435’)多表數(shù)據(jù)查詢連接表別名的使用非等號(hào)連接外連接自連接連接SELECTtable.column,table.column……FROMtable1,table2WHEREtable1.column1=table2.column2表別名SELECTT1.column,T2.column……FORMtable1T1,table2T2WHERE T1.column1=T2.column2……非等號(hào)連接即不使用等號(hào)來(lái)連接計(jì)兩個(gè)或兩個(gè)以上的表例如:使用>=、<、between……外連接對(duì)于兩個(gè)表,若記錄不能一一連接,而又不想漏掉數(shù)據(jù),可使用外連接:SELECTtable.column,table.columnFROMtable1,table2WHEREtable1.column=table2.column(+)自連接對(duì)于某些情況,必須要有表自身的連接,這是可利用表別名的作用,完全看作兩個(gè)不同的表:例:SELECTT1.column1,T1.column1+T2.column2FROMtableT1,tableT2WHERE[conditions]組函數(shù)SELECTcolumn,group_functionFROMtable[WHEREcondition][GROUPBYgroup_by_expr][HAVINGgroup_condition][ORDERBYcolumn……]*GROUPBY:對(duì)列進(jìn)行分組*HAVING:條件限制組查詢常用組函數(shù)AVGCOUNTMAXMINSTDDEVSUMVARIANCE子查詢SELECT select_listFROM tableWHEREexproperator(SELECTselect_listFROMtable)注:Expr與子查詢的select_list有相應(yīng)的結(jié)構(gòu)和數(shù)據(jù)類型子查詢無(wú)orderby語(yǔ)句子查詢必須在operator的右面第三章數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)周期數(shù)據(jù)庫(kù)關(guān)聯(lián)約束創(chuàng)建表、視圖、序列、索引Oracle數(shù)據(jù)字典系統(tǒng)開(kāi)發(fā)周期分析,策略設(shè)計(jì)開(kāi)發(fā)和創(chuàng)建文檔測(cè)試產(chǎn)品化數(shù)據(jù)關(guān)聯(lián)第一范式(1NF)第二范式(2NF)第三范式(3NF)約束PrimaryKey(PK)ForeignKey(FK)NotNULLUniqueCheck創(chuàng)建表CREATETABLE[schema.]table(columndatatype[DEFAULTexpr][column_constraint],……[table_constraint ]);Schema 所有者標(biāo)識(shí)Table 表名Column 列名Datatype 列的數(shù)據(jù)類型Column_constraint 列約束Table_constraint 表約束創(chuàng)建序列CREATESEQUENCEsequence [INCREMENTBY n] [STARTWITHn] [{MAXVALUEn|NOMAXVALUE}] [{MINVALUEn|NOMINVALUE}] [{CYCLE|NOCYCLE}] [{CACHEn|NOCACHE}]創(chuàng)建視圖CREATE[ORREPLACE][FORCE|NOFORCE]VIEWview [(alias[,alias]…)]AS subsequery[WITHCHECKOPTION[constraint]][WITHREADONLY]注:I.Subquery可以是非常復(fù)雜的select語(yǔ)句II.Subquery不能包含ORDERBY語(yǔ)句創(chuàng)建索引自動(dòng)創(chuàng)建 在創(chuàng)建表時(shí),若包含PrimaryKey或者其他唯一約束時(shí),一個(gè)唯一索引就自動(dòng)創(chuàng)建立了手動(dòng)創(chuàng)建 用戶可以創(chuàng)建非唯一的索引來(lái)提高檢索速度CREATEINDEXindexONtable(column[,column]…);何時(shí)建立索引:列經(jīng)常在where或連接中使用列包含了一個(gè)大范圍的值列包含了大量的空值兩個(gè)或多個(gè)列常常在where或連接中一起被使用表的數(shù)據(jù)量大,而常常檢索其中的2-4%太多的索引并不總是能提高檢索速度Oracle數(shù)據(jù)字典四大類視圖: -user 用戶擁有的對(duì)象 -all 用戶可訪問(wèn)對(duì)象 -DBA 所有數(shù)據(jù)對(duì)象 -v$ 服務(wù)器性能對(duì)象其他視圖: -DICTIONARY -TABLE_PRIVILEGES -IND第四章PL/SQL簡(jiǎn)單PL/SQL匿名塊、過(guò)程和函數(shù)游標(biāo)PL/SQL控制流出錯(cuò)處理PL/SQL結(jié)構(gòu)DECLARE-可選項(xiàng) -變量,常數(shù),游標(biāo),用戶定義的例外BEGIN-Mandatory -SQL語(yǔ)句 -PL/SQL控制語(yǔ)句EXCEPTION–可選項(xiàng) -例外處理END;

匿名塊,過(guò)程和函數(shù)I.匿名塊[DECLARE]BEGIN --語(yǔ)句[EXCEPTION]END;II.過(guò)程PROCEDUREnameisBEGIN --語(yǔ)句[EXCEPTION]END;III.函數(shù)FUNCTIONnameRETURNdatatypeISBEGIN--語(yǔ)句RETURNVALUE[EXCEPTION]END;參數(shù)和變量類型INArgumentOUTArgumentINOUTArgumentI.參數(shù)II.變量類型Binary_integerNumberCharLongLongrawVarchar2Dateboolean數(shù)據(jù)獲取SELECT select_listINTO variable_name|record_nameFROM tableWHERE condition;INTO語(yǔ)句時(shí)必須的Select只有一行數(shù)據(jù)返回Select_list不能為簡(jiǎn)寫(xiě)(eg.*)SQL游標(biāo)顯式有標(biāo)隱式有標(biāo)SQL%ROWCOUNT 檢索行數(shù)SQL%FOUND Boolean型SQL%NOTFOUND Boolean型SQL%ISOPEN PL/SQL控制流I.IF語(yǔ)句IFcondition THEN

語(yǔ)句;[ELSEIFconditionTHEN

語(yǔ)句;][ELSE

語(yǔ)句;]ENDIF;II.LOOP語(yǔ)句(1)LOOP

語(yǔ)句;

EXIT[WHENcondition];Endloop(2)FORindexin[REVERSE] lower_bound..upp

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論