第02章 通用編程語言基礎(chǔ)_第1頁
第02章 通用編程語言基礎(chǔ)_第2頁
第02章 通用編程語言基礎(chǔ)_第3頁
第02章 通用編程語言基礎(chǔ)_第4頁
第02章 通用編程語言基礎(chǔ)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章通用編程語言基礎(chǔ)本章目標(biāo)掌握PL/SQL編程基礎(chǔ)知識(shí)2.1PL/SQL編程基礎(chǔ)字符類型PL/SQL引擎支持4中類型的字符:字母、數(shù)字、符號(hào)和空格。詞匯單元標(biāo)識(shí)符保留字定界符字面值注釋標(biāo)識(shí)符標(biāo)識(shí)符是為PL/SQL對(duì)象(例如變量、游標(biāo)等)和數(shù)據(jù)庫對(duì)象(包括存儲(chǔ)過程、函數(shù)和包等)提供命名標(biāo)識(shí)的。標(biāo)識(shí)符的命名規(guī)范:必須以字母開頭;最多包含30個(gè)字符;不能包含標(biāo)點(diǎn)符號(hào)、空格或連字符號(hào)(“-”)可以包含下列字符:“$”、“#”、“_”以及全部數(shù)字字符,但這些字符不能作為名稱的第一個(gè)字符。例如,以下幾個(gè)標(biāo)識(shí)符

My-Procedure 1Variable cursor#1 Fuction_@_name

都是非法標(biāo)識(shí)符!標(biāo)識(shí)符注意:標(biāo)識(shí)符不區(qū)分字符的大小寫;引用標(biāo)識(shí)符(用雙引號(hào)“”括起來的標(biāo)識(shí)符)區(qū)分字符的大小寫。例如,以下三個(gè)標(biāo)識(shí)符

abc Abc “Abc”

前兩個(gè)標(biāo)識(shí)符的名稱在使用時(shí)一樣,而第3個(gè)標(biāo)識(shí)符與前兩個(gè)不一樣。保留字保留字是PL/SQL專用的詞。注意:避免在程序中誤用保留字定義變量。獲取當(dāng)前系統(tǒng)所使用的全部保留字setpages9999colkeywordFORMATA30selectkeyword,lengthfromv$reserved_wordswhere(length>1orkeyword='A')andkeyword!='<<'orderbykeyword;注意:需要以SYSDBA或SYSOPER的身份運(yùn)行!2.1PL/SQL編程基礎(chǔ)字符類型PL/SQL引擎支持4中類型的字符:字母、數(shù)字、符號(hào)和空格。詞匯單元標(biāo)識(shí)符保留字定界符對(duì)PL/SQL有特殊含義的字符,如,算術(shù)運(yùn)算符等。字面值注釋字面值字面值指的是沒有使用標(biāo)識(shí)符進(jìn)行描述字符、字符串、數(shù)字、布爾和日期/時(shí)間等類型的值。字符與字符串使用單引號(hào)括起來,并且區(qū)分大小寫。使用兩個(gè)單引號(hào)替換字符串中的單個(gè)單引號(hào)。 如,dbms_output.put_line('I''mastudent.');使用q’[…]’語法,自定義字符串字面值的分隔符。其中的中括號(hào)代表自定義的分隔符。 如,dbms_output.put_line(q'!I'mastudent.!');字面值數(shù)字可以分為整數(shù)值字面值和實(shí)數(shù)值字面值。整數(shù)值和實(shí)數(shù)值前面都可以使用表示正負(fù)的加號(hào)(+)或減號(hào)(-)。整數(shù)值和實(shí)數(shù)值都可以使用科學(xué)計(jì)數(shù)法表示。 如,1000、1000.0、1E3、-2.5布爾值在PL/SQL中可以使用的布爾值:TRUE、FLASE和NULL。布爾字面值不用單引號(hào)?!纠?-1】注意區(qū)分字面值的類型。declarev_var1varchar2(20);v_var2varchar2(6);v_var3number(5,3);beginv_var1:='String';v_var2:='12.345';v_var3:=12.345;dbms_output.put_line('v_var1:'||v_var1);dbms_output.put_line('v_var2:'||v_var2);dbms_output.put_line('v_var3:'||v_var3);end;--字符串字面值--字符串字面值--數(shù)值字面值2.1PL/SQL編程基礎(chǔ)字符類型PL/SQL引擎支持4中類型的字符:字母、數(shù)字、符號(hào)和空格。詞匯單元標(biāo)識(shí)符保留字定界符字面值注釋單行注釋(--)多行注釋(/**/)PL/SQL變量基本概念變量是在PL/SQL塊中存儲(chǔ)數(shù)據(jù)的內(nèi)存區(qū)域,用來保存臨時(shí)值。在PL/SQL塊的聲明部分定義。如果沒有給變量賦初始值,則值為NULL。語法varibale_name[CONSTANT]date_type [NOTNULL][:=value];使用Anchored數(shù)據(jù)類型%TYPE如果聲明的變量基于某個(gè)數(shù)據(jù)庫對(duì)象,可以直接將這個(gè)變量錨定到這個(gè)數(shù)據(jù)庫對(duì)象上。聲明的語法:varibale_nametype_attribute%TYPE;declareemp_nameemp.ename%TYPE;my_nameemp_name%TYPE;例如,變量emp_name的數(shù)據(jù)類型與emp表的ename列的數(shù)據(jù)類型保持一致。變量my_name的數(shù)據(jù)類型與變量emp_name的數(shù)據(jù)類型保持一致。使用Anchored數(shù)據(jù)類型%ROWTYPE%ROWTYPE是將變量錨定到表的所有列。聲明的語法:varibale_nametable_name%ROWTYPE;declarev_deptdept%ROWTYPE;……例如,變量dept_info實(shí)際上包含有以下定義:deptnoNUMBER(2)dnameVARCHAR2(14)locVARCHAR2(13)【例2-2】使用%ROWTYPE檢索部門信息declarev_deptdept%ROWTYPE;beginselect*intov_deptfromdeptwheredeptno=10;dbms_output.put_line('部門編號(hào):'||v_dept.deptno);dbms_output.put_line('部門名稱:'||v_dept.dname);dbms_output.put_line('所在地:'||v_dept.loc);end;輸出結(jié)果:部門編號(hào):10部門名稱:ACCOUNTING所在地:NEWYORK變量的作用范圍變量的作用范圍是可以訪問變量,或者變量可見的程序片斷。通常,變量的作用范圍是聲明當(dāng)前該變量的語句塊。在嵌套語句塊中,變量的作用范圍是從嵌套語句塊的聲明部分,一直到結(jié)束部分。舉例...xBINARY_INTEGER;BEGIN...DECLAREyNUMBER;BEGIN...END;...END;x的作用范圍y的作用范圍【例2-4】分析下面代碼,給出輸出結(jié)果。<<outer_block>>declarev_testnumber:=123;begindbms_output.put_line('OuterBlock,v_test:'||v_test);

<<inner_block>>declarev_testnumber:=456;begindbms_output.put_line('InnerBlock,v_test:'||v_test);dbms_output.put_line('InnerBlock,outer_block.v_test:'||outer_block.v_test);

endinner_block;endouter_block;

輸出結(jié)果:OuterBlock,v_test:123InnerBlock,v_test:456InnerBlock,outer_block.v_test:123DECLAREV_SAL NUMBER(7,2):=60000;V_COMM NUMBER(7,2):=V_SAL*.20;V_MESSAGE VARCHAR2(255);BEGINDECLAREV_SAL NUMBER(7,2):=50000;V_COMM NUMBER(7,2):=0;V_TOTAL_COMP NUMBER(7,2):=V_SAL+V_COMM;BEGINV_MESSAGE:=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論