欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    oracle实验指导书之全本.docx

    • 资源ID:1417449       资源大小:91.81KB        全文页数:68页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    oracle实验指导书之全本.docx

    Orac1e数据库实验指导段华斌编著计算机与通信工程系实验一实验名称:数据库的管理实验学时:2实验目的:1)了解OraCle数据库的逻辑结构和物理结构。2)熟悉Oracle的命令操作环境SQ1.*P1.USo3)了解启动和关闭数据库的不同方式及其优缺陷。4)熟悉掌握各种启动、关闭方式。实验内容及环节:1、SQ1.*Phs的启动与关闭(一)SQ1.*Plus的启动当登录到操作系统后,有三种方法启动SQ1.*Plus.方法一:(1)执行“开始"1'程序OraCle-OmDbIlgj)Omer应用程序开发J“SQ1.Plus”命令,打开SQ1.PlUS窗口,显示登录界面。(2)在登录界面中将提醒输入用户名,根据提醒输入相应的用户名和口令(例如system和admin)后按Entel键,SQ1.*Plus将连接到默认数据库。(3)连接到数据库之后,显示SQ1.提醒符,可以输入相应的SQ1.命令。方法二:(1)执行“开始J”程序J”附件J”命令提醒符",打开命令提醒符窗口。(2)输入命令:Sqlplus/nologConnectsys-assysdba方法三:(1)执行“开始”一“程序”一“附件”一“命令提醒符",打开命令提醒符窗口。(2)输入命令:sqlplus用户名/口令assysdba。(二)断开与数据库的连接SQ1.>DISCONNECT(三)退出SQ1.*PlusSQ1.>EXIT或:SQ1.>Quit(四)启动sqlplus,也许的故障0RA-12560导致ORAT2560:TNS:协议适配器错误的问题的因素有三个:(1)监听服务没有起起来。WindOWS平台个一如下操作:开始一-程序-管理工具一服务,打开服务面板,启动TNSliStener服务。(2)databaseinstance没有起起来。WindOWS平台如下操作:开始程序管理工具-服务,打开服务面板,启动OraCleSerViCeXXXX,XXXX就是你的databaseSID.(3)进入Sqlplus前,在commandline下输入setoraclesid=XXXX,XXXX就是你的databaseSTDo2、使用ShUtdOWlI命令关闭数据库练习使用shutdown命令关闭数据库实例,分别按以下方式启动数据库实例。(1)正常关闭。等待当前所有已连接的用户断开与数据库的连接,然后关闭数据库。正常关闭的语句如下:SHUTDOWNNORMA1.(2)立即关闭。问退活动事务解决并断开所有已连接的用户,然后关闭数据库。立即关闭语句如下:SHUTDOWNIMMEDIATE(3)事务关闭:完毕事务解决后断开所有已连接的用户,然后关闭数据库。事务解决关闭语句如下:SHUTDOWNTRANSACTIONA1.(4)中止关闭:中止数据库实例,立即关闭数据库。中止关闭的语句如下:SHUTDOWNABORT3、使用StartUP命令启动数据库练习使用STARTUP命令启动数据库实例,分别按以下方式启动数据库实例。(1)启动数据库实例时不装载数据库。执行此操作的命令如下:Startupnomount(2)启动数据库实例,装载数据库,但不打开数据库。通常在数据库维护时执行此操作,相应的命令如下:STARTUPMOUNT(3)启动后限制对数据库实例的访问。执行此操作的命令如下:Startuprestrict(4)强制实例启动。在碰到特殊异常的情况时,可以强制启动实例。强制启动实例的语句如下:STARTUPFORCE4.改变数据库的状态(1)装载数据库实例。在执行某些管理操作时,数据库必须启动、装载一个实例,但此时数据库处在关闭状态。A1.TERDATABASEMOUNT(2)打开已关闭的数据库。A1.TERDATABASEOPEN(3)以只读方式打开数据库。A1.TERDATABASEOPENREADON1.Y思考题:1、在数据库的nomount、mountOPCn三种模式下,分别打开数据库的什么文献?2、当关闭数据库时使用ShUtdoWn命令,好久没有关闭,随即将“命令提醒符”窗口关闭,之后重新“启动命令提醒符”并登录SQ1.*P1.US,使用shutdownimmediate关闭数据库出现如下问题如何解决?0RA-24324:未初始化服务句柄0RA-24323:不允许此值ORA-01090:正在关闭-不允许连接3、如何把数据库从nomount状态改为mount状态?实验二实验名称:日记文献的管理实验学时:2实验目的:1)了解日记文献的作用。2)了解管理重做日记文献的准则。3)掌握重做日记文献组及成员的添加、清除、删除等操作方法。实验内容及环节:重做日记文献对于OraCle数据库来说是至关重要的,OraCIe数据库的变化,都会生成相应的重做日记,这些日记被记录在重做日记文献中。1、重做日记文献的查看(1)查看数据库各组联机重做日记文献的日记序列号:SQ1.>ARCHIVE1.OG1.IST;SQ1.>SE1.ECTGROUP#,SEQUENCE#FROMV$1.OG;(2)查看日记文献组的状态:SQ1.>SE1.ECTGROUP#,STATUSFROMVS1.OG;(3)查看重做日记组及其成员的基本信息:SQ1.>SE1.ECTGROUP#,STATUS,MEMBERFROMV$1.OGFI1.E;2、添加重做日记文献组SQ1.>A1.TERDATABASEADD1.OGFI1.E2 GROUP4('E:REDO04_I.1.OG')3 SIZE10M;3、添加重做日记文献组的成员方法一:SQ1.>A1.TERDATABASEADD1.OGFI1.EMEMBER2 'E:REDO04_2.1.OG'3 TOGROUP4;方法二:假如不知道组编号,可以通过下述操作向组中其他成员的名称来添加新的成员:SQ1.>A1.TERDATABASEADD1.OGFI1.EMEMBER4 'E:REDO04_3.1.OG'5 TO6 ('E:REDO04_l.log',''E:REDO04_2.log');查询v$log可以看到添加完毕后的结果:SQ1.>SE1.ECTGROUP#,MEMBERS,STATUS,F1RST_TIMEFROMV$1.OG;4、删除重做日记文献组成员:SQ1.>AEERDATABASEDROP1.OGFI1.EMEMBER,E:REDO04_3.1.OG,;5、删除重做日记文献组:SQ1.>A1.TERDATABASEDROP1.OGFI1.EGROUP4;也许的错误信息:Ora-(H623旧记10是实例OrCl的当前日记。解决方法:SQ1.>altersystemswitchlogfile;SQ1.>select*fromv$log;交替日记文献组,假如多次切换后想要删除的重做日记组状态依旧是active的时候可以重启动一下数据库。6、清除重做日记文献组:SQ1.>A1.TERDATABASEC1.EAR1.OGFI1.EGROUP3;7、改变数据库的归档模式:(1)修改初始化参数,指定归档位置和归档日记文献的命名方法。SQ1.>A1.TERSYSTEM2 SET1.OG_ARCHIVE_DEST=D:ORAC1.EORADATAARCHIVE,;SQ1.>A1.TERSYSTEM3 SET1.OG-ARCHIVE.DUP1.EX-DEST=,EORAC1.EARCHIVE,;SQ1.>A1.TERSYSTEM4 SET1.OG_ARCHIVE_FORMAT='%R_%T_%S.ARCSCOPE=SPFI1.E;(2)关闭数据库实例SHUTDe)WNIMMEDlATE;5 3)Startupmount;6 4)Alterdatabasearchivelog;7 5)Alterdatabaseopen;8、强制进行日记切换,以检查日记文献能否对的归档。SQ1.>A1.TERSYSTEMSWITCH1.OGFI1.E;在资源管理器中查看指定归档位置下的归档日记文献。9、查看数据库的当前模式:SQ1.>SE1.ECTNAME,1.MODEFROMVSDATABASE;10、查看数据库的归档进程信息:SQ1.>SE1.ECT*FROMV$ARCHIVE_PROCESSES;IK查询数据库的归档日记文献名称、重做日记序列号以及每次归档的完毕时间等。SQ1.>SE1.ECTNAME,SEQUENCE#,COMP1.ETION.TIMEFROMV$ARCHIVED_1.OG;思考题:1、移动、重命名重做日记文献成员的环节如下,请完毕各环节的命令代码。(1)关闭数据库。(2)将重做日记文献E:REDO04_3.1.OG移动或复制到D盘,并重命名为REDoo4_O3.1.OG。(3)以MOUNT状态打开数据库。(4)重命名数据库的重做日记文献。(5)打开数据库。(6)查看重做日记文献信息。2、在实验内容中添加重做日记文献组group4时,是否可以将group4改为group1?改为group6呢?请分别说明因素。3、当重做日记文献组被清除后,该组还可以继续使用吗?为什么?实验三实验名称:角色和用户管理实验学时:2实验目的:1)了解数据库用户。2)熟悉创建、更改、删除、查看用户的方法。3)了解数据库的不同权限。4)掌握权限的授予和回收的方法。5) 了解权限、角色的不同点以及它们之间的关系。6)纯熟掌握对角色的管理。实验内容及环节:在OraCle中,只有具有一定权限的用户才干对数据库进行操作。在安装OraCle时,数据库自身会自动创建一些用户或帐户,如SYS、SYSTEM.SYSMAN、DBSNMP等,这些预定义的用户具有特殊的权限能管理数据库。用SYS用户来实现创建、更改、删除用户等操作。1、创建用户CREATEUSER语句在数据库中创建新用户,语法如下:CREATEUSER用户名>IDENTIFIEDBY<11>EXTERNA1.1.YG1.OBA1.1.Y)PASSWORDEXPIREACCOUNT1.OCKUN1.OCKTEMPORARYTAB1.ESPACE临时表空间;DEFAU1.TTAB1.ESPACE<默认表空间QUOTAquotaKMUN1.IMITEDON表空间PROFI1.E概要文献例1:创建管理用户USERMAN。SQ1.>CREATEUSERtyIDENTIFIEDBV321;用户己创建。CREATEUSERUSERMANIDENTIFIEDBYUSERMAN;2、更改用户A1.TERUSER语句也可以修改用户信息。(1) 修改密码密码。例2:将用户USERMAN的密码修改为NewPassword:A1.TERUSERUSERMANIDENTIFIEDBYNewPassword;SQ1.>alterusertyidentifiedby123;用户己更改。(2) PASSWORDEXPlRE关键词设立密码过期。例3:设立用户USERMAN的密码立即过期,它在下一次登录时必须修改密码:A1.TERUSERUSERMANPASSWORDEXPIRE;SQ1.>A1.TERUSERtyPASSWORDEXPIRE;用户已更改。(3) ACCOUNT1.oCK关键词锁定用户。例4:锁定用户USERMAN,使其无法登录到数据库:A1.TERUSERUSERMANACCOUNT1.OCK;SQ1.>A1.TERUSERtyACCOUNT1.OCK;用户已更改。(4) ACCOUNTUN1.OCK关键词解锁用户。例5:解除对用户USERMAN的锁定:A1.TERUSERUSERMANACCOUNTUN1.OCK;SQ1.>A1.TERUSERtyACCOUNTUN1.OCK;用户已更改。3、删除用户DROPUSER语句也可以删除指定的用户。DROPUSER用户名CASCADE;SQ1.>DROPUSERty;用户已删除。4、查询用户例5:SE1.ECTusername,profile,account_status,createdFROMdbausersWHEREusername=,ty,;不同用户可以对数据库进行不同的操作,所有对数据库可以进行操作的用户都必须具有一定的操作权限,而不同用户权限不全相同。为不同用户赋予不同权限的目的是为了保证数据库的安全,以下关于用户赋予、回收权限的操作。5、授予系统权限使用GRANT语句,其语法如下:GRANTsystem_privilege,TOusernme,rolename,PUB1.ICWITHDM1NOPTION;例6:对于用户USERMAN授予SYSDBA角色:GRANTSYSDBATOUSERMAN;SQ1.>GRANTSYSDBATOty;授权成功。6、授予对象权限使用GRANT语句,其语法如下:GRANTObjeCt.privilege,.A1.1.PRIVI1.EGESON<schema.>object_nameTOuser_name,.rolename,.PUB1.IC)WITHGRANTOPTION;OraCle数据库的权限太多,对权限的管理工作太复杂,使用角色可以很好的解决这个问题。角色是权限的集合,以下关于角色的管理。7、创建角色创建角色的语法如下:Createrole角色名notidentifiedidentifiedby11Iexternally!globally;例7:创建一个角色Sjadndn,还用数据库口令认证方式。createrolesradminidentifiedbyadmin;8、给角色授权给角色授权的语法如下:GrantAllI对象权限1,对象权限2列1,列20n模式名.对象名Id名ectory目录名to角色withgrantoption;例8:grantcreatesessiontosradmin;9、删除角色Droprole删除角色格式:Droprole角色;思考题:完毕如下操作的命令代码:1、以SyS用户登陆SqIPIUs.Sqlplussys/123assysdba2、创建角色rolel。Createrolerolel3、为角色rolel授予Createsession>resource权限。grantcreatesessiontorolel;grantresourcetorolel;3、创建用户,指定密码、表空间。用户名命名以本人姓名的拼音首字母缩写+1'+学号最后两位。Createuserty_06identifiedby123defaulttablespaceuserstemporarytablespacetemp;5、修改用户密码。alteruserty06identifiedby123;6、为用户授予系统权限UN1.IMITEDTAB1.ESPACE<>grantUN1.IMITEDTAB1.ESPACEtoty06;7、为用户指定角色rolel。grantroleltoty06;8、收回用户的UN1.IMITEDTAB1.ESPACE权限。revokeUN1.IMITEDTAB1.ESPACEfromty06;9、锁定用户。10、解锁用户。12、删除用户。13、删除角色rolel。14、忘掉SYS用户的解决方法。Sqlplus/assysdbaAlterusersysidentifiedby123;Commit;Connectsys/123assysdba实验4实验名称:表的管理实验学时:4实验目的:1)了解OraCle表和视图的概念。2)纯熟掌握使用SQ1.语句创建表。3)学习使用SE1.ECT语句查询数据。实验内容及环节:1、创建表CREATETAB1.E语句的基本使用方法如下所示:CREATETAB1.E<schema>.<tablename>(<column_namel><datatype>DEFAU1.TexprCONSTRAINTcor)straint_nameconstraint_def,<columnname2><datatype>DEFAU1.TexprCONSTRAINTconstraintnameConstraintdef,CONSTRAINTconstraintnameConstraintdefTAB1.ESPACE表空间名PCTFREEnPCTUSEDnInitransnSTORAGE(storage)例1、创建表USers,SQ1.语句如下:CREATETAB1.Edhb.Usersl(UseridNumberPrimaryKey,UserNameVarchar2(40),UserTypeNumber(I),UserPwdVarchar2(40);2、修改表添加列语法形式如下:A1.TERTAB1.Eschema.table_namcADDnew_columndata_typedafaultexprCONSTRAINTconstraint_nameconstraint_def,<new-column><datatype>DEFAU1.TexprCONSTRAINTconstraintnameConstraintdef,.;例2、在表Users中添加一个列tmpcol:SQ1.>A1.TERTAB1.EUsersADD(tmpcolNUMBER(5,2);3、插入数据INSERT语句的基本使用方法如下所示:INSERTlNTOV表名>(歹IJ名1,列名2,,列名n)VA1.UES(值1,值2,,值n);例3、向表Users中插入数据INSERTINTOUsers(Userid,UserName,UserType,UserPwd)VA1.UES(1,Admin,1,Admin');COMMIT;4、修改数据UPDATE语句的基本使用方法如下所示:UPDATE表名SET列名I=值1,歹IJ名2二值2,,列名n=值nWHERE更新条件表达式例4、将用户Admin的密码修改为111111:UPDATEUsersSETUserPwd='lllllWHEREUserName=lAdmin'COMMITWORK;5、删除数据DE1.ETE命令删除表中的数据:DE1.ETEV表名WHERE删除条件表达式例5、删除表Users中列UserName等于空(")的数据:DE1.ETEFROMUsersWHEREUserName="COMMITWORK;6、查询数据(1)SE1.EeT语句的基本语法结构如下:SE1.ECT子句INTO子句FROM子句WHERE子句GROUPBY子句HAVING子句ORDERBY子句SE1.ECT语句中各子句的说明:SE1.ECT子句描述SE1.ECT子句指定由查询返回的列INTO子句创建新表并将结果行插入新表中FROM子句指定从其中检索行的表WHERE子句指定查询条件GROUPBY子句指定查询结果的分组条件HAVING子句指定组或聚合的搜索条件ORDERBY子句指定结果集的排序UNION运算符将两个或更多查询的结果组合为单个结果集,该结果集包含联合查询中的所有查询的所有行COMPUTE子句生成合计作为附加的汇总列出现在结果集的最后。当与BY一起使用时,COMPUTE子句在结果集内生成控制中断和分类汇总。可在同一查询内指定COMPUTEBY和COMPUTEFOR子句FOR子句用于指定BROWSE或XM1.选项OPTION子句应在整个查询中使用指定的查询提醒。每个查询提醒只能指定一次,但允许指定多个查询提醒。用该语句只也许指定一个OPTlON子句。查询提醒影响语句中的所有运算符。假如主查询中涉及UNION,则只有涉及UNION运算符的最后一个查询可以有OPTloN子句。例6、在SE1.ECT语句中查询指定的列名CO1.EMP.NAMEFORMATA20ColsexformataioCO1.TIT1.EFORMATA10SE1.ECTEmp_name,Sex,TitleFROMdhb.Employees;(2)使用ROWNUM(3)使用1.lKE关键字实现模糊查询Oracle的通配符及其含义%包含零个或多个任意字符的字符串一任意单个字符9任意单个字符表达09的数字指定范围或集合中的任意单个字符查询所有身份证号中包含ddd的员工记录例7、SE1.ECTEMP_NAME,TIT1.E,IDCardFROMDHB.EmployeesWHEREIDCard1.IKE'%ddd%,;(3)在SE1.ECT中使用DECODE函数DECODE函数语法如下:DECoDE(输入值,值1,结果1,值2,结果2默认结果)假如1输入值等于值1,则DECoDE函数返回结果1;假如输入值等于值2,则DECODE函数返回结果2,以此类推。假如参数列表中没有与输入值相等的值,则DECODE函数返回默认结果例8、SE1.ECTEmp_name,DECoDE(SeX,'男'先生','女女士未知')ASSexFROMDHB.Employees;在SE1.ECT中使用CASE函数CASE函数还可以根据不同逻辑表达式是否成立来决定函数的返回值,语法如下:CASEWHENV逻辑表达式1THEN结果1WHEN逻辑表达式2THEN结果2.(E1.SE默认结果|END例9:在EmPIOyeeS中,将员工工资分3个级别,工资小于等于3000的级别为低,工资大于3000且小于5000的级别为中,工资大于等于5000的级别为高。SE1.ECTEmp_name,Wage,CASEWHENWage=3000THEN彳氐'WHENWage3000ANDWage5000THEN'中'WHENWage=5000THEN,ENDASGRADEFROMDHB.Employees;(5)保存查询结果在CREATETAB1.E语句中使用SE1.ECT子句可以将查询结果集填充到新建的表中。新表的结构由选择列表中列的特性定义。语法如下:CREATETAB1.EV新表名ASSE1.ECT查询例10:将办公室的所有员工的姓名和职务信息保存到表OffiCe中:CREATETAB1.EDHB.OfficeASSE1.ECTe.Emp_Name,e.TitleFROMDHB.Employeese,DHB.DepartmentsdWHEREe.Dep_id=d.DepJdANDd.Dep_Name='办公室';思考题:1、创建用户,指定密码、表空间。用户名命名以本人姓名的缩写+_+学号后两位命名。2、创建如下表,将表保存到自己的用户方案中。学生表:student字段名称字段类型约束snovarchar2(10)主键snamevarchar2(20)sagenumber(2)ssexvarchar2(5)CREATETAB1.Estudent(snovarchar2(10)PrimaryKey,Snanlevarchar2(20),ssexvarchar2(5);教师表:teachertnovarchar2(10)主键(namevarchar2(20)CREATETAB1.Eteacher(tnovarchar2(10)PrimaryKey,tnamevarchar2(20);课程表:coursecnovarchar2(10)与tno联合做主键cnamevarchar2(20)tnovarchar2(20)CREATETAB1.Ecourse(cnovarchar2(10),cnamevarchar2(20),tnovarchar2(20),PrimaryKey(cno,tno);成绩表:SCsnovarchar2(10)与Cno联合做主键scorenumber(4,2)createtablesc(snovarchar2(10),enovarchar2(10),scorenumber(4,2),primarykey(sno,cno);3为各表输入数据。insertintostudentvalues('s0017三,23,',);insertintostudentvalues('s002','李四',23,'男');insertintostudentvalues(1003','吴朋乎,25,'男);insertintostudentvalues('s004',20,);insertintostudentVaIUeS('sOO5','王丽',20,'女');insertintostudentvalues(1006','李波',21,'男);insertintostudentValUeS('sOO7','刘玉',21,'男');insertintostudentVahIeSCS008';萧蓉:21,女);insertintostudentValUeS('sOO9','陈萧晓',23,'女');insertintostudentVaIUeSCS010;陈美,22;女,);commit;insertintoteachervalues('t001'J刘阳');insertintoteacherValUeS('t002','港燕');insertintoteachervalues('t003'J胡明星);commit;insertintocoursevalues('c001','J2SE','tOO2,);insertintocoursevalues(,c002','JavaWeb','t002,);insertintocoursevalues('cOO3','SSH',t(X);insertintocoursevalues('c004','Oracle7t00);insertintocoursevalues('c005',SQ1.SERVER2023,t003');insertintocoursevalues('cOO6','C#','tOO3');insertintocoursevalues('c007','JavaScript','t002,);insertintocoursevalues('c008','DIV+CSS','tOO1');insertintocoursevalues('cOO9',"PHP',tOO3');insertintocoursevalues(,c10,EJB3.0,t002,);commit;insertintoscvalues('s00,c00,78.9);insertintoscvalues('s002','c00,80.9);insertintoscvalues(,s003,'c00,81.9);insertintoscvalues('s004','c(X)I',60.9);insertintoscvalues('sOO,cOO2',82.9);insertintoscvalues('s002','c002',72.9);insertintoscvalues('s003',c002,81.9);insertintoscvalues('s00,c003','59');commit;4、查询每门课程被选修的学生数。SE1.ECTcno,count(sno)FROMscGROUPBYcnoOrderbycno;5、查询出只选修了一门课程的所有学生的学号和姓名。SE1.ECTsc.sno,student.snameFROMsc,studentWheresc.sno=student.snoGROUPBYsc.sno,student.snameHAVINGcount(cno)=l;6、查询男生、女生人数。7、查询姓“张”的学生名单。8、查询同名同姓学生名单,并记录同名人数。9、1981年出生的学生名单。10、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列。11、查询平均成绩大于85的所有学生的学号、姓名和平均成绩。12、记录每门课程的学生选修人数(超过10人的课程才记录)。规定输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。13、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分。14、按各科平均成绩从低到高和及格率的百分数从高到低顺序。15、记录列印各科成绩,各分数段人数:课程ID,课程名称,10085,8570,7060,<60o实验五实验名称:P1./SQ1.编程实验学时:4实验目的:1)纯熟掌握P1./SQ1.程序设计的基本知识。2)纯熟掌握P1./SQ1.中控制结构的使用。具体涉及选择结构语句(IF语句和CASE语句),循环结构(四种循环结构)。3)纯熟使用P1./SQ1.中系统函数。4)掌握P1./SQ1.中异常解决语句的使用5)掌握P1./SQ1.中SE1.ECT语句和DM1.语句的综合运用。实验内容及环节1、条件语句IF的语法及使用IF条件表达式THEN执行语句V执行语句nE1.SIFV条件表达式THEN执行语句V执行语句nE1.SE执行语句习ENDIF;例1:声明一个整型变量NUm,使用IF语句判断NUm变量是正数、负数或0。SETSerVeroUtPUtON;DEC1.ARENumINTEGER:=-11;BEGINIFNum<OTHENdbms_oUtPUt.pujline('负数');E1.SIFNum>0THENdbms_output.pul_line('iH数');E1.SEdbms_output.put_iine('0');ENDIF;END;2、分支语句CASE语法:CASEV变量>WHEN<表达式1>THEN值1WHEN<表达式2>THEN值2WHENV表达式THEN值E1.SE值+1END;例2、使用CASE语句根据给定的整数输出相应的星期值:SETServerOutputON;DEC1.AREvarDAYINTEGER:=3;ResultVARCHAR2(20);BEGINResult:=CASEvarDAYWHEN1THEN星期一WHEN2THEN,星期二WHEN3THEN'星期三WHEN4THEN'星期四WHEN5THEN星期五WHEN6THEN星期六WHEN7THEN,星期七,E1.SE嗷据越界END;dbms_output.put_line(Result);END;3、练习循环结构语句的使用方法。(1)循环语句1.OOPEXITEND1.OOP程序块1IF条件表达式THENEXITENDIF程序块2END1.OOP;例1、计算1到3的累加和。SETServerOutputON;DEC1.AREv_NumINTEGER:=1;v_SumINTEGER:=O;BEGIN1.OOPv_Sum:=v_Sum+v_Num;dbms_output.put_line(v_Num);IFv.Num=3THENEXIT;ENDIF;dbms_output.put_line('+');v_Num:=v_Num+1;END1.OOP;dbms_output.put_line('=');dbms_output.put_line(v_Sum);END;(2)循环语句1.OOP.EXITWHEN.END1.OOP<程序块1>EXITWHEN条件表达式>V程序块2>END1.OOP:例2、计算1到3的累加和。SETSerVeroUtPUtON;DEC1.AREv_NumINTEGER:=1;v_SumINTEGER:=0;BEGIN1.OOPv_Sum:=v_Sum+v_Num;dbms_output.put_line(v_Num);EXITWHENv_Num=3;dbms_output.pul_line('+');v_Num:=v_Num+1;END1.OOP;dbms_output.put_line('=');dbms_output.put_line(v_Sum);END;(3)循环语句WHI1.E.1.OOP.END1.OOPWHI1.E条件表达式1.OOP程序块END1.OOP;(4)循环语句FOR.IN.1.OOP.END1.OOPFORV循环变量IN初始值.V终止值1.OOP程序块END1.OOP;例3、计算1到3的累加和。SETServerOutputON;DEC1.AREv_NumINTEGER;v_SumINTEGER:=O;BEGINFORv_NumIN1.3

    注意事项

    本文(oracle实验指导书之全本.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开