如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第5讲ORACLE编程基础(二)主要内容一、IF_THEN_ELSE语句语法:IFconditionTHENStatements1;Statements2;....ELSEStatements1;Statements2;....ENDIF一、IF_THEN_ELSE语句语法示例如下:declareanumber;bnumber;begina:=3;b:=4;ifa>bthendbms_output.put_line(a||'大于'||b);elsedbms_output.put_line(a||'小于'||b);endif;end;下面的例子是查询是否有该学生的成绩,没有就添加进来,将所有科目成绩都置为0。DECLAREcounternumber(2);math_scorenumber(3,0);chinese_scorenumber(3,0);BEGINSELECTcount(*)INTOcounterFROMscore_tableWHEREname='陈静';IFcounter<>0THENSELECTmaths,chineseINTOmath_score,chinese_scoreFROMscore_tableWHEREname='陈静';DBMS_OUTPUT.PUT_LINE(math_score);DBMS_OUTPUT.PUT_LINE(chinese_score);ELSEINSERTINTOscore_tableVALUES(1,'陈静','3(1)',0,0);ENDIF;END;IF可以嵌套,可以在IF或IF..ELSE语句中使用IF或IF..ELSE语句。程序中的DBMS_OUTPUT是Oracle内置包,该包允许使用SQL*Plus和SQLPlus工作单从PL/SQL中显示输出信息。DBMS_OUTPUT.PUT_LINE允许显示一行文本,该过程接受要接受一个变量,该变量可以是字符串类型、数值类型或者日期类型。它在调试程序中非常有用,在使用之前需要在SQLPlus中设置,用SET命令将SERVEROUTPUT置为ON即可。二、IF_THEN_ELSIF语句IFcondition1THENstatement1;ELSIFcondition2THENstatement2;ELSIFcondition3THENstatement3;ELSEstatement4;ENDIF;statement5;下面的示例判断某一年是否为闰年,闰年判断条件:年号能被4整除但是不能被100整除,或者能被400整除。declareyear_datenumber;leapboolean;beginyear_date:=2008;ifmod(year_date,4)<>0thenleap:=false;elsifmod(year_date,100)<>0thenleap:=true;elsifmod(year_date,400)<>0thenleap:=false;elseleap:=true;endif;ifleapthendbms_output.put_line(year_date||'是闰年');elsedbms_output.put_line(year_date||'是平年');endif;end;下面的例子演示了判断某同学在表记录中是否存在,如果存在,再根据该同学的成绩增加学费或者减免学费,例子中IF_THEN_ELSIF语句嵌套在IF_THEN_ELSE语句中.DECLAREcounternumber(2);math_scorenumber(3,0);chinese_scorenumber(3,0);BEGINSELECTcount(*)INTOcounterFROMscore_tableWHEREname='邓超';IFcounter<>0THENSELECTmaths,chineseINTOmath_score,chinese_scoreFROMscore_tableWHEREname='邓超';IFmath_score>95ANDchinese_score>95THENUPDATEstudent_feeSETallfee=allfee-100WHEREname='邓超';ELSIFmath_score>90ANDchinese_score>90THENUPDATEstudent_feeSETallfee=allfee-50WHEREname='邓超';ELSIFmath_score<60ORchinese_score<60THENUPDATEstudent_feeS