資源描述:
《《oracle補(bǔ)充》PPT課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、PL-SQL編程目標(biāo)掌握如何定義變量并賦值掌握如何輸出顯示數(shù)據(jù)掌握IF、WHILE、CASE邏輯控制語句2PL/SQL塊PL/SQL程序由三個(gè)塊組成,即聲明部分、執(zhí)行部分、異常處理部分。PL/SQL塊的結(jié)構(gòu)如下:DECLARE/*聲明部分:在此聲明PL/SQL用到的變量,類型及游標(biāo),以及局部的存儲(chǔ)過程和函數(shù)*/BEGIN/*執(zhí)行部分:過程及SQL語句,即程序的主要部分*/EXCEPTION/*執(zhí)行異常部分:錯(cuò)誤處理*/END;其中執(zhí)行部分是必須的。3注釋在PL/SQL里,可以使用兩種符號(hào)來寫注釋,即:使用雙‘-‘(減號(hào))加注釋PL/SQL允許用–來寫注釋,它的作用范圍是只能在一行有效。
2、如:V_SalNUMBER(12,2);--工資變量。使用/**/來加一行或多行注釋,如:/***********************************************//*文件名:statistcs_sal.sql*//***********************************************/4PL/SQL變量類型PL/SQL支持多種數(shù)據(jù)類型,本節(jié)討論代碼中最常用并且最實(shí)用的數(shù)據(jù)類型。Varchar2NumberDateBoolean5Varchar2Varchar2為可變長(zhǎng)的字母數(shù)字?jǐn)?shù)據(jù)類型。在PL/SQL中,varchar2的最大長(zhǎng)度為32
3、767字節(jié)。在declare部分,其定義以分號(hào)(;)結(jié)束,所有varchar2變量的定義類似于下面的定義:variable_namevarchar2(max_length);括號(hào)中的長(zhǎng)度值為本變量的最大長(zhǎng)度且必須是正整數(shù),如:vc_fieldvarchar2(10);在定義變量時(shí),可以同時(shí)對(duì)其進(jìn)行初始化,格式為:vc_fieldvarchar2(10):='STARTVALUE';6Numbernumber類型數(shù)據(jù)可用來表示所有的數(shù)值數(shù)據(jù),說明格式為:num_fieldnumber(precision,scale);其中,precision可以有1~38個(gè)數(shù)字位,而scale表示在pr
4、ecision位數(shù)字中小數(shù)點(diǎn)后的數(shù)字位數(shù),下面的定義:num_fieldnumber(12,2);表示num_field是一個(gè)整數(shù)部分最多10位、小數(shù)部分最多2位的變量。7Date此數(shù)據(jù)類型用于保存固定長(zhǎng)度的日期值,date變量的說明為:date_fielddate;在缺省時(shí),Oracle以DD-MON-YY格式顯示日期。因此,2004年9月9日顯示為09-SEP-04。PL/SQL中編程處理日期必須使用這種格式。是否可以說用戶必須用數(shù)據(jù)庫缺省的日期格式,除非用戶用TO_CHAR或TO_DATE是否能提醒用戶用自己的TO_DATE/TO_CHAR定義的格式而不依賴于缺省的日期格式。格式
5、由初始化參數(shù)nls_date_format設(shè)置也可通過set設(shè)置altersessionsetnls_date_format='yyyy-mm-ddhh24:mi:ss'8Boolean這種數(shù)據(jù)類型只有兩個(gè)值:true或false。在使用boolean變量時(shí),如果測(cè)試結(jié)果為true,則做某事,否則做另外的事。例如,如果試圖考察某公司是否分發(fā)了一個(gè)10KB的2000年年度預(yù)算表,可用boolean變量。若該公司分發(fā)了此表,則該變量值為true。布爾值只有TRUE,FALSE及NULL三個(gè)值9類型子類說明范圍ORACLE限制CHARCharacterStringRowidNchar定長(zhǎng)字
6、符串民族語言字符集0?32767可選,確省=12000VARCHAR2Varchar,StringNVARCHAR2可變字符串民族語言字符集0?3276740004000BINARY_INTEGER帶符號(hào)整數(shù),為整數(shù)計(jì)算優(yōu)化性能NUMBER(p,s)DecDoubleprecisionIntegerIntNumericRealSmallint小數(shù),NUMBER的子類型高精度實(shí)數(shù)整數(shù),NUMBER的子類型整數(shù),NUMBER的子類型與NUMBER等價(jià)與NUMBER等價(jià)整數(shù),比integer小LONG變長(zhǎng)字符串0->214748364732,767字節(jié)DATE日期型公元前4712年1月1日至
7、公元后4712年12月31日BOOLEAN布爾型TRUE,FALSE,NULL不使用ROWID存放數(shù)據(jù)庫行號(hào)UROWID通用行標(biāo)識(shí)符,字符類型10變量(1)聲明變量聲明變量的語句格式如下:Variable_name[CONSTANT]datatype[NOTNULL][:=
8、DEFAULTexpression]注意:可以在聲明變量的同時(shí)給變量強(qiáng)制性的加上NOTNULL約束條件,此時(shí)變量在初始化時(shí)必須賦值。(2)給變量賦值給變量賦值有兩種方式:①