收藏 分享(赏)

Oracle28647.doc

上传人:gnk289057 文档编号:7444972 上传时间:2019-05-18 格式:DOC 页数:2 大小:45KB
下载 相关 举报
Oracle28647.doc_第1页
第1页 / 共2页
Oracle28647.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、实验一 2(4 ) (4)在 Oracle 的安装目录下找到当前已安装的 TEST 数据库的所有物理文件,分类写出文件名称。 (1)文件类型是 Visual Basic User Control: CONTROL01、CONTROL02、CONTROL03、 (3)文件类型是文本文档:RED001 、 RED002、RED003实验二 2 (2 ) 查询性别为女生的平均成绩。 select avg(grade) 女生的平均成绩 from sc,student s where ssex=女 and s.sno=sc.sno 查询选修了课程号为 3 的所有学生的姓名。select sname fr

2、om sc , s where cno=3 and s.sno=sc.sno; 查询既选修了课程 2 又选修了课程 3 的学生姓名和学号。 select sname,s.sno from sc,student s where sc.sno=s.sno and cno=2 and sc.sno in (select sno from sc where cno=3); select sname,s.sno from sc,student s where sc.sno=s.sno and cno=2 intersect select sname,s.sno from sc,s where sc.sn

3、o=s.sno and cno=3; 查询与“孙兰”在同一个系学习的学生 select sno,sname,sclass from student where sclass in (select sclass from student where sname=孙兰); select s1.sno,s1.sname,s1.sclass from student s1,student s2 where s1.sclass=s2.sclass and s2.sname=孙兰实验 3 (1)创建一个过程 avg_sal,用于输出 emp 表中的某个部门的平均工资,并在PL/SQL 匿名块调用该过程输出

4、部门 SALES 的平均工资; create or replace procedure avg_sal(depName in varchar2, avgSal out number) is begin select avg(sal) into avgSal from emp,dept where emp.deptNo=dept.deptNo and dname=depName group by emp.deptNo; dbms_output.put_line(部门|depName|的平均工资是|to_char(avgSal); end测试函数: set serveroutput on; dec

5、lare dname dept.dname%type; avgSal emp.sal%type; begin dname:=ACCOUNTING; avg_sal(dname,avgsal); end; (2)创建一个函数 sum_n(n int), 用于输出在 1 到 n 之间的偶数之和,并条用该函数,输出 1 到 1500 之间的偶数和。 CREATE OR REPLACE FUNCTION SUM_N(N NUMBER ) RETURN NUMBER AS I NUMBER(3); SUM_VAL NUMBER:=0; BEGIN FOR I IN 1N LOOP IF MOD(I+1,

6、2)!=0 THEN SUM_VAL:=SUM_VAL+I; END IF; END LOOP; RETURN SUM_VAL; END SUM_N;测试函数: declare n number; begin n:=10; dbms_output.put_line(sum_n(1500); end;(2 )创建一个函数 find_loc, 用于返回某个员工所在的工作地点。并调用该函数,显示员工号为 7788 的工作地点。 CREATE OR REPLACE FUNCTION find_loc(emp_no NUMBER) RETURN VARCHAR2 AS location VARCHAR2

7、(13); BEGIN SELECT loc INTO location FROM emp, dept WHERE emp.deptno=dept.deptno AND empno=emp_no; RETURN location; END find_loc; (3)创建一个触发器 tr_emp_sal,当进行 update 操作时,员工的工资只能涨不能降,不允许删除员工记录。 create or replace trigger tr_emp_sal before update of sal or delete on emp for each row begin case when updati

8、ng(sal) then if :new.sal-:old.sal0 then raise_application_error(-20001, 员工的工资只能涨不能降!); end if; when deleting then raise_application_error(-20002, 不能删除员工记录!); end case; end;Oracle 复习/ch1 数据库的完整性,有哪些约束/ch2 体系结构/物理:物理文件(数据、控制、日志)/逻辑:表空间、段、区、数据块/ 进程:7 个进程内存:SGA/PGA/数据字典/ch3/SQL*Plus 命令:DESC/SAVE/GET/EDIT/START/COLUMN/ACCEPT 例 3.17/ch4 创建基本表空间和临时表空间/ch5 表、视图、索引和序列的创建ch6 备份控制文件、管理日志文件组/ch7、ch8 select 语句/ch9 /IF 语句例 9.7/CASE 语句例9.8/游标:声明、打开、检索和关闭ch10/存储过程、函数和触发器的创建/触发器的两种级别

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报