Oracle总复习

发布 2021-04-27 21:25:28 阅读 9158

1.单选( 2’*25=50’)(每章一题,14章+4共5题)

2.简答( 5’*2 =10’)(第章4选二)

3.编程(10’*4 =40’)(涉及***的内容)

第一章到第四章每章一个选择题自己看。

第五章数据表。

1.创建数据表。

create table tab(id number, name varchar2(20));

2.查看数据表结构。

describe tab;

3.修改数据表结构。

(增加一个status列)

alter table tab add (status varchar2(3));

(修改列名)

alter table tab rename column status to status1;

(修改列属性)

alter table tab modify (status varchar2(30));

(删除status列)

alter table tab drop column status;

4.删除数据表。

drop table tab;

第6章约束。

1.约束包括:主键约束,外键约束,唯一键约束,检查约束,默认值约束。

2.创建主键约束。

create table tab(id number primary key, name varchar2(20));

为表添加主键。

alter table tab add primary key (id);

删除主键。alter table tab drop primary key;

3.外键约束。

外键实际是一种关联,描述了表之间的父子关系。外键约束是建立在子表之上的,并要求子表的每条记录必须在父表中有且仅有一条记录与之对应。

4.创建唯一键约束。

create table tab(id number, name varchar2(20) unique);

5.创建检查约束。

create table tab(id number,name varchar2(20),check (id<20));

6.创建默认值约束。

create table tab(id number,name varchar2(20) default 'anybody');

第7章视图(简答题)

1.创建用于查询的视图。

create view vw_employees as

select id,name from employees

2.查看视图定义。

select text from user_views where view_name = vw_employees'

3. 查看视图内容。

select * from vw_employees

4.修改视图(为视图添加新列salary)

create or replace view vw_employees as

select id, name, salary from employees

5.删除视图。

drop view vw_employees

6. 会视图修改的三种情况(可能考简答题)

完全修改;不完全修改;完全不能修改。

7.要对视图进行操作,视图必须满足:

基于单表,所有非空属性都在视图中,不能有group by子句,不能有聚合计算,不能有union,不含disinct,不含相关子查询。

第8章函数与存储过程。

1.创建函数(create or replace function)

create or replace function get_hello_msg

return varchar2 as

beginreturn 'hello world';

end get_hello_msg;

2. 在数据字典中查看函数的信息。

select object_name, object_type, status from user_objects where lower(object_name) =get_hello_msg'

3.查看函数的返回值。

set serverout on; /开启服务端输出。

declare msg varchar2(20);

beginmsg :=get_hello_msg();

dbms_end;

sql plus是oracle自带的数据库管理客户端,可以在这里编辑sql语句执行,是命令行模式的。pl/sql有两种:一种是工具 pl/sql developer, 和sql plus一样是数据库管理客户端,是一种可视化界面,也可以使用命令行编辑sql。

另外一种是pl/sql语言是oracle中的块结构语言,类似存储过程,是一种过程话的语言。

4. 创建存储过程(create or replace procedure)

create or replace procedure update_students

asbegin

update students set student_age = 10

commit

end update_students;

5.查看存储过程在数据字典中的信息。

select object_name, object_type, status from user_objects where

lower(object_name) =update_students'

select * from user_source where lower(name) =update_students'

6.执行存储过程。

在pl/sql developer中,利用execute命令执行存储过程。

sql>execute update_students;

在**块中调用存储过程。

sql> begin

2 update_students;

3 end;

in,out,inout例子)

in参数,顾名思义,是指传入参数,即只进不出的参数。它由调用者传递给存储过程之后,存储过程在执行过程中,无论怎样使用该参数,都无法改变该参数的值。该参数对于存储过程来说,是只读的。

例如,在更新学生信息的存储过程update_stduents中,可以传入一个年龄参数,用以标识需要将学生年龄修改为多少岁。

create or replace

procedure update_students(in_age in number) as

beginupdate students set student_age = in_age;

---in_age :=in_age + 10

commit

end update_students;

execute update_students(12);

函数可以有返回值,存储过程并没有显式的返回值。但是可以通过out参数获得存储过程的处理结果。在范例8-11中,更新了表students中的学生年龄,可以通过out参数返回更新之后的值,以便验证更新是否成功。

create or replace

procedure update_students(in_age in number, out_age out numberas

beginupdate students set student_age = in_age;

select student_age into out_age from students where student_id = 1;

commit;

end update_students;

declare updated_age number;

beginupdate_students(20, updated_age);

dbms_end;

in out参数既可以作为输入参数,也可以作为输出参数。因此,in out参数一般用于对参数的值进行处理,并处理结果输出。一个典型实例就是交换两个变量的值。

create or replace procedure swap(in_out_param1 in out number, in_out_param2 in out number) as

begin

declare param number;

begin

param :=in_out_param1;

oracle复习

oracle数据库的主要特点。支持多用户 大事务量的事务处理。数据安全性和完整性控制。支持分布式数据处理。可移植性。oracle服务器提供开放 全面和综合的信息管理,它由oracle数据库和oracle实例组成。管理数据库的后台进程和内存结构的集合称为 oracle 实例 oracle 数据库是一个...

Oracle复习

一 创建用户。在yggl数据库中创建一个用户manager,授予dba角色和sysdba系统权限,它可以替代system系统用户。connect system 123456 as sysdab create user manager profile default identified by man...

Oracle复习

oracle数据库管理与编程知识点。1.关系数据库基本理论 oracle应用结构。2.oracle体系结构 实例内存管理 sga pga 逻辑存储结构 表空间 段 区 块 物理存储结构 数据文件 控制文件 其他文件 3.sql plus工具的使用 设置环境变量 命令的编辑导入导出 查询结果格式化等 ...