电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Oracle(培训班带出来)VIP免费

Oracle(培训班带出来)_第1页
Oracle(培训班带出来)_第2页
Oracle(培训班带出来)_第3页
PL/SQL简介Oracle公司在标准SQL语言的基础上发展出了PL/SQL(ProceduralLanguage/SQL,即过程化SQL语言)语言,将变量、控制结构、过程和函数等结构化程序设计的要素引入SQL语言中,这样就能够编写出较复杂的SQL程序了。以bdyd的身份登录,创建一个用户表testtablecreatetabletesttable(recordNumbernumber(4)notnull,currentDatedatenotnull);向上述数据库表中插入100条记录setserveroutputondeclaremaxrecordsconstantint:=100;inumber:=1;beginforiin1..maxrecordsloopinsertintotesttable(recordnumber,currentdate)values(i,sysdate);endloop;dbms_output.put_line('成功录入数据!');commit;end;其中,dbms_output为系统默认的程序包,put_line是包中定义的方法,功能是输出信息。PL/SQL程序结构结合上述实例进行分析,一个完整的PL/SQL程序的结构可以分成以下3部分:1定义部分:以declare开始,定义在程序中所要使用的常量、变量等等。它不像高级语言那样可以在程序执行过程中进行定义,所有用到的内容都必须在declare中进行定义。2执行部分:以begin开始,以end结束,中间部分是对数据库的操作语句和各种流程控制语句。3异常处理部分:该部分包含在执行部分里面,以exception标识,该部分用来对应用程序产生的例外进行处理。一个完整的PL/SQL的结构declare定义部分begin执行部分exception异常处理部分end在上述3部分中,只有begin...end部分是不可缺少的1)begin...end部分setserveroutputonbegindbms_output.put_line('helloworld');end;2)declare部分setserveroutputondeclarev_stuNamevarchar2(20);beginv_stuName:='zhangsan';dbms_output.put_line(v_stuName);end;declarev_stuNamevarchar2(20)notnull:='lisi';begincommit;end;3)exception异常处理部分setserveroutputondeclarev_numnumber:=0;beginv_num:=9/v_num;dbms_output.put_line(v_num);exceptionwhenothersthendbms_output.put_line('error');end;常量常量的定义:常量名constant数据类型:=值示例:declarePIconstantnumber(9):=3.1415926;begincommit;end;变量1基本数据类型变量的定义:变量名数据类型[notnull]:=初始值示例:declareagenumber(3):=25;begincommit;end;2复合数据类型变量:法一:使用%type定义变量为了让变量的类型和数据库表中字段的数据类型一致,Oracle9i提供了%type的定义方法。这样当数据库表中字段的类型修改后,PL/SQL程序中相应变量的类型也自动修改。示例:declaremydatetesttable.currentDate%type;begincommit;end;法二:记录类型变量很多结构化程序设计语言都提供了记录类型的数据类型,在PL/SQL中,也支持将多个基本数据类型捆绑在一起的记录数据类型。示例:declaretypestuInfoisrecord(stuNamevarchar2(20),stuAgenumber,birthdaydate);myInfostuInfo;beginmyInfo.stuName:='zhangsan';myInfo.stuAge:=25;myInfo.birthday:=sysdate;dbms_output.put_line(myInfo.birthday);end;法三:使用%rowtype定义变量使用%type可以使得变量的类型和数据库表中字段的类型一致,而使用%rowtype可以使得变量的类型和整个记录的类型一致。declaremytabletesttable%rowtype;beginselect*intomytablefromtesttablewhererecordnumber=99;dbms_output.put_line(mytable.currentdate);end;declaremydeptdept%rowtype;beginselect*intomydeptfromdeptwheredeptno=10;dbms_output.put_line(mydept.loc);end;在上述示例中,定义了一个变量mytable,它的类型和数据库表testtable的结构相同。表达式常量,变量经常要组合成表达式来进行各种运算,下面介绍在PL/SQL中常见表达式的运算规则。1算术表达式:算术运算符:+-*/**示例:setserveroutputondeclareresultnumber;beginresult:=10+4*5+5**2;dbms_output.put_line('运算结果是'||to_char(result));end;declareareanumber;radiusnumber:=3;beginarea:=3.14*radius*radius;dbms_output.put_line(area);end;还有关系表达式、逻辑表达式等等。条件控制1)if……elseif条件then语句段1else语句段2endif;示例:setserveroutputondeclarenumber1number:=90;numbe...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部