




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、PL/SQL是過程化/sql的縮寫,是Oracle在sql的基礎(chǔ)之上擴(kuò)展來的一種數(shù)據(jù)庫編程語言,在兼容sql的基礎(chǔ)之上,擴(kuò)充了許多新功能,是 面向過程化語言和sql的結(jié)合。P L/SQL特 點:除了基本的sql之外,包含了控制結(jié)構(gòu)和異常處理,從而具有了sql語句的簡潔性和過程性。-每個sql語句的請求處理,都會引起一次網(wǎng)絡(luò)的傳輸,用戶量一 旦大量增加,可能會導(dǎo)致網(wǎng)絡(luò)堵塞,而PLSQL是將整個語句塊發(fā)送給 數(shù)據(jù)庫服務(wù)器,減少了網(wǎng)絡(luò)通信的數(shù)量,提高了應(yīng)用程序的運行效率。-PLSQL語句是存儲在Oracle服務(wù)器上,可以被其他的 PLSQLg序或者sql調(diào)用。具有很高的重用性。-PLSQL程序語言是
2、一種塊結(jié)構(gòu)語言,PLSQ啲基本代為是塊。P LSQI程序塊有兩種:-匿名塊:沒有名稱,只用一次,不能存儲在數(shù)據(jù)庫中命名塊:指的是保存在數(shù)據(jù)庫中的 P LSQL程序塊,比如我們的存儲過程、函數(shù)和觸發(fā)器塊的基本結(jié)構(gòu):-匿名塊的基本結(jié)果declare -可選 beg inup date dh02t person set p n ame=李四 where p id =14;-exce pti on可選commit;end;declare:聲明部分,用來聲明程序中的變量、類型、游標(biāo)等等。declarepname varchar2 (20):=朱炳宇; beg inup date dh02t_ perso
3、n set p_n ame=pn amewhere p_id =14;-exce pti on可選commit;-提交end;begin:是PLSQl程序的主體部分,一般使用sql語句或者過程化語言來處理特定的操作。exce ptio n:異常的處理部分,用來檢查和處理異常或者錯誤。塊中的每一條語句都需要以分號結(jié)束,一條sql可以分成多行來寫,但是最終只需要一個分號。注釋:在PLSQL中,注釋分為兩種,一種單行注釋“-”,兩外就是多行注釋”/*需要注釋的內(nèi)容*/”范例:向表中插入一筆數(shù)據(jù)并且提交。declare pidnumber(18) ; _pname varchar2 (20); p s
4、ex nu mber( 1);pbirdate;begi n-給變量賦值pid :=20;pname :=姜建民; psex :=1;1988-11-12,yyyy-mm-dd);p bir := to_date(in sert in to dh02t_ perso n( p_id,p_ name,p_sex,p_bir) (pid,pn ame ,p sex ,p bir);commit;-提交valuesend;聲明常量和變量-聲明常量:常量名 constant類型(長度):=值declarepidcon sta ntnumber; 18) :=29;-聲明常量beginpid :=90;
5、-不能再次賦值end;con sta nt:表示的就是固定不變的,就是我們說的常量。聲明之后不允許改變。聲明變量:變量名 類型(長度)(not null)( default | :=)pid number(18) not null default 21;聲明變量和常量中一些規(guī)則:-一行只能聲明一個變量或者常量變量時存儲值的內(nèi)存區(qū)域,用來處理程序中的值,變量名稱不能重復(fù),也不能使用系統(tǒng)關(guān)鍵字。變量名稱以字母開頭(不區(qū)分大小寫),可以由字母,數(shù)字,下 劃線組成。-變量名稱的長度不能超過30個字符-分支結(jié)果在P LSQL中分支分為兩種:-if then els (if then elsif then
6、。 els)-case (whe n。else),是按照順序檢查表達(dá)式的值,如果一旦找到,則跳出case語句。范例:對dh02t_student表中的java_score成績字段做一個等級。50-60:優(yōu),40-50:良,30-40:及格,30以下,掛了-使用第一種語法declarescore nu mber(2); level_score varchar2 (3); begi nselect java_score 查詢的值賦給變量if score = 50 level_score := elsif score = level_score := elsif score = level_scor
7、e := else level_score := end if ;in to score from dh02t_stude nt where stu_id= 1;-將 score the n優(yōu);40 then良;30 thendbms_out put.pu t_li ne(level_score);及格T end;-使用第二種語法:declarescorenu mber(2); level_score varchar2 (3);beg inselect java_score into score from dh02t_student where stu_id= 1;-將 查詢的值賦給變量sco
8、recasewhenscore = 50 then優(yōu);40 then良y-30 then及格7level_score := whe nscore =level_score := whe nscore =level_score := else level_score := end case; dbms_out put. pu t_li ne(level_score); end;-循環(huán)結(jié)果:-簡單循環(huán)loop語句塊;end loop;這種循環(huán)語句沒有終止,必須進(jìn)行人為的控制,一般通常是加入exit或者exit的語句進(jìn)行結(jié)束循環(huán)。-for循環(huán)for循環(huán)的變量inreverse起始值。終止值loop語
9、句塊;end loop;for循環(huán)中,次數(shù)是知道(固定不變的),如果存在reverse,則表示的倒序循環(huán)-while循環(huán)while條件表達(dá)式loop語句塊;end loop;通過條件表達(dá)式來控制循環(huán)的執(zhí)行,如果條件表達(dá)式為真,則執(zhí)行循環(huán),如果為false,則終止循環(huán)。范例:從1+2+3+4+。100,輸出結(jié)果-使用簡單循環(huán)number;5) :=0;-定義循環(huán)相加后的結(jié)果number;3) :=1;-定義循環(huán)的變量declarev_sumv_intbegi nloopv sum := v sum + v int;v int := v int+1;exit whenv int 100;-當(dāng)v i
10、nt 大于 100則退出循環(huán)end loop ;dbms_output.put_line(相加后結(jié)果為:| v_sum);end;-使用for循環(huán)declare v_sum number(5) := 0;beginfor i in 1.100 loo plv sum := v sum +i;end loop ;dbms_output.put_line( 相加后結(jié)果為:| v_sum); end;-使用while循環(huán)declare v_sum number; 5) :=0;-定義循環(huán)相加后的結(jié)果v_intnumber( 3) := 1;-定義循環(huán)的變量begi nwhile v_int =v_c
11、ount_numloopv_co unt_num :=v_co unt_num+ fetch dh02tstudentinto/* fetch dh02tstude nt into stu ;1; stu;exit whe n dh02tstude nt% notfou nd;*/dbms_out pu t. pu t_li ne(stu.stu_id|stu.stu _n m| |stu.stu_no| |stu.java_score|stu.group_nm);end loop ;close dh02tstudent;end;-for循環(huán)declarebeg infor stu in (s
12、elect * from dh02t_student)loopdbms_out put.pu t_li ne(stu.stu_id| u_no| |stu.java_score|end loop;end;|stu.stu_ nm| llstu.gro up_nm);llstu.st這種以上的程序沒有定義游標(biāo),但是完成了游標(biāo)所能完成的功能,就是隱式游標(biāo)。for循環(huán)不僅可以處理隱式游標(biāo),還可以處理顯示游標(biāo)。declarecursor dh02tstudent is select * from dh02t_student; begi nfor stu in dh02tstudent loopdbms_out put.pu t_li ne(stu.stu_id| u_no
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度冰淇淋品牌代理經(jīng)營數(shù)據(jù)監(jiān)測與分析合同
- 2025年度高科技農(nóng)業(yè)項目墊資合同樣本
- 2025年度純凈水電商平臺運營合作協(xié)議范本
- 2025年度網(wǎng)絡(luò)安全風(fēng)險評估與整改合同
- 醫(yī)院文化建設(shè)宣傳與落實方案計劃
- 小班社會性技能培養(yǎng)計劃
- 完美家庭學(xué)期班級家庭教育計劃
- 優(yōu)化項目周期管理的工作總結(jié)計劃
- 制定多層次績效激勵方案計劃
- 2025年金屬制衛(wèi)生、烹飪、餐飲器具項目建議書
- 跨境電商B2B數(shù)據(jù)運營高職PPT全套完整教學(xué)課件
- 鎖骨遠(yuǎn)端骨折伴肩鎖關(guān)節(jié)脫位的治療
- 2023年中國煤化工行業(yè)全景圖譜
- 小學(xué)美術(shù) 四年級 人教版《造型?表現(xiàn)-色彩表現(xiàn)與創(chuàng)作》“色彩”單元美術(shù)作業(yè)設(shè)計《色彩的明與暗》《色彩的漸變》《色彩的情感》
- 2015年新版《中華人民共和國職業(yè)分類大典》
- 中國心臟重癥鎮(zhèn)靜鎮(zhèn)痛專家共識專家講座
- 企業(yè)生產(chǎn)制造部門預(yù)算編制模板
- 新概念英語第二冊單詞默寫表
- 教育心理學(xué)智慧樹知到答案章節(jié)測試2023年浙江師范大學(xué)
- 川教版七年級生命生態(tài)安全下冊第1課《森林草原火災(zāi)的危害》教案
- 食品檢驗檢測機(jī)構(gòu)能力建設(shè)計劃方案
評論
0/150
提交評論