Oracle练习题&&部分高校Oracle实验题

Oracle练习题&&部分高校Oracle实验题

一、
1、登陆scott 用户基于 EMP 表和 DEPT 表创建视图 EMPDEPTVIEW,要求关联两张表,包括部门的名称和部门所在地 员工的部门编号和员工的名字;
2、登录scott用户,针对EMPDEPTVIEW 创建同义词epv;
3、通过同义词,查询到部门20的所有员工信息。
二、
创建序列,从50开始,要求运用序列给部门表中添加部门编号为50,名称为BUSINES地点为CHINA; 添加部门编号为60, 名称为PMO,地点为CHINA;

1.创建表emp_bak,复制emp表结构以及所有的数据.
2.给表emp_bak增加主键约束。
3.在emp_bak表的ename字段上创建索引
4.在emp_bak表的deptno和job的组合上创建索引

/*一、
1、登陆scott?用户基于?EMP?表和?DEPT?表创建视图?EMPDEPTVIEW,要求关联两张表,包括部门的名称和部门所在地?员工的部门编号和员工的名字;?
*/
SQL> grant create any view to scott;

授权成功。

SQL> conn scott/321321
已连接。
SQL> create or replace view empdeptview as
  2  select ename,emp.deptno,dname,loc
  3  from emp,dept
  4  where emp.deptno=dept.deptno
  5  with read only;

视图已创建。

SQL> select * from empdeptview;

ENAME          DEPTNO DNAME          LOC                                        
---------- ---------- -------------- -------------                              
CLARK              10 ACCOUNTING     NEW YORK                                   
KING               10 ACCOUNTING     NEW YORK                                   
MILLER             10 ACCOUNTING     NEW YORK                                   
JONES              20 RESEARCH       DALLAS                                     
FORD               20 RESEARCH       DALLAS                                     
ADAMS              20 RESEARCH       DALLAS                                     
SMITH              20 RESEARCH       DALLAS                                     
SCOTT              20 RESEARCH       DALLAS                                     
WARD               30 SALES          CHICAGO                                    
TURNER             30 SALES          CHICAGO                                    
ALLEN              30 SALES          CHICAGO                                    

ENAME          DEPTNO DNAME          LOC                                        
---------- ---------- -------------- -------------                              
JAMES              30 SALES          CHICAGO                                    
BLAKE              30 SALES          CHICAGO                                    
MARTIN             30 SALES          CHICAGO                                    

已选择14行。、

/*2、登录scott用户,针对EMPDEPTVIEW?创建同义词epv;?*/

SQL> show user;
USER"SCOTT"
SQL> conn system/321321
已连接。
SQL> grant create any synonym to scott;

授权成功。

SQL> create or replace synonym epv for scott.empdeptview;

同义词已创建。
SQL> conn scott/321321
已连接。
SQL> create or replace synonym epv for scott.empdeptview;

同义词已创建。

/*3、通过同义词,查询到部门20的所有员工信息。*/

SQL> select * from epv
  2  where deptno=20;

ENAME          DEPTNO DNAME          LOC                                        
---------- ---------- -------------- -------------                              
SMITH              20 RESEARCH       DALLAS                                     
JONES              20 RESEARCH       DALLAS                                     
SCOTT              20 RESEARCH       DALLAS                                     
ADAMS              20 RESEARCH       DALLAS                                     
FORD               20 RESEARCH       DALLAS  
                                   
/*二、
创建序列,从50开始,要求运用序列给部门表中添加部门编号为50,名称为BUSINES地点为CHINA;?添加部门编号为60,?名称为PMO,地点为CHINA;
*/
SQL> show user;
USER"SCOTT"
SQL> create sequence seq_dept
  2  start with 50
  3  increment by 10
  4  nomaxvalue
  5  nocycle
  6  nocache;

序列已创建。

SQL> insert into dept(deptno,dname,loc)
  2  values (seq_dept.nextval,'BUSINESS','CHINA');

已创建 1 行。

SQL> insert into dept(deptno,dname,loc)
  2  values (seq_dept.nextval,'PMO','CHINA');

已创建 1 行。

/*三、
1.创建表emp_bak,复制emp表结构以及所有的数据.?
2.给表emp_bak增加主键约束。
3.在emp_bak表的ename字段上创建索引?
4.在emp_bak表的deptno和job的组合上创建索引?
*/
SQL> create table emp_bak as select * from emp;

表已创建。

SQL> alter table emp_bak add constraint emp_empno_pk
  2  primary key(empno);

表已更改。

SQL> create index emp_empno_index on emp_bak(ename);

索引已创建。

SQL> create index emp_deptnojob_index on emp_bak(deptno
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值