Oracle 数据库中 游标实验报告

合集下载

oracle数据库实验报告

oracle数据库实验报告

oracle数据库实验报告《Oracle数据库实验报告》在当今信息化时代,数据库管理系统扮演着至关重要的角色。

Oracle数据库作为全球领先的企业级数据库管理系统,在各行各业都有着广泛的应用。

本次实验旨在通过对Oracle数据库的实验操作,深入了解其基本功能和特点,并探讨其在实际应用中的优势和局限性。

实验一:数据库的创建与连接在实验中,我们首先学习了如何使用SQL命令创建一个新的数据库,并通过用户名和密码连接到该数据库。

通过这一步骤,我们了解了Oracle数据库的基本操作流程,包括数据库的创建、用户的授权和连接等。

实验二:数据表的创建与管理在本次实验中,我们学习了如何使用SQL命令创建数据表,并进行数据的插入、查询、更新和删除操作。

通过这些操作,我们深入了解了Oracle数据库的数据管理功能,包括数据表的设计和维护等。

实验三:索引的创建与优化索引是数据库中非常重要的组成部分,能够提高数据的检索效率。

在本次实验中,我们学习了如何使用SQL命令创建索引,并通过优化查询语句来提高数据库的性能。

这些操作让我们更加深入地了解了Oracle数据库的优化功能,以及如何通过索引来提高数据库的性能。

实验四:备份与恢复数据库的备份与恢复是数据库管理中至关重要的一环。

在本次实验中,我们学习了如何使用Oracle数据库提供的工具进行数据库的备份和恢复操作。

这些操作让我们了解了数据库的灾难恢复功能,以及如何保障数据的安全性。

通过本次实验,我们深入了解了Oracle数据库的基本操作和功能,包括数据库的创建与连接、数据表的管理、索引的优化以及备份与恢复等。

同时,我们也发现了Oracle数据库在实际应用中的优势,如稳定性、安全性和性能优化等方面。

然而,我们也意识到Oracle数据库在一些特定场景下存在一定的局限性,如高昂的成本、复杂的配置和维护等。

总的来说,本次实验让我们更加深入地了解了Oracle数据库的特点和功能,对我们今后的数据库管理工作有着重要的指导意义。

Oracle实验报告模板

Oracle实验报告模板

实验报告实验名称:数据库的管理实验课时:2课时实验地点:知行楼305实验时间:年月日星期第周实验目的及要求:1)了解Oracle数据库的逻辑结构和物理结构。

2)熟悉Oracle的命令操作环境SQL*PLUS。

3)了解启动和关闭数据库的不同方式及其优缺点。

4)熟悉掌握各种启动、关闭方式。

实验环境:1)硬件设备:PC机一台2)操作系统:Windows XP3)应用工具:Oracle 11g实验内容:(算法、程序、步骤和方法)1、SQL*Plus的启动与关闭2、关闭数据库3、启动数据库4、改变数据库的状态5、使用DBCA创建数据库6、思考题小结:通过这次上机实验,我有以下收获:但是还上机操作过程中还存在以下几个方面的不足:指导老师评议:成绩:指导老师签名:年月日实验报告实验名称:表的管理实验课时:4课时实验地点:实验时间:年月日星期第周实验目的及要求:1)了解Oracle表和视图的概念。

2)熟练掌握使用SQL语句创建表。

3)学习使用SELECT语句查询数据。

实验环境:4)硬件设备:PC机一台5)操作系统:Windows XP6)应用工具:Oracle 11g实验内容:(算法、程序、步骤和方法)1)创建用户,指定密码、表空间。

用户名命名以本人姓名的缩写+_+学号后两位命名。

代码如下:2)创建如下表,将表保存到自己的用户方案中。

代码如下:3)为各表输入数据。

代码如下:4)查询每门课程被选修的学生数。

代码如下:5)查询出只选修了一门课程的全部学生的学号和姓名。

代码如下:6)查询男生、女生人数。

代码如下:7)查询姓“张”的学生名单。

代码如下:8)查询同名同姓学生名单,并统计同名人数。

代码如下:9)查询1981 年出生的学生名单。

代码如下:10)查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列。

代码如下:11)查询平均成绩大于85 的所有学生的学号、姓名和平均成绩。

代码如下:12)统计每门课程的学生选修人数(超过10 人的课程才统计)。

《Oracle数据库》实验报告参考模板

《Oracle数据库》实验报告参考模板

河南财经政法大学计算机与信息工程学院
2011年---2012年第一学期
专业:信息管理与信息系统
课程名称:Oracle数据库
班级:
姓名:学号:
指导教师:张巧荣
实验一创建数据库和表
实验二表数据的插入、修改和删除
实验三数据库的查询
实验四数据库的视图
实验五索引和完整性
实验六用户、角色管理
实验七备份和恢复
实验八PL/SQL编程
实验九存储过程和触发器的使用
友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!。

oracle大型数据库实验报告4

oracle大型数据库实验报告4

五、思考题及其它1、显示游标和隐式游标在用法上的区别?2、raise语句应该放在PL/SQL块的哪个部分?当在异常和oracle错误之间建立关联时,应该在哪个部分完成?3、实验报告要求本次实验书写两次,分别是(一)和(二)、(三)和(四)实验六:过程、函数、触发器实验学时:4实验类型:设计型一.实验目的及要求1.掌握过程的创建与维护;2.掌握函数的创建与维护;3.掌握触发器的创建于维护;4.了解包的使用。

二、实验主要内容1.过程的创建与维护;2.函数的创建与维护;3.触发器的创建于维护;4.包的使用。

三、实验仪器设备在局域网环境下,有一台服务器和若干台客户机。

服务器成功安装Oracle 11g数据库服务器(企业版),客户机成功安装Oracle 11g客户端软件,网络服务配置正确,数据库和客户端正常工作。

四、实验内容与步骤(一)、过程的创建与维护1、编写一个过程,可以输入一个雇员名,如果该雇员的的职位为PRESIDENT就给他的工资增加1000,如果该雇员的职位为MANAGER,就给他的工资加500,其他职位的雇员工资增加200。

并在SQL*PLUS中调用该过程以修改FORD的工资。

2、创建一个过程avg_sal,用于输出emp表中某个部门的平均工资,并在PL/SQL匿名块中调用该过程输出20号部门的平均工资。

3、从雇员基本信息表(EMP)中统计各部门(DEPTNO)人数后,将结果打印出来。

(选做)CREATE OR REPLACE PROCEDURE SUM_COUNT IS--创建一个游标,查询dept所有的部门编号Dept_cursor %ROWTYPE; --定义一个游标类型的变量--定义一个变量来存储部门人数BEGIN--打开游标LOOPINTO Dept_cursor;--读取游标SELECT COUNT(*) INTO num FROM empWHERE deptno= Dept_cursor.deptno;/*--填充代码,打印输出部门号及其对应的部门人数*/EXIT WHEN %NOTFOUND;--退出循环END LOOP;--关闭游标COMMIT;END;--执行存储过程sum_count(二)、函数的创建与维护1、创建一个函数get_sum_salary,获取某部门的人数(out参数)和工资总和(返回值)。

Oracle数据库实验-PLSQL游标、过程、函数、包的使用

Oracle数据库实验-PLSQL游标、过程、函数、包的使用

Oracle数据库实验-PLSQL游标、过程、函数、包的使用Oracle数据库基础实验5 PL/SQL游标、过程、函数、包的使用【实验学时】2学时【实验目的】1.了解PL/SQL语言中显式游标和隐式游标的概念和属性。

2.了解显式游标和隐式游标的差异。

3.掌握PL/SQL中cursor for循环的使用方法。

4.学会在PL/SQL程序中使用游标来解决实际问题。

5.学会在PL/SQL程序中进行异常处理的方法。

6.练习在PL/SQL中自定义异常。

7.理解过程和函数的作用。

8.学会编写过程、函数、包,并加以调用。

【实验内容】1.用显式游标编写程序,程序的功能是:计算每一个部门的平均工资。

注意异常的处理(例如,分母为0的异常)。

已写入文件afiedt.buf1 declare2 cursor c_dept is select * from dept order by deptno;3 cursor c_emp(p_dept emp.deptno%type)is selectename,sal from emp where deptno=p_dept4 order by ename;5 r_dept dept%rowtype;6 v_ename emp.ename%type;7 v_salary emp.sal%type;8 v_tot_salary emp.sal%type;9 begin10 open c_dept;11 loop12 fetch c_dept into r_dept;13 exit when c_dept%notfound;14dbms_output.put_line('department:'||r_dept.deptno||'-'||r_de pt.dname);15 v_tot_salary:=0;16 open c_emp(r_dept.deptno);17 loop18 fetch c_emp into v_ename,v_salary;19 exit when c_emp%notfound;20dbms_output.put_line('name:'||v_ename||'salary:'||v_salary);21 v_tot_salary:=v_tot_salary+v_salary;22 end loop;23 close c_emp;24 dbms_output.put_line('total salary fordept:'||v_tot_salary);25 end loop;26 close c_dept;27* end;SQL> /PL/SQL 过程已成功完成。

数据库游标实验报告

数据库游标实验报告

计算机系一、实验目的1、掌握创建游标的方法和步骤;2.掌握游标的使用方法;二、实验内容1、游标的创建;2、游标的使用方法。

三、实验步骤1、游标的创建。

1)使用S_C数据库中的S表、C表、SC表创建一个存储过程—sp_CURSOR1。

该存储过程的作用是:显示所有的课程信息,如果成绩>=90显示成绩本身;成绩>=80显示良;成绩>=70显示中;成绩>=60显示及格;成绩>=0显示不及格;如果没有成绩则显示无成绩。

信息还包含学号,姓名,课程和成绩,显示格式如下:学号---姓名---课程---成绩,如图1所示。

要求使用游标技术实现上述要求,使用Print语句实现显示。

图1 成绩显示格式sp_CURSOR1的创建语句:create proc sp_CURSOR1asDeclare @sname varchar(50)Declare @sno varchar(20)Declare @cno varchar(20)Declare @cname varchar(20)Declare @grade varchar(20)Declare SCursor Cursor ForSelect sno,cno,grade From SCOpen SCursorFetch Next From SCursor Into @sno,@cno,@gradeWhile@@FETCH_STATUS= 0beginselect @sname=sname From S where sno=@snoselect @cname=cname From C where cno=@cnoif(@grade ='')Print @sno+@sname+@cname+'null'else if(@grade >= 90)Print @sno+@sname+@cname+@gradeelse if(@grade >=80)Print @sno+@sname+@cname+'良'else if(@grade >=70)Print @sno+@sname+@cname+'中'else if(@grade >=60)Print @sno+@sname+@cname+'及格'elsePrint @sno+@sname+@cname+'不及格'Fetch Next From SCursor Into @sno,@cno,@gradeEndClose SCursorDeallocate Scursorgo结果描述:2、游标的使用。

《Oracle数据库》实验报告

《Oracle数据库》实验报告

实验二Oracle数据库开发环境下PL/SQL编程(2学时)【实验目的】(1)掌握PL/SQL 的基本使用方法。

(2)在SQL*PLUS环境下运行PL/SQL的简单程序。

(3)应用PL/SQL 解决实际问题【实验内容与步骤】一、实验内容:1、用PL/SQL实现:输入eno的值,显示emp表中对应记录的内容。

2、用PL/SQL完成:读入三个数,计算并输出它们的平均值及三个数的乘积。

3、对职工表emp中的雇员SCOTT提高奖金,若工种为MANAGER,则奖金提高其原来的20%;若工种为SALESMAN,则奖金提高其原来的15%;若工种为ANALYST,则奖金提高其原来的10%,其它都按原来的7%提高。

4、用PL/SQL块实现下列操作公司为每个职工增加奖金:若职工属于30号部门,则增加$150;若职工属于20号部门,则增加$250;若职工属于10号部门,则增加$350。

(提示:游标请自行阅读相关内容)DECLAREaddcomm m%type;CURSOR emp_cursor IS select deptno from emp;BEGINFOR emprec IN emp_cursor LOOPIF emprec.deptno=30 THEN addcomm:=150;ELSIF emprec.deptno=20 THEN addcomm:=250;ELSIF emprec.deptno=10 THEN addcomm:=350;END IF;Update empset comm=comm+ addcomm where deptno= emprec.deptno;END LOOP;COMMIT WORK;END;实验三PL/SQL触发器和存储过程(2学时)【实验目的】(1)了解触发器的类型。

(2)掌握PL/SQL触发器的使用方法。

(3)了解存储过程的使用方法。

(4)掌握存储过程的使用方法。

【实验内容】实验内容:1、编写一个数据库触发器,当任何时候某个部门从dept表中删除时,该触发器将从emp 表中删除该部门的所有雇员。

《Oracle技术》实验报告5(答案)1

《Oracle技术》实验报告5(答案)1

《Oracle技术》实验报告实验名称PL/SQL编程(选作10题,程序另加附页)姓名学号日期专业班级实验目的(1)了解PL/SQL块的基本结构和分类。

(2)熟练掌握编写PL/SQL块的方法。

(3)了解PL/SQL存储过程、触发器、游标的作用。

(4)熟练掌握编写PL/SQL存储过工程的方法及维护过程。

(5)熟练掌握创建触发器的方法及维护过程。

(6)孰练掌握显式游标和隐式游标的使用。

实验内容(1)编写一个PL/SQL块,输出所有员工的员工名、员工号、工资和部门号。

BEGINFOR v_emp IN (SELECT * FROM EMP) LOOP DBMS_OUTPUT.PUT_LINE(v_emp.ename||’‘||v_emp.empno|| ’‘||v_emp.sal||’‘|| v_emp.deptno);END LOOP;END;/(2)编写一个PL/SQL块,查询名为“SMITH”的员工信息,并输出其员工号、工资、部门号。

如果该员工不存在,则插入一条新记录,员工号为2007,员工名为“SMITH”,工资为1500,部门号为10。

如果存在多个名为“SMITH”的员工,则输出所有名为“SMITH”的员工号、工资和部门号。

成绩DECLAREV_empno emp.empno%type;V_sal emp.sal%type;V_deptno emp.deptno%type;BEGINSELECT empno,sal,deptno INTOV_empno,v_sal,v_deptno FROM emp WHERE ename=’SMITH’;DBMS_OUTPUT.PUT_LINE(v_empno||’’||v_sal||’’||v_dept no);EXCEPTIONWHEN NO_DATA_FOUND THENINSERT INTO EMP(empno, ename,sal,deptno)V ALUES(2007,’SMITH’,1500,10);WHEN TOO_MANY_ROWS THENFOR v_emp IN (SELECT empno,sal,deptno FROM emp WHERE ename=’SMITH’) LOOPDBMS_OUTPUT.PUT_LINE(v_emp.empno||’‘||v_emp.sal|| ’‘||v_emp.deptno);END LOOP;END;/(3)创建一个存储过程,以员工号为参数,输出该员工的工资。

《Oracle数据库》实验报告二(2)

《Oracle数据库》实验报告二(2)

广东金融学院实验报告课程名称:Oracle数据库1四、实验步骤及结果(包含简要的实验步骤流程、结论陈述)1. 创建表空间 stu_tbsSQL>create tablespace stu_tbs2 datafile 'c:\finance_db\' size 25m online;创建用户 stuuser5SQL>create user stuuser5_sql identified by user2sql;SQL>alter user stuuser5_sql account lock;查看“stuuser+学号_sql”用户的信息SQL>select * from all_users;3查看该用户验证的方式DBA_USERS 数据字典中查看“stuuser+学号_sql”用户的默认表空间和临时表空间用企业管理器,修改“stuuser+学号”用户,验证方式为外部用户解锁,并修改密码SQL>alter user stuuser2_sql account unlock;SQL>alter user stuuser2_sql identified by sql2user;5授予“stuuser+学号_sql”用户“SYSOPER”系统权限SQL>grant sysoper to stuuser5_sql;sqlplus 收回用户在“SYSTEM”方案中对“help”表的查看、修改、删除等对象权限SQL>revoke select,alter,delete on from stuuser2;用 Ssqlplus 收回用户的“SYSOPER”系统权限SQL>revoke sysoper from stuuser2_sql;利用企业管理器查看所有表的字段信息和约束信息SQL>select * from DBA_TAB_COLUMNS;表数据编辑(用“stuuser+学号_sql”用户完成)①用“stuuser+学号”用户完成对“stuuser+学号_sql”用户的相关授权SQL> grant create session, create table to stuser5 with admin option;SQL> conn stuser5/orace;SQL> grant create session,create table to stuuser5_sql;对表中数据的编辑,包括添加、修改和删除SQL> create table Customer2 (CustomerNumber NUMBER(10,0) not null constraint pk primary key,3 CustomerName VARCHAR(10) not null,4 CustomerSex NCHAR(1) not null,5 CustomerIDCard CHAR(18) not null)SQL>insert into2 Customer (CustomerNumber, CustomerName, CustomerSex, CustomerIDCard)3 values('1','杨虹','女', '23216');SQL>update Customer set CustomerSex='女',CustomerName= '赵敏'2 where CustomerNumber=2;SQL>delete from Customer where CustomerName like '杨%';7利用 SQL*Plus 或 iSQL*Plus 实现对表中数据的各种实用性查询SQL> select * from Customer where CustomerNumber=19。

数据库《游标的使用》实验报告

数据库《游标的使用》实验报告

x x大学计算机与信息技术学院实验报告姓名学号专业班级课程名称数据库系统概论实验日期成绩指导教师批改日期实验名称游标的使用一、实验目的:•掌握游标的使用方法•掌握使用游标逐行操作SELECT语句结果集的数据的技能二、实验内容:•游标声明•打开游标•读取数据•关闭游标•释放游标三、实验步骤:(一)使用游标的几个步骤:1、声明游标。

使用T-SQL语句生成一个结果集,并且定义游标的特征,如游标中的记录是否可以修改;2、打开游标3、推进游标指针,从游标的结果集中提取数据,从游标中检索一行或多行数据成为提取数据。

4、逐行处理游标指针所指向的行数据。

5、关闭和释放游标。

例1、利用标准方式声明一个名称为“student”的游标use 学生选课declare student cursorforselect Sno,Sname,sageFROM studentWHERE sage=19FOR READ ONLYGOopen student // 打开gofetch next from student //从游标中读取数据goclose student // 关闭deallocate student // 删除例2:声明一个名称为Xuanke的游标use 学生选课/*声明一个名称为Xuanke的游标*/ DECLARE XUANKE CURSOR DYNAMIC /*动态的,动力的*/ FORSELECT Sno,GradeFROM SCWHERE Cno='1'FOR UPDATE OF SnoGO/*打开XUANKE游标*/OPEN XUANKEGO/*从XUANKE游标中读取数据*/ FETCH NEXT FROM XUANKEGO/*关闭XUANKE游标*/CLOSE XUANKE/*删除XUANKE游标*/ DEALLOCATE XUANKE例3:声明一个游标,可前后滚动,可对选课表2中的成绩进行修改use 学生选课/*声明一个游标,可前后滚动,可对选课表中的成绩进行修改use 学生选课*/DECLARE XK CURSORFOR SELECT*FROM SCFOR UPDATE OF Grade/*打开游标XK*/OPEN XKSELECT'游标数据行数'=@@CURSOR_ROWS/*全局变量@@CURSOR_ROWS返回最后打开的游标中当前存在的合格行的数量。

Oracle大型数据库实验报告

Oracle大型数据库实验报告

实验报告
课程名称:大型数据库系统
实验项目:数据库实验
实验地点:逸夫楼302
专业班级:软件1013班学号:2010004744 学生姓名:荆婉
指导教师:沈晋原
2013年4 月12 日
太原理工大学实验报告一
16.、SQL Plus的登录界面
17.SQL Developer的界面。

单击“创建”
创建表Employees如下
点击“确定”即可创建创建表Departments如下
单击“确定”即可创建创建表Salary如下
点击“使用选项删除”即可删除该表
9、在SQL Developer中创建表
根据教材p309页的要求,用SQL Developer在YGGL或实验一中创建的数据库重建上述各表。

注意,连接名可直接用数据库名而不必加'_ora',但要保证SID名要与数据库名一致。

给出相应过程及结果截图。

点击“确定”即可创建
点击“确定”即可创建
太原理工大学实验报告二
向Departments表中插入数据如下
(2)select Name,InCome,OutCome
from Employees,Salary,Departments
where Employees.EmployeeID= Salary.EmployeeID and Employees.DepartmentID= Departments.DepartmentID and
6、使用视图
按照教材p317的内容和步骤完成实验内容。

给出相应语句段和结果的对应截图。

8、创建视图
(2)使用视图
<1>查询财务部雇员的信息
太原理工大学实验报告三。

oralce实验报告2.0

oralce实验报告2.0

实验报告系(部):信息工程系班级物联网141班姓名:江乐学号:14121110课程:oralce教师:余秋明实验名称实验操作同组人:李子晖实验日期2016/11/17成绩:一、实验目的和要求若要在pl/sql中实现控制程序的执行流程和实现复杂的业务逻辑运算,就必须使用流程控制语句,因为只有能够进行结构控制才能灵活地实现各种复杂操作和功能,pl/sql中的流程控制语句主要包括选择语句、循环语句两大类。

1,选择语句主要作用是根据条件的变化选择执行不同的代码。

2,游标提供了一种从表中检索数据并进行操作的灵活手段,游标主要用在服务器上,处理由客户端发到服务器的sql语句。

二、实验仪器与设备1,oracle·10gwindows版本软件2,windows10操作系统3,wps·office文件处理软件三、实验原理1,SQL是用户与数据库交流所需要的标准语言,因此,要操作数据库一定要掌握好SQL。

SQL的优化主要与数据库开发人员及应用的=程序开发人员能否高效的SQL语句有关。

2,PL/SQL是oralce在数据库中引入的一种过程化编程语言。

PL/SQL构建在SQL之上,可以用来编写包含SQL语句的程序。

PL/SQL是第三代,第四代语言,其中包含这类语言的标准编程结构。

3,显示游标是由用户声明和操作的一种游标,通常用于操作查询结果集,使用它处理数据的步骤包括:声明游标、打开游标、读取游标和关闭游标的四步骤。

其中读取游标可能是个反复操作的步骤,因为游标每次只能读取一行数据,所以对于多行数据,需要反复读取,直到游标读取不到数据为止。

4,存储过程是一种命名pl/sql程序块,它既可以没有参数,也可以有若干输入、输出参数,甚至可以有多个即作输入又做输出的参数,但它通常没有返回值。

存储过程被保留在数据库中,他不可以被sql语句直接执行或调用,只能通过execut命名执行或在pl/sql程序块内部被调用。

实验8游标包和存储过程

实验8游标包和存储过程
二实验环境本实验所使用的硬件设备和相关软件安装windowsxp或win7操作系统的电脑一台oracle安装软件plsqldeveloper软件三实验内容及步骤建立一张名为courseselect的表包括cname课程名varchar260和selectstudentvarchar2100选修该课程的学生姓名然后基于studentsql脚本建立的三张表studentcoursesc用游标实现向courseselect入数据cname中插入选修的课程名selectstudent插入所有选修该课程的学生姓名
创建触发器
二、 定义存储过程
Hale Waihona Puke 调用存储过程三、 创建包规范
创建包主体
调用函数
调用存储过程
五、实验总结(对本实验结果进行分析,实验心得体会及改进意见) 游标包和存储过程还需要继续学习。
实验评语 实验成绩 指导教师签名: 年 月 日
2. 基于 student.sql 脚本建立的三张表 student,course,sc,编写一个存 储过程,输入学生的学号,输出其选修门数,平均分,最高分和最低分。 冰编写 PL/SQL 程序块调用该存储过程。 3. 编写一个名为 mypack 的包,包中包含一个名为 fun_classnum 的函数,该 函数的功能是输入班级名称,求出班级人数,和一个名为 pro_selectstudent 的存储过程,该存储过程的作用是输入学生学号,返 回学生的姓名和所在班级。并编写 PL/SQL 程序块,调用该包中的函数和 存储过程。 四、实验结果(本实验源程序清单及运行结果或实验结论、实验设计图) 一、 创建表
实验报告
课程名称 数据库应用技术 的创建 实验类型 □验证型 □综合型
√ 设计型
实验日期 4 月 12 日

Oracle数据库实验报告

Oracle数据库实验报告

Oracle数据库实验报告第一篇:Oracle数据库实验报告中南林业科技大学实验报告课程名称:Oracle数据库专业班级:姓名:学号:****年**月**日实验一安装和使用Oracle数据库【实验目的】1.掌握Oracle软件安装过程,选择安装组件2.掌握建立Oracle数据库,配置网络连接3.掌握Oracle企业管理器的基本操作4.使用SQL*Plus,登录到实例和数据库5.掌握命令方式的关闭和启动实例及数据库【实验内容】1.查看已安装的Oracle组件2.查看服务,记录下和数据库有关的服务名,将他们设为手动方式,启动相关服务。

3.配置监听器,查看是否在服务中有LISTENER,是否能启动。

4.配置本地net服务,提示:设置正确的服务器地址和端口号。

5.打开SQL*Plus,用SYS和SYSTEM用户名和密码登录。

6.思考题:有几种打开SQL*Plus的方法?分别是什么?7.用命令关闭实例和数据库,记录命令8.用命令以NOMOUNT的方式启动实例,再加载数据库,打开数据库。

【实验结论】1.查看已安装的Oracle组件2.查看服务,记录下和数据库有关的服务名,将他们设为手动方式,启动相关服务。

3.配置监听器,查看是否在服务中有LISTENER,是否能启动。

4.配置本地net服务,提示:设置正确的服务器地址和端口号。

5.打开SQL*Plus,用SYS和SYSTEM用户名和密码登录。

6.思考题:有几种打开SQL*Plus的方法?分别是什么?(1)直接打开 sql plus 即窗口方式(2)cmd 命令行方式(3)WEB 页面中 iSQL*Plus 方式 7.用命令关闭实例和数据库,记录命令 SQL>shutdown immediate8.用命令以NOMOUNT的方式启动实例,再加载数据库,打开数据库。

sql>startup nomount sql>alter database mount;sql>alter database open;sql>startup(1).用SQLplus 命令:show parameters参数名(2).用select [列名] from 表名2.初始化文件有几种?默认的保存位置在哪里?初始化文件有三种:数据文件,日志文件,控制文件;默认的保存位置E:oracleproduct10.2.0oradataorcl4.打开OEM,查看三类物理文件信息三类物理文件:数据文件、控制文件、日志文件数据文件:.DBF 存储表、索引及数据结构信息日志文件:.LOG记录对数据库的所有修改信息,用于恢复控制文件:.CTL二进制文件,记录数据库名、文件标识、检查点5.分别用select命令查询V$parameter动态性能视图,用show 命令查看全局数据库名、实例名、是否启动自动归档、标准数据块大小这四个参数的值,记录命令和结果。

Oracle实验报告之触发器

Oracle实验报告之触发器

实验报告实验名称:使用游标、存储过程和触发器实验课时:2课时实验地点:E305实验时间:2014年5月 21日星期三第14 周实验目的及要求:(1)了解游标的概念和工作原理。

(2)了解存储过程的分类和使用方法。

(3)了解触发器的概念。

(4)学习编写和执行自定义过程。

(5)学习创建和使用触发器。

实验环境:(1)硬件设备:PC机一台(2)操作系统:Windows XP(3)应用工具:Oracle 11g实验内容:(算法、程序、步骤和方法)(1)创建游标mycur,从表employees中读取1号部门的员工姓名,职务。

并输出“员工姓名:XXX,职务:XXX。

”程序代码如下:set serveroutput on;DECLARECURSOR mycur ISSELECT emp_name, titleFROM employeeswhere dep_id=1;BEGINFOR yw IN mycur LOOPdbms_output.put_line('员工姓名:'||yw.emp_Name||'职务:'||yw.title);END LOOP;END;执行结果如下:(2)创建存储过程GetGrade,查询指定员工的工资,使用CASE语句输出其工资等级。

工资小于等于3000,等级为“低”;工资大于3000,小于5000,等级为”中”;工资大于等于5000,等级为高。

并执行该存储过程。

创建存储过程代码如下:create or replace procedure getgrade(yw_depid number)asyw_wage employees.wage%type;yw_grade varchar2(5);beginselect wage into yw_wagefrom employeeswhere emp_id=yw_depid;yw_grade:=casewhen yw_wage<=3000 then '低'when yw_wage>=3000 and yw_wage<5000 then '中'when yw_wage>=5000 then '高'end;dbms_output.put_line('该员工工资等级为'||yw_grade);end;执行存储过程代码如下:execute getgrade(3);call getgrade(3);执行结果如下:(3)创建存储过程UpdateWage,查询指定员工的工资,如果工资小于3000,则加200工资,并提示信息“XX号员工工资已更新。

Oracle数据库 实验报告

Oracle数据库 实验报告
2.实验内容
在SQL*PLUS或PL/SQL Developer工具中编写PL/SQL的简单程序,熟悉PL/SQL的编程环境和代码结构。实现与Oracle数据库交互,并捕获和处理常见系统异常和用户自定义异常。
3.主要仪器设备及软件
1)PC
2)ORACLE数据库
-------------------------------------------------------------------------
实现下面功能:
使用游标实现:将某门课程高于平均分的学生的姓名,课程名,成绩格式化输出。
3.主要仪器设备及软件
1)PC
2)ORACLE数据库
-------------------------------------------------------------------------
实验一 了解ORACLE环境,使用ORACLE数据库实用工具
( 验证性实验 4学时)
1.目的要求:
了解ORACLE数据库的各个常用工具软件
2.实验内容:
在ORACEL数据库下使用SQL*PLUS ,SQL*PLUS Worksheet,PL/SQL Developer工具,企业管理器等实用工具与Oracle交互。并在企业管理器中观察ORACLE的底层存储原理。在PL/SQL Developer中书写简单的SQL语言。
3.主要仪器设备及软件
1)PC
2)ORACLE数据库
-------------------------------------------------------------------------
实验六 触发器,序列及同义词
( 验证性实验 6学时)

实验8:游标 实验报告

实验8:游标 实验报告
FROMExternalcandidate
OPENcur2
DECLARE@nameVARCHAR(20)
DECLARE@emailVARCHAR(20)
FETCHcur2INTO@name,@email
WHILE(@@FETCH_STATUS=0)
BEGIN
PRINT'Candidate Name = '+@name
…………
3.对于Employee表,打印出每位职员的姓名和电话号码,打印格式如下,并将其中凡是电话区号为‘614’的改为区号为‘618’:
Employee Name =Angela Smith
Employee Phone =(913)227-2344
EmployeeName = Betty Williams
FORUPDATEOFcPhone
OPENcur3
DECLARE@nameVARCHAR(20)
DECLARE@phoneCHAR(15)
UPDATEEmployee
SETcPhone=REPLACE(cPhone,'(614)','(618)')
FETCHcur3INTO@name,@phone
WHILE(@@FETCH_STATUS=0)
declarecur3cursorforselectvfirstnamevlastnamecphonefromemployeeforupdateofcphoneopencur3declarenamevarchar20declarephonechar15updateemployeesetcphonereplacecphone614618fetchcur3intonamephonewhilefetchstatus0beginprintemployeenamenameprintemployeephonephonefetchcur3intonamephoneendclosecur3deallocatecur3四实验总结通过这次试验我基本掌握了sqlserver的游标的使用方法这次实验对我以后的学习提供了很大的帮助让我熟悉了数据库实现简单查询
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle 数据库实验报告
系别:*******
班级:*******
姓名:*******
学号:*******
指导老师:****
一.实验名称
用带参数游标的FOR循环依此输出每一个部门名称,在部门名称的下面输出该部门的员工姓名和工资,按工资的升序排列。

二.实验目的
通过本次实验,逐渐熟悉oracle数据库的应用及输出的格式,更加深刻的了解其输出的语法,变量的定义及赋值和操作环境以及循环结构,异常的捕获,定义,处理,Oracle数据库中表的创建,插入,及表中所需数据的提取,掌握游标的定义,使用。

三.实验步骤
开始——运行输入cmd,出来oracle运行界面,代码如下:
DECLARE --变量,游标的声明;
CURSOR dept_cursor IS SELECT Dname,Deptno FROM DEPT; --游标的定义;
CURSOR emp_cursor(v_dept CHAR) IS SELECT Ename,Salary FROM EMP WHERE deptno=v_dept ORDER BY Salary;--按工资升序排序格式输出;
BEGIN
FOR dept_record IN dept_cursor LOOP --for循环,查询的结果单独的输出;
DBMS_OUTPUT.PUT_LINE('部门名称为:
'||dept_record.Dname||chr(10)||'部门编号:'||dept_record.Deptno); --输出语句;
FOR emp_record IN emp_cursor(dept_record.Deptno) LOOP DBMS_OUTPUT.PUT_LINE('员工姓名为:'||emp_record.Ename||'员工工资为:'||emp_record.Salary); END LOOP;
END LOOP;
END;
/
四.实验结果
五.实验总结
通过这次的上机实验,我学到了很多很多,更加了解oracle 数据及运行环境,变量定义,变量的赋值,语句的嵌套,循环的应用,异常的分类,异常的定义,异常的处理,Oracle数据库中表的创建,插入,及表中所需数据的提取,游标的定义,使用。

它让我知道了编程序需要耐心,需要细心,需要坚持不懈,不能
一遇到困难就放弃,就不编了。

相反的,在编程、调试过程中的遇到的困难让我更加的对专业课感兴趣。

编程的过程中,用到了很多的知识,这次实训对我来说很有意义,它改变了我以前的编程思想,使我的思想更加活跃(编程),考虑得更周到,这次实验让我增加了信心,对未来充满了希望。

相关文档
最新文档