Oracle数据库对象管理(2)
Oracle数据库对象管理(2)
一、实验目的
1掌握Oracle数据库序列管理;
2掌握Oracle数据库视图的管理;
二、实验要求(具体步骤进行截屏展示并配以文字说明)
1序列SEQUENCE
(1)创建序列testsequence,初始值为100,每次增加2。
SQL> CREATE SEQUENCE testsequence
2 START WITH 100
3 INCREMENT BY 2;
通过查询系统视图显示该序列的相关信息;
SQL> select * from all_sequences WHERE sequence_owner=’sys’;
原因是由于没大小写
SQL> select * from user_sequences where sequence_name=’TESTSEQUENCE’;
(2)创建测试表:create table test( id number(10) primary key,name varchar(10))
SQL> create table test( id number(10) primary key,name varchar(10));
利用序列testsequence作为id添加3条记录(insert 语句)
SQL> INSERT INTO test(id) values(TESTSEQUENCE. NEXTVAL);
SQL> INSERT INTO test(id) values(TESTSEQUENCE. NEXTVAL);
SQL> INSERT INTO test(id) values(TESTSEQUENCE. NEXTVAL);
并在添加完成后显示test表内容
SQL> select * from test;
(3)查询testsequence的currval
SQL> select TESTSEQUENCE.currval from dual;
修改序列testsequence的步长为3
SQL> alter sequence TESTSEQUENCE INCREMENT BY 3;
MAXVALUE为currval的3倍
SQL> alter sequence TESTSEQUENCE MAXVALUE 312;
利用序列testsequence,插入4条记录
SQL> INSERT INTO test(id) values(TESTSEQUENCE. NEXTVAL);
SQL> INSERT INTO test(id) values(TESTSEQUENCE. NEXTVAL);
SQL> INSERT INTO test(id) values(TESTSEQUENCE. NEXTVAL);
SQL> INSERT INTO test(id) values(TESTSEQUENCE. NEXTVAL);
完成后显示test表内容
SQL> select * from test;
显示序列testsequence的currval;
SQL> select TESTSEQUENCE.currval from dual;
2视图 VIEW
(1)创建一个名为“EDV”的只读视图完成员工信息的综合查询,包括员工编号,员工名、薪水,职位编号、职位名称、部门编号、部门名称、部门所在地信息、国家信息。(以上各信息存于案例数据库中HR模式下的基本表EMPLOYEES、DEPARTMENTS、LOCATIONS、COUNTRIES、REGIONS中)
1 | SQL> CREATE OR REPLACE VIEW EDV (employee_id,job_id,manager_id, department_id,location_id, country_id,first_name,last_na |
(2)显示视图EDV查询到的信息;
SQL> select * from user_views WHERE view_name=’EDV’;
(3)利用系统提供的视图查询EDV视图的定义信息;
select view_name,text FROM dba_views where view_name=’EDV’;
通过查询数据字典视图DBA_VIEWS,ALL_VIEWS和USER_VIEWS可以获取视图的信息。这里我通过查询视图USER_VIEWS获取了当前用户所有视图的名称以及视图定义的信息
本文使用 CC BY-NC-SA 3.0 中国大陆 协议许可
具体请参见 知识共享协议
本文链接:https://zyhang8.github.io/2019/09/30/oracle-exp3/