Oracle实验指导书.doc_第1页
Oracle实验指导书.doc_第2页
Oracle实验指导书.doc_第3页
Oracle实验指导书.doc_第4页
Oracle实验指导书.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网络数据库 实 验 指 导 书 适用专业: 计算机网络 编 者: 刘纯 清华大学 2009年9月 前 言 本实验选用Oracle9i数据库系统,按照实际项目开发流程编排各实验,内容丰富,注重实用,设计和操作方法可行,为用户提供了一个切实可行的学习和掌握网络数据库的途径。读者通过上机实际操作,能够循序渐进地掌握网络数据库系统设计与开发的各知识点并能够综合应用。本实验分为五个阶段实验,内容涵盖网络数据库的安装与配置、空间管理、基本用户安全管理、备份与恢复、Oracle数据库PL/SQL编程、后台程序设计、前台开发工具访问数据库等网络数据库管理与应用开发的各个层面。本书通过实验介绍网络数据库的基本原理、解决问题的基本思路和技术方法,从而加深学生对相关技术的理解。本实验指导书设置如下五个实验项目:一、Oracle数据库的安装配置;二、Oracle空间管理实验;三、Oracle基本用户安全管理实验以及Oracle数据库备份与恢复实验;四、Oracle数据库PL/SQL实验;五、并发工具访问Oracle数据库;五个实验都为操作性的实验。本实验指导书只考虑了网络操作系统课程中的一部分内容,事实上,网络数据库课程中的几乎每个主题都需要学生操作实现,从而加深对理论知识的理解和掌握,因此学有余力的同学应在课余时间自主地进行操作练习。 限于编者水平,指导书中难免有疏漏和错误之处,敬请指正。 实验一:Oracle的安装与配置实验学时:3 实验类型:操作 实验要求:必修 一、实验目的 本实验的目的是要了解Oracle9i数据库服务器端和客户端管理系统安装的过程,掌握配置Oracle9i数据库服务器的网络连接,能作为DBA(DataBase Administrator)对网络数据库进行启动、关闭等日常管理。为后续实验使用Oracle9i数据库奠定基础。二、实验内容 1、安装Oracle服务器端管理系统安装路径:C:ORACLE全局数据库名称:姓名简拼+学号后两位;数据库实例(SID):与上面相同安装过程当中将Oracle数据库管理系统的两个管理员用户sys和system的密码改为oracle2、安装Oracle客户端管理系统安装路径:C:ORACLE安装完成与Oracle服务器端进行连接配置3、添加Oracle数据库网络服务名为Ora+姓名简拼4、使用SQLPLUS交互工具进行网络数据库的连接,以用户名SCOTT,口令TIGER这个普通用户登录进行远程连接。5、以管理员用户SYS,口令ORACLE正常关闭数据库;6、以管理员用户SYS,口令ORACLE正常启动数据库;7、添加一个新的监听程序;三、实验原理、方法和手段 目前对网络数据库的科学定义还没有一个统一的标准。比较流行的一种网络数据库定义是以后台数据库为基础的,加上一定的前台程序,通过网络环境完成数据存储,查询等操作的系统。网络数据库系统的工作模式主要有两种:C/S和B/S基于C/S模式的网络数据库在前台计算机上要安装专门的应用程序来操作后台数据库服务器中的数据,前台应用程序可以完成计算和接受处理数据的工作,后台数据库服务器主要完成数据的管理工作。B/S模式下的客户机只需要安装浏览器软件,无须开发前台的应用程序,中间层的web应用服务器(IIS、Tomcat、Apache)是连接前端客户机和后台数据库服务器的桥梁,主要的数据计算和应用都在此完成,因此对中间层服务器的要求很高,开发中间层应用的人员要有一定的编程基础;后台数据库服务器主要完成数据的管理。四、实验组织运行要求 试验环境为两台电脑,即一台服务器(PC),一台客户端(PC),交叉线一条。也可以使用虚拟机,或者是利用一台计算机同时作为服务器和客户机。五、实验条件C/S 模式的网络环境,包括一台Windows xp 工作站和一台Windows 2000 server 服务器。 如果上述条件不满足,则采用虚拟pc的方式进行安装。六、实验步骤 1、安装Oracle服务器端管理系统a.插入光盘,setup.exe选择Oracle9i Database 9.2.0.1.0b.文件定位c.安装类型d.数据库配置e.数据库标识f.更改sys和system口令g.安装完成2、安装Oracle客户端管理系统a. 插入光盘,setup.exe选择Oracle9i Client 9.2.0.1.0b.步骤基本同上。(参见网络数据库课本)3、添加网络服务名a.开始/程序/Oracle_OraHome92/Configration and Migration Tools/Net Configuration Assistant/选择“本地Net服务名配置”b.服务名:使用上面的数据库标识c.协议:TCPd.主机名和端口号e.是否测试f.定义网络服务名g. 打开本地tnsnames.ora文件,查看其中的代码变化。h.利用tnsping命令测试是否可以连接。4、用SQL plus交互工具测试Oracle客户端和服务器端的连接情况a.此时客户端可以应用配置好的网络服务名来访问服务器提供的各种服务了。b.开始/程序/Oracle Ora92Home/Application Development/SQL Plus 用户名口令:SCOTT/TIGER主机字符串:Ora+姓名简拼5.以sys用户正常关闭Oracle数据库a.进入命令行形式b.进入Oracleora92binc.运行dgmgrl.exe文件d.connect sys/syse.shutdown normal6.以sys用户正常启动Oracle数据库a.startup7、如有时间运行网络数据库教材上的例子。七、思考题 1C/S模式下,服务器端和客户端的连接文件在什么位置?2建立网络连接服务时,全局数据库名和网络服务名可以随意命名吗?八、实验报告 1写出实验报告,画出实验局域网拓朴图。2客户端发出连接请求到得到回应的过程3写出你定义的连接服务文件tnsmames.ora中的相关内容,以及你建立的服务器端监听的内容。4本次实验的体会。实验二:Oracle的表空间管理实验学时:3 实验类型:操作 实验要求:必修 一、实验目的 理解表空间、数据文件的基本概念,掌握表空间的创建方法和步骤,能利用存储参数控制存储空间的管理。二、实验内容 1、创建永久表空间创建一个表空间名为TBL+学号后两位,要求表空间的大小为5M,这个表空间包括两个数据文件:TBL+学号后两位01(3M)和TBL+学号后两位02(2M),数据文件均存放在D:Oracle下,将表空间设置为联机状态,表空间各存储参数均采用默认值。2、设置存储参数在表级修改用户scott的表bonus的存储参数,将数据快使用率设置为50%3、创建临时表空间创建一个临时表空间名为TTBL+学号后两位,这个临时表空间的大小为10M,临时表空间的数据文件只有一个,数据文件名称为TTBL+学号后两位01,存放在D:Oracle下,临时表空间个存储参数均采用默认值。4、扩充表空间用命令行管理方式,将1中创建的永久表空间的存储能力扩充为8MB;用企业管理器直接管理方式,将1中创建的永久表空间的存储能力扩充为10MB。5、删除表空间将中创建的表空间删除三、实验原理、方法和手段 数据库的表的结构由两部分组成:逻辑结构和物理结构Oracle数据库物理结构包括:数据文件、重做日志文件、归档日志文件、控制文件、初始化文件、跟踪文件和警告日志。其中数据文件、重做日志文件和控制文件构成了物理上的数据库,即用户数据库。Oracle数据库的逻辑结构是由六层结构构成。(见网络数据库课本)其中表空间的物理结构如下:表空间是数据库中物理编组的数据存放的地方,对应一个或多个数据文件,白哦空间的大小是它所对应的数据文件大小的总和。果敢个表空间构成了逻辑上的数据库。数据库至少有一个system表空间,通常需要增加附加的表空间来增强对数据库的控制并方便长期维护。本质上oracle由两类表空间组成:system表空间和非system表空间。数据文件、重做日志文件和控制文件构成了物理上的数据库。数据文件用于存放数据库中的信息,用户可以拥有一个或多个数据文件。用户创建的数据都存储在数据文件中,包括:数据记录、索引、视图、软件(数据包和过程语句)数据文件是oracle数据库中表空间在磁盘上的物理存储文件,数据文件包含许多的数据记录(磁盘块)。Oracle数据库由一个或多个数据库表空间组成。相应的Oracle数据库包含一个或多个表空间,每个表空间对应一个或多个的数据文件。当创建一个表空间时,可以为创建的表空间建立一个或多个数据文件。四、实验组织运行要求 试验环境为两台电脑,即一台服务器(PC),一台客户端(PC),交叉线一条。也可以使用虚拟机,或者是利用一台计算机同时作为服务器和客户机。五、实验条件C/S 模式的网络环境,包括一台Windows xp 工作站和一台Windows 2000 server 服务器。 如果上述条件不满足,则采用虚拟pc的方式进行安装。六、实验步骤 1、创建永久表空间a.开始/程序/oracle-oraHome92/enterprise manager console b.选择独立启动,以sys或system用户按照sysdba身份连接数据库oraclec.存储/表空间/创建d.一般信息/名称(按照内容的要求输入),选择联机和永久2、设置存储参数a. 开始/程序/oracle-oraHome92/enterprise manager consoleb.选择独立启动,以sys或system用户按照sysdba身份连接数据库oraclec.企业管理器导航/方案/scott/表/bonus/存储/按照实验内容修改值/应用3、创建临时表空间a. 开始/程序/oracle-oraHome92/enterprise manager consoleb.选择独立启动,以sys或system用户按照sysdba身份连接数据库oraclec. 企业管理器导航/存储/表空间/创建/一般信息/按照实验内容设定值/4、扩展表空间a. 开始/程序/oracle-oraHome92/Application Development/ SQL Plusb. 用户名口令:system/oracle主机字符串:+已经配置的网络服务名c.用命令给1中创建的表空间增加一个3MB的数据文件:sqlalter tablespace 表空间名 add datafile C:oracleoradata表空间名.ora size 3Md.用命令给1中创建的表空间里的数据文件的大小修改为5Msqlalter database 数据文件名 add datafile d:Oracle数据文件名.ora resize 5M七、思考题 1Oracle数据库表空间和其他数据库相比有什么优点 八、实验报告 1写出实验报告 。2实验的步骤,要求你建立的表空间和数据文件的命名要符合实验内容的要求3本次实验的体会。实验三:Oracle基本用户安全管理实验实验学时:3 实验类型:操作 实验要求:必修 一、实验目的 充分认识数据库安全管理的重要性,掌握创建用户、给用户授权;修改用户、修改用户权限;创建角色、给角色授权;创建模式对象;使用权限等基本用户安全管理。二、实验内容 1、创建用户,创建的用户名为U+姓名简拼+学号后两位,口令为学号的后两位,指定该用户的缺省表空间为上一次实验中创建的永久性表空间,指定临时表空间为上次实验创建的临时表空间,指定该用户在其数据表空间中的使用限额为3MB,指定该用户在其临时表空间中的使用限额为无限制。2、创建用户的概要文件,创建的概要文件名为PF+学号后两位,概要文件中限定cpu的空闲时间为15分钟,概要文件中限定帐户的登录失败限制为3次,将1中创建的用户的概要文件更改为新创建的概要文件。3、创建角色,角色名ROLE+学号后两位+1|2|3,创建的角色均不用口令控制角色1:只具有创建会话连接和授予权限的权限角色2:只具有创建表,创建视图的权限角色3:具有1和2的权限4、创建模式对象,将角色3授予1中创建的用户以1中创建的用户登录,创建一个学生信息表(STU),字段有学号、姓名、性别、年龄、系,入学时间向STU表中输入5个同学的基本数据5、给用户和角色授权给1中创建的用户赋予dba角色以1中创建的用户登录设计并创建角色并授权给其他用户(如scott用户)。被授权的用户(如scott用户)拥有在4中创建的模式对象(STU)的select,insert和delete的权限,但不立即激活delete权限,被授权用户拥有管理select和insert权限的权利。6、使用权限以被授权用户(scott)登录查询1中创建的用户的模式对象STU的信息。三、实验原理、方法和手段 数据库最突出的特点是数据共享,数据共享给数据库应用带来了很多好处,但却使数据库的安全受到威胁。特别是网络化的开放环境与基于网络的分布市数据库系统,包括客户机/服务器数据库系统,如何维护数据库的安全性成为数据库领域的一个主要的研究内容。对于用户:用户管理是保证正确使用数据库的一个有效途径。用设置安全参数来控制用户的存取权限,保证数据库的可靠性。要访问oracle9i数据库,必须以用户名和口令登录,经过数据库服务器的严整后,才能按照系统管理员的授权访问数据库对象。内创建一个用户时就产生一个口令,并且以后可以由此用户改变Oracle系统存储用户名和口令,当用户试图连接数据库时,Oracle系统检查用户的合法性或由操作系统来检查用户的合法性。对于角色:是由一个命名的关联特权组成,用来维护和控制特权角色的作用有:1减少授权次数2动态的特权管理3选择可用的特权角色的特点有:1可以包含系统权限和对象权限2不被任何用户拥有,也不属于任何用户对象3,可以授予其他用户或角色,除了自身以外4可以对每个授予的用户生效或失效5可以要求使之生效的口令所以说,角色,就是对权限的集中管理对于权限:权限是指对数据库进行操作的权利。Oracle9i中权限可以分为系统权限和对象权限两类。数据库管理员可以将权限授予用户,也可以从用户手中收回权限。对象权限是在一个指定的对象(表、视图、过程、函数或包)上完成一个特殊活动的特权。系统权限是完成特殊活动或在一个特殊类型的对象上完成特殊活动的一个特权。通过授予系统权限,允许用户执行指定的数据库操作。执行某种类型的命令,必须有相应的系统权限。四、实验组织运行要求 试验环境为两台电脑,即一台服务器(PC),一台客户端(PC),交叉线一条。也可以使用虚拟机,或者是利用一台计算机同时作为服务器和客户机。五、实验条件C/S 模式的网络环境,包括一台Windows xp 工作站和一台Windows 2000 server 服务器。 如果上述条件不满足,则采用虚拟pc的方式进行安装。六、实验步骤 1、创建用户a. 开始/程序/oracle-oraHome92/enterprise manager consoleb.系统管理员身份登录,独立启动方式 选择“安全性/用户/创建“c.一般信息/ 名称:U+姓名简拼+学号后两位 口令:后两位 默认值:选择上次实验创建的永久性表空间 临时:选择上次实验创建的临时表空间 状态:未锁定d.限额 表空间列表:选择次实验创建的永久性表空间 值:输入题目要求的限额(3MB) 表空间列表:选择上次实验创建的临时表空间 值:无限额2、创建用户的概要文件a. 开始/程序/oracle-oraHome92/enterprise manager consoleb.系统管理员身份登录,独立启动方式 选择“安全性/概要文件/创建 “c.一般信息 空闲时间:15分钟d. 口令 选择“登录失败后锁定帐户“e. 选择“安全性/概要文件/鼠标右键/为用户分配概要文件 选择刚刚建立好的概要文件 把这个文件分配给哪个用户(用上次实验建立的用户)3、创建角色a. 开始/程序/oracle-oraHome92/enterprise manager consoleb.系统管理员身份登录,独立启动方式 选择“安全性/角色/创建“c.一般信息:自定义角色ROLE+学号后两位+1|2|3 验证:无d.角色:选择“connect“/添加/管理选项e.系统权限:添加GRANT ANY PRIVILEGEf.参考c到e,再创建另外两个角色g.以系统管理员身份登录,安全性/角色,可以看到已经建立的角色4、创建模式对象a. 开始/程序/oracle-oraHome92/enterprise manager consoleb.系统管理员身份登录,独立启动方式 选择“安全性/用户/ “,选择1中建立的用户双击 角色:选择角色3 添加 管理选项5、给用户和角色授予权限6.SQL-Plus中实现创建表和向表中插入数据的方法。 Sqledit stu Sql get stu create table stu(sno varchar2(3) not null primary key, sname varchar2(8) ssex varchar2(1) sage Number(2) sdept varchar2(8) sdate date); sql stu sqlget istu insert into stu values(001,孔丽,FM,20,06网络,to_date(2009-11-01,yyyy-mm-dd); sql istu7、SQL-Plus中实现创建角色并授权给其他用户的方法 sqlcreate role role1; sqlcreate role role2;sqlcreate role role3; sqlgrant select on stu to role1sqlgrant select on stu to role2sqlgrant select on stu to role3sqlset role all except role3sqlgrant role1 to scott with admin option;sqlgrant role2 to scott with admin option;sqlgrant role3 to scott;8、使用权限 Sqlselect * from 任务1中创建的用户名.stu;七、思考题 1Oracle用户和角色的关系? 八、实验报告 1写出实验步骤报告2写出你创建的用户和角色以及其中的归属关系 3本次实验的体会。实验四:Oracle数据库备份与恢复实验实验学时:4 实验类型:操作 实验要求:必修 一、实验目的 理解数据库备份工作的重要性,将备份与恢复策略的理论和实践相结合,能根据实际情况确定 备份和恢复策略。熟练掌握逻辑备份和恢复工具。二、实验内容 1、逻辑备份工具表方式备份以上次实验创建的用户登录,利用Oracle9i提供的逻辑备份工具exp,选择表方式备份上次实验创建的模式对象。2、逻辑备份工具用户方式备份以上次实验创建的用户登录,利用Oracle9i提供的逻辑备份工具exp,选择用户方式备份上次实验创建的模式对象。3、逻辑备份工具数据库方式备份以system用户登录,利用Oracle9i提供的逻辑备份工具exp,选择全库方式备份数据库。4、逻辑恢复工具进行恢复以system用户登录,利用Oracle9i提供的逻辑备份工具IMP,将前面1、2、3中选择的不同备份方式 备份的文件进行相应的数据库恢复。5、备份向导进行联机热备份配置企业管理器的集成方式管理OMS;配置进行联机热备份的环境;利用备份向导将第二次实验创建的表空间联机热备份。6、备份向导进行联机热恢复利用备份向导将5中联机热备份出的文件进行联机热恢复。三、实验原理、方法和手段 Oracle9i数据库备份与恢复分为两大类:脱机冷备份与恢复和逻辑工具方式下的备份与恢复操作。脱机备份与恢复实际上就是操作系统方式下的备份与恢复,是利用操作系统的文件复制功能来完成的。在Oracle9i数据库中,操作系统方式下的备份又可以分为两类:非归档备份:这种备份在介质出现失败时,只能将数据库恢复到最后备份那一时刻;归档备份:这种备份在介质在介质出现失败时,能使用归档日志文件最大量地恢复数据库数据。恢复到介质失败后的最后一次备份点。逻辑备份是将数据库的内容卸出以二进制文件的方式存储,在需要的时候将该文件重新装载就可以恢复数据库。其主要特点如下:1、多种备份方式:包括数据库级、用户级和基本表三个级别。所有用户都可以在表和用户模式下卸出全部的数据库。2、数据碎片压缩:在备份过程中将物理上的数据块进行压缩。3、数据转储:可以根据需要在不同的用户之间转储数据。一、脱机冷备份与恢复1、优点:脱机冷备份的优点是原理简单,操作简便,交互操作少,可靠性高。2、缺点:是在做备份期间用户不能使用数据库。3、使用的情况:a.经常性的,有规律的进行数据库的操作系统的备份;b.对于经常变化的表空间要经常备份;c.任何数据库文件结构的改变都要求进行一次完全的相关文件和控制文件的备份。二、逻辑工具方式下备份与恢复a.数据库工作在归档状态;b.给数据库管理员授予角色权限c.给NT管理员授予批处理作业权限d.设置节点的首选身份证明e.设置数据库的首选身份证明四、实验组织运行要求 试验环境为两台电脑,即一台服务器(PC),一台客户端(PC),交叉线一条。也可以使用虚拟机,或者是利用一台计算机同时作为服务器和客户机。五、实验条件C/S 模式的网络环境,包括一台Windows xp 工作站和一台Windows 2000 server 服务器。 如果上述条件不满足,则采用虚拟pc的方式进行安装。六、实验步骤 1、逻辑备份工具EXP表方式备份a.进入命令提示符/进入oracleora92bin目录,执行exp命令,在用户名后输入上次实验创建的用户名/口令连接描述符并执行。如:用户名:abc01/123ora92输入数组提取缓冲区大小:4096导出文件:EXPDAT.DMPe:abc1.dmp选择要备份的类型:完整数据库/1 用户/2 表/3 3导出表数据吗?有压缩区吗?要导出的表:STU2、以用户的身份备份同上,除了:a.在选择备份类型时选择2:用户类型b.备份出来的文件放在e:abc2.dmp下c.要导出的用户:abc013、以全库的方式备份这种全库备份只能由拥有EXP-FULL-DATABASE角色的用户才能使用。a.进入oracleora92bin目录,执行exp命令用户名:system/口令连接描述符导出文件:expdat.dmpe:abc03.dmp类型:1这次备份时间较长4、恢复以不同方式备份的数据库 a.恢复以表方式备份的文件进入命令提示符/进入oracleora92bin目录,执行imp命令,在用户名后输入上次实验创建的用户名/口令连接描述符并执行。根据提示信息输入相应的参数(注意和备份时的数据对应,如导入文件对应导出文件名)注意:恢复时要以备份时用户的身份来恢复,否则出错。b.恢复用户方式备份的文件同上c.恢复全库方式备份的文件同上5、使用联机向导进行联机热备份注意:必须构建管理服务器,建立前 必须保证有一个可以使用的数据库,在构建过程中该数据库不能被其他管理员关闭。a.构建管理服务器 a1.开始/程序/Oracle-orahome92/configuration and migration tools/enterprise manager configuration assistant a2.配置本地的oracle management server a3.创建一个新的资料档案库 a4.典型 a5.更改sid OEMREP/OEMREP a6.创建资料档案库概要 a7.更改sys和system的口令 a8.把“OracleOraHome92ManagementServer”服务改为“自动”方式 b.利用备份向导进行联机热备份 b1.企业管理器里选择要备份的数据库 b2.集成管理工具区/数据库工具/备份 b3.自定义备份策略 b4.选择要备份的对象(整个数据库/表空间/数据文件/归档日志) b5.添加上次实验的表空间到“已选表空间” b6.备份所有的归档日志 b7.完全备份 b8.配置界面:查看备份的配置情况(工具/数据库向导/备份管理/创建备份配置) b9.调度界面:立即执行 b10.作业信息界面:确定 b11.作业成功提交界面; b12.查看作业/进程/选中目标作业/显示输出 b13.查看oracleoradataoracle路径下存放的备份文件6、使用备份向导进行联机热恢复a.在企业管理器中选择要恢复的数据库/工具/数据库向导/备份管理/恢复b.选择表空间c.重命名。其他操作同上。八、实验报告 1写出实验步骤报告2写出冷备份的过程,写出热恢复的过程 3本次实验的体会。实验五:Oracle数据库PL/SQL程序实验实验学时:3 实验类型:操作 实验要求:必修 一、实验目的 之一、理解PL/SQL程序结构,掌握Oracle的PL/SQL程序的确编制和调试方法并理解Oracle数据库中的异常处理。之二、通过本实验的模拟和进行,深刻理解网络数据库事务的概念,体会网络数据库以事务为管理方式的意义和作用;掌握显式游标的编制和调试方法。二、实验内容之一: 1、编制带有控制结构的PL/SQL程序根据SCOTT用户的emp表中的DEPTNO字段的值,为姓名为fan的雇员修改工资,若部门号10,则工资加100员。若部门号为20则工资加300元,否则工资加400员。2、编制带有异常处理的PL/SQL程序对SCOTT用户的emp表中的每一个雇员按照不同情况征收个人所得税。将个雇员的雇员号empno,姓名ename及所得税stax存放于名为tax的表中,如果工资高于4000元,征收20%的税,并出发自定义的异常处理将该情况说明写如TAX的备注字段。否则,均征收10%的税。之二:、理解事务的概念编制一段sql语句,完成四五控制。首先给emp表增加一条ename为liu的新记录,插入保留点后再增加一条ename为fu的新记录。使用rollback命令回退至保留点,再尝试删除ename为fu和liu的记录,观察有何现象发生。2、显式游标的编制通过键盘接受指定部门号(deptno),将用户scott的emp标中指定的该部门雇员的姓名和工资插入到表temp的姓名(ename)、工资(sal)中。三、实验原理、方法和手段 之一:PL/SQL是Oracle对ANSI标准SQL的过程化扩展。PL/SQL使用户不仅能之行 标准的SQL,也能将其嵌入到控制结构中。如IF-THEN-ELSE和循环结构。与只使用标准SQL相比,可以使得用户在应用中完成更复杂的工作。PL/SQL不是面向对象的语言,PL/SQL的语法来自复杂的Ada程序设计语言,但使用起来要简单得多。PL/SQL是主要的后端开发工具,灵活地与数据库表和其他的数据库对象进行交互操作。通过使用所提供的数据库工具包,处理PL/SQL与操作系统以及外部软件组件的交互操作。编写PL/SQL程序时,允许使用下列字符:1、所有的大小写字母2、数字0-93、符号:()+ - * ./ = ! : . % “ # | ? 其中一些字符用于编程,另一些用作算数运算操作符。PL/SQL语言不区分大小写。所有的文本都最终被转换为大写形式(除了那些字符串中字符)。因此用户不能使用大小写来区分变量和其他用户定义的元素。PL/SQL是一种形式自由的文本语言,任意数量的空白(空格、新行、跳格等)起分隔符作用的都被忽略。在一行上可以有一条或多条语句,一条语句也可以被拆分为几行。通常语句以分号(;)结束。对于一行拥有的字符数量和一个模块拥有的语句行数没有限制。在语法结构上,PL/SQL块结构分为基本块结构和嵌套块结构两种。一个完整的PL/SQL基本块程序可以分为3个部分:1、定义部分以declare为标识,在该部分中定义程序中要使用的常量、变量、游标和异常处理名称,PL/SQL程序中使用的所有定义必须在该部分集中定义,而在高级语言里变量可以在程序执行过程中定义。2、执行部分以begin为开始标识,以end为结束标识。该部分是每个PL/SQL程序所必备的,包含了对数据库的操作语句和各种流程控制语句。3、异常处理部分该部分包含在执行部分里面,以exception为标识,对程序执行中产生的异常情况进行处理。之二:事务(transaction)是对数据库操作的逻辑单元,是指在相邻两条事务控制命令之间的一组sql语句。关系数据库大多采用事务这个机制来控制数据的完整性。游标主要是用来处理一个查询语句有多行数据返回的情况。在游标工作区中,指针在初始状态指向查询结果的首记录,可以通过fetch语句,使指针逐行下移。游标是一个PL/SQL结构,有两种类型:显式游标和隐式游标。1、事务控制命令Commit(事务提交):用于提交自上次提交以后对数据库中的数据所作的改动。系统为每个用户设置一个工作区,对数据的所有操作都在该工作区进行。在执行commit之前数据库的数据并没有发生任何改变。Rollback(事务回退):未提交的update、insert、delete操作,可以用事务回退命令rollback回退,会退之后数据库将回到上次commit后的状态。Savepiont(设置保留点):可以把一个事务划分成若干个部分,每一部分之间用一个保留点(savepoint)进行分隔。这样,在必要时就可以不必回退整个事务,而只是回退一部分,使其余部分得到保留。2、游标 Oracle系统为了处理sql语句,在内存区开辟了一个工作区,在其中存放select语句返回的查询结果。这片内存区域,叫做上下文区。游标(cursor)是一个指向上下文区的句柄或指针。这个select语句的查询结果既可以是零条记录,也可以是多条记录。在PL/SQL中,如果提交insert、update、delete以及知识返回一行的select语句,Oracle都将自动建立和使用游标,即隐式游标(implicit cursor)。但是对于返回多行数据的select语句,oracle要求用户显式的建立和使用有名字的游标。即显式游标(explicit cursor)。然后使用这个有名的游标,一次一行的处理记录。使用显式的游标,必须按照下面的四个步骤进行:A定义游标(在说明部分):在PL/SQL块的定义段中定义游标的名字,并将该游标和一个select语句相关联。定义游标的select语句不能包含into子句,在定义游标的语句总可以引用前面已经定义的变量。语法:cursor 游标名 is select 语句;B打开游标(在语句的执行部分):执行游标所对应的select语句,将其查询结果放入工作区,并且指针指向工作区首部。语法:OPEN 游标名;C将当前行结果提取到PL/SQL变量中。系统在每执行一次fetch语句时都将指针顺序下移一行,使下一行成为当前行。循环执行fetch语句,直到整个活动集都被返回。语法;fetch 游标名 into 变量1,变量2 .D关闭游标(在语句的执行部分):完成对select语句的处理之后就可以关闭游标,有标关闭后,系统释放与该游标相关联的资源,并使该游标的工作区变成无效。 语法:close 游标名;3、在PL/SQL中使用%TYPE 在许多情况下,PL/SQL变量可以用来存储在数据库表中的数据。在这种情况下,变量应该拥有与表列相同的类型。例如,students表的first_name列的类型为VARCHAR2(20),可以按照下述方式声明一个变量: DECLARE v_FirstName VARCHAR2(20); 但是如果first_name列的定义改变了会发生什么(比如说表改变了,first_name现在的类型变为VARCHAR2(25))就会导致所有使用这个列的PL/SQL代码都必须进行修改。如果你有很多的PL/SQL代码,这种处理可能是十分耗时和容易出错的。 这时,你可以使用”%TYPE”属性而不是将变量类型硬性编码。 例如: DECLARE v_FirstNamestudents.first_name%TYPE; 通过使用%TYPE,v_FirstName变量将同students表的first_name列的类型相同(可以理解为将两者邦定起来)。 每次匿名块或命名块运行该语句块以及编译存储对象(过程、函数、包、对象类和触发器)时,就会确定该类型

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论