精品文档

1. 索引的主要目标是提高访问的速度。(Y) 2. 包头没有包体是可以独立存在的。(Y) 3. OUT不是PL/SQL过程和函数的参数模式。(N)

4. 存储过程与触发器的主要区别就是,存储过程是由用户或应用程序显示

调用,而触发器是被事件自动触发。(Y)

5. 提供对对象的公共访问不是同义词具有的用途(N) 6. Trancate table 学生,该语句表示删除学生表。(N)

7. 创建视图的参数with read only,规定视图中不能执行插入、修改、删

除和查询操作。(N)

8. 创建对象类型使用create type语句(Y) 9. PL/SQL程序块最终由关键字end结束。(Y)

10. For循环中,每循环一次,循环变量自动增加一个步长的值。(Y)

四、 简答题(15分)

1. 列出oracle中索引的类型(5分)列出oracle中索引的类型(5分)

答:按照数据存储方式,可以分为B*树、反向索引、位图索引;

按照索引列的个数分类,可以分为单列索引、复合索引; 按照索引列值的唯一性,可以分为唯一索引和非唯一索引。 此外还有函数索引,全局索引,分区索引...

2. 简单列出几种当前流行的关系数据库系统?(5分)

答:Oracle,MySql,MsSql,DB2,Sybase.

3. 简单介绍表空间,并写出一种建立表空间的方法。(5分)

答:表空间是Oracle逻辑存储结构的最高层,一个数据库就是若干个表空间组成的。每个表空间对应操作系统中的一个或多个数据文件,但每个数据文件只能属于一个表空间。

Create tablespace表空间名datafile数据文件名;

五、 程序题(35分)

Scott用户下有表emp (EMPNO, ENAME, JOB, MGR, HIREDATE,

SAL,COMM ,DEPTNO)和表dept(DEPTNO ,DNAME,LOC),其中emp表为雇员表,各字段的中文含义为:雇员表(雇员号,雇员名,职位,上级编号,入职时间,月工资,奖金,部门号);dept表为部门表,各字段的中文含义为:部门表(部门编号,部门名,部门所在地点)。

精品文档

精品文档

1. 创建表空间mysp1,文件大小5M,文件名可以复用,数据文件放在

‘c:\\mysp1.dbf’。

创建表空间mysp1,文件大小5M,文件名可以复用,数据文件放在‘c:\\mysp1.dbf’。

createtablespace mysp1 datafile 'c:\\mysp1.dbf' size 5m reuse uniform size 128k;

2. 在mysp1表空间创建表 myemp,字段名及类型内容同scott用户下的emp。

在mysp1表空间创建表 myemp,字段名及类型内容同scott用户下

的emp。

Create table myemp as select * from scott.emp default tablespace mysp1

3. 修改myemp表将所有销售人员(即职位job为销售salesman)的奖金comm

加100

修改myemp表将所有销售人员(即职位(job)为销售salesman)

的奖金(comm)加100

Update myemp set comm=comm +100 where job=‘salesman’

4. 创建用户fox,密码f123,授予fox连接数据库,完全访问emp表和dept

表的权限。

创建用户fox,密码f123,授予fox连接数据库,完全访问emp

表和dept表的权限。

create user fox2 identified by f123; grant create session to fox;

grant select on scott.emp to fox;

5. 使用emp表查询工资高于500或者是岗位为MANAGER的雇员,同时还要满

足他们的姓名首字母为大写的J?

使用emp表查询工资高于500或者是岗位为MANAGER的雇员,同

时还要满足他们的姓名首字母为大写的J?

select * from scott.emp where (sal>500 or job='MANAGER') and ename like 'J%';

6. 使用emp表显示每个部门的每种岗位的员工的平均工资和最低工资?

使用emp表显示每个部门的每种岗位的员工的平均工资和最低工

精品文档

精品文档

资?

select deptno,job ,avg(sal) as 平均工资,min(sal) as 最低工资 from emp group by deptno,job;

7. 编写PL/SQL程序块,实现查询某个雇员的岗位,用中文显示岗位名称。

CLERK 普员工,SALESMAN 销售,MANAGER 经理,ANALYST 分析师,PRESIDENT 总裁(使用case语句)

编写PL/SQL程序块,实现查询某个雇员的岗位,用中文显示岗位名称。CLERK 普员工,SALESMAN 销售,MANAGER 经理,ANALYST 分析师,PRESIDENT 总裁(使用case语句)

setserverout on declare

v_jobscott.emp.job%type; v_shuchu varchar2(30); V_empno varchar2(20); begin

V_empno:=&empno;

select job into v_job from scott.emp where empno=v_empno; casev_job

when 'CLERK' then v_shuchu:='得职位是:普通员工'; when 'SALESMAN' then v_shuchu:='得职位是:销售员'; when 'MANAGER' then v_shuchu:='得职位是:经理'; when 'ANALYST' then v_shuchu:='得职位是:分析师'; else v_shuchu:='总裁'; end case;

dbms_output.put_line(v_empno || v_shuchu); exception

whenno_data_found then

dbms_output.put_line('您输入的员工不存在!'); end;

8. 编写程序块,用PL/sql实现输出7369号员工的姓名。

编写程序块,用PL/sql实现输出7369号员工的姓名。 Declare

V_name emp.ename%type; Begin

Select ename into v_name from emp where empno=’7369’; Dbms_output.put_line(v_name) End;

精品文档

精品文档

9. 编写函数annual_incomec,实现输入雇员的姓名,返回该雇员的年薪

编写函数annual_incomec,实现输入雇员的姓名,返回该雇员的年薪

create function annual_incomec(name varchar2) return number is

annual_salazy number(7,2); begin

--执行部分

selectsal*12+nvl(comm, 0) into annual_salazy from emp where ename=name;

returnannual_salazy; end; /

10. 编写一个过程,可以输入一个雇员名,如果该雇员的工资低于2000,就

给该员工工资增加10%。

编写一个过程,可以输入一个雇员名,如果该雇员的工资低于2000,就给该员工工资增加10%。

create or replace procedure sp_pro6(spName varchar2) is --定义

v_salemp.sal%type; begin

--执行

selectsal into v_sal from emp where ename=spName; --判断

ifv_sal<2000 then

updateemp set sal=sal+sal*10% where ename=spName; end if; end;

11. 创建角色myrole,将连接数据库,创建表,创建用户,创建角色,在任

何模式修改表,完全访问emp表的权限赋予myrole。

创建角色myrole,将连接数据库,创建表,创建用户,创建角色,在任何模式修改表,完全访问emp表的权限赋予myrole。

create role myrole; grant create session,createtable,createuser,createrole,alter any table to myrole;

grant all on scott.emp to myrole;

12. 回收myrole角色中完全访问emp表的权限

精品文档

oracle用scott编写包头包体,最新《Oracle数据库应用》-练习题2资料相关推荐

  1. oracle 包和包体禁用,Oracle包和包体以及与非包体定义函数、过程的区别

    Oracle包和包体以及与非包体定义函数.过程的区别. 1.Oracle中的包和包体 Oracle中的包和包体与java中的接口和类才关系特别类似,我们就根据对比学习一下包和包体吧! 2.oracle ...

  2. oracle 包和包体禁用,ORACLE中的包和包体

    用一个增删改查用户的例子来演示包(java中接口)和包体(java中实现类) 创建包 create or replace package pkg_userinfoService as --定义用户的结 ...

  3. java socket 包头包体_自定义协议封装包头、包体

    1 usingSystem;2 usingSystem.Collections.Generic;3 usingSystem.IO;4 usingSystem.Text;5 6 //消息解析器 7 pu ...

  4. java socket 包头包体_使用JAVA上抓取Socket服务端和客户端通信TCP数据包

    使用Java抓取Socket通信TCP数据包 使用WireShark默认使用的是winpcap去抓本地环回的数据包,需要安装npcap再在Wireshark选择本地环回的网卡抓包 在Java-Sock ...

  5. Oracle—包和包体(转)

    包 包的概念和组成 包是用来存储相关程序结构的对象,它存储于数据字典中.包由两个分离的部分组成:包头(PACKAGE)和包体(PACKAGE BODY). 包头是包的说明部分,是对外的操作接口,对应用 ...

  6. Oracle包和包体以及与非包体定义函数、过程的区别

    1.Oracle中的包和包体 Oracle中的包和包体与java中的接口和类才关系特别类似,我们就根据对比学习一下包和包体吧! 2.oracle包和包体与自定义函数,过程区别 2.1 如果直接crea ...

  7. Oracle包和包体

    一.什么要使用包? 在一个大型项目中,可能有很多模块,而每个模块又有自己的过程.函数等.而这些过程.函数默认是放在一起的(如在PL/SQL中,过程默认都是放在一起 的,即Procedures中),这些 ...

  8. 包对象之Oracle如何编译失效包体

    主题:如何Oracle编译失效的包体 作者:基毛飞上天 情况说明:在吗?可以帮忙重新编译一个包吗?我们这边编译不了! 处理思维: (1)包头失效还是包体失效? (2)是否存在阻碍的进程影响重新编译? ...

  9. ORACLE中的包和包体

    用一个增删改查用户的例子来演示包(java中接口)和包体(java中实现类) 创建包 create or replace package pkg_userinfoService as    --定义用 ...

最新文章

  1. 微众银行的金融级消息服务平台建设实践和思考
  2. 盘点路由协议之RIP协议及IGRP协议
  3. 【python练习题】程序15
  4. iOS-Xcode代码统计
  5. C语言程序设计 | 程序环境和预处理:翻译环境和执行环境、宏、条件编译
  6. mysql not is null_转!!mysql 字段 is not null 和 字段 !=null
  7. 关键字this、new;apply、call、bind方法的用法
  8. python链表值讲解_python数据结构之链表的实例讲解
  9. 3PHP如何用PDO的连接方式方式导出mysql数据
  10. Android免root流量防火墙,简单小程序
  11. reflections歌词翻译_英文歌曲reflection的歌词翻译
  12. linux python3安装包_在 Linux 中安装 Python3
  13. TDengine总结物联网数据特点
  14. 中国量子计算机的运算速度是,中国量子计算机问世,运算速度碾压顶级超算,美国:时代变了...
  15. 【技术分享】五:搜索排序-特征分析
  16. 网络游戏架构与微服务架构简单对比
  17. ug用java转stp没反应_stp文件用ug怎么打不开?
  18. 帆软FineReport本地部署springboot
  19. Charles--苹果手机下载证书
  20. 如何打造一款好的社区产品

热门文章

  1. IOS - iPhone 苹果手机抓包必备工具 - Stream
  2. 计算机专业 英语六级作文,英语六级作文范文高分版 计算机和人 Computer and Man...
  3. 太阳能光伏材料行业调研报告 - 市场现状分析与发展前景预测
  4. sudo:/etc/sudoers 可被任何人写 解决方案
  5. JPA基础学习三-----JPQL语句学习
  6. ​美国多项经济数据表现不佳 美元走势将难以摆脱颓势?
  7. 单基因gsea_最新3分+单基因生信套路拆解,你学会了没
  8. cmakelist官方教程_cmake教程.pdf
  9. 动作识别(二)复现C3D网络
  10. 二叉树遍历算法的应用——计算二叉树的深度、计算二叉树的节点总数、计算二叉树的叶子节点数(均采用递归的思想)