Oracle学习(十):视图,索引,序列号,同义词
来源:互联网 发布:python exit 1 编辑:程序博客网 时间:2024/06/06 11:52
1.知识点:可以对照下面的录屏进行阅读
视图,序列,索引,同义词SQL> --视图:虚表SQL> --视图的优点:简化复杂查询,限制数据访问(银行用的多),提供数据的相互独立,同样的数据可以有不同的显示方式SQL> --第一个视图: 员工号 姓名 月薪 年薪SQL> create view view1 2 as 3 select empno,ename,sal,sal*12 annlsal from emp;SQL> --如果显示没有权限,则需要授权,见下图1-1SQL> --复杂视图SQL> create or replace view view2--如果view2存在就替换,否则就创建 2 as 3 select empno,ename,sal,sal*12 annlsal,dname 4 from emp e, dept d 5 where e.deptno=d.deptno 6 with read only;--只读视图SQL> --序列sequenceSQL> create sequence myseq;SQL> --插入数据SQL> insert into testseq values(myseq.NEXTVAL,'aaa');SQL> --序列不连续:SQL> --1. 内存,长度20SQL> --2. 序列是一个公有对象SQL> --3. rollbackSQL> --创建索引表SQL> --create index myindex on emp(deptno);SQL> --同义词,即为别名SQL> --为hr.EMPLOYEES起别名SQL> create SYNONYM hremp for hr.EMPLOYEES;
图1-1给scott授权
SQL> host clsSQL> --视图SQL> --第一个视图: 员工号 姓名 月薪 年薪SQL> create view view1 2 as 3 select empno,ename,sal,sal*12 annlsal from emp;create view view1 *第 1 行出现错误: ORA-01031: 权限不足 SQL> /视图已创建。SQL> desc view1 名称 是否为空? 类型 ----------------------------------------------------------------------------------- -------- -------------------------------------------------------- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) SAL NUMBER(7,2) ANNLSAL NUMBERSQL> select * from view1; EMPNO ENAME SAL ANNLSAL ---------- ---------- ----- ---------- 7369 SMITH 800 9600 7499 ALLEN 1600 19200 7521 WARD 1250 15000 7566 JONES 2975 35700 7654 MARTIN 1250 15000 7698 BLAKE 2850 34200 7782 CLARK 2450 29400 7788 SCOTT 3000 36000 7839 KING 5000 60000 7844 TURNER 1500 18000 7876 ADAMS 1100 13200 EMPNO ENAME SAL ANNLSAL ---------- ---------- ----- ---------- 7900 JAMES 950 11400 7902 FORD 3000 36000 7934 MILLER 1300 15600 已选择14行。SQL> create view view2 2 as 3 select empno,ename,sal,sal*12 annlsal,dname 4 from emp e, dept d 5 where e.deptno=d.deptno;视图已创建。SQL> select * from view2; EMPNO ENAME SAL ANNLSAL DNAME ---------- ---------- ----- ---------- -------------- 7369 SMITH 800 9600 RESEARCH 7499 ALLEN 1600 19200 SALES 7521 WARD 1250 15000 SALES 7566 JONES 2975 35700 RESEARCH 7654 MARTIN 1250 15000 SALES 7698 BLAKE 2850 34200 SALES 7782 CLARK 2450 29400 ACCOUNTING 7788 SCOTT 3000 36000 RESEARCH 7839 KING 5000 60000 ACCOUNTING 7844 TURNER 1500 18000 SALES 7876 ADAMS 1100 13200 RESEARCH EMPNO ENAME SAL ANNLSAL DNAME ---------- ---------- ----- ---------- -------------- 7900 JAMES 950 11400 SALES 7902 FORD 3000 36000 RESEARCH 7934 MILLER 1300 15600 ACCOUNTING 已选择14行。SQL> create or replace view view2 2 as 3 select empno,ename,sal,sal*12 annlsal,dname 4 from emp e, dept d 5 where e.deptno=d.deptno 6 with read only;视图已创建。SQL> host clsSQL> --序列sequenceSQL> create sequence myseq;序列已创建。SQL> create table testseq 2 (tid number,tname varchar2(20));表已创建。SQL> select myseq.CURRVAL from dual;select myseq.CURRVAL from dual *第 1 行出现错误: ORA-08002: 序列 MYSEQ.CURRVAL 尚未在此会话中定义 SQL> select myseq.NEXTVAL from dual; NEXTVAL ---------- 1 已选择 1 行。SQL> / NEXTVAL ---------- 2 已选择 1 行。SQL> select myseq.CURRVAL from dual; CURRVAL ---------- 2 已选择 1 行。SQL> insert into testseq values(myseq.NEXTVAL,'aaa');已创建 1 行。SQL> /已创建 1 行。SQL> /已创建 1 行。SQL> commit;提交完成。SQL> select * from testseq; TID TNAME ---------- -------------------- 3 aaa 4 aaa 5 aaa 已选择3行。SQL> insert into testseq values(myseq.NEXTVAL,'aaa');已创建 1 行。SQL> /已创建 1 行。SQL> rollback;回退已完成。SQL> insert into testseq values(myseq.NEXTVAL,'aaa');已创建 1 行。SQL> select * from testseq; TID TNAME ---------- -------------------- 3 aaa 4 aaa 5 aaa 8 aaa 已选择4行。SQL> /*SQL> 序列不连续:SQL> 1. 内存,长度20SQL> 2. 序列是一个公有对象SQL> 3. rollback序列不连续:SQL> 1. 内存,长度20SQL> 2. 序列是一个公有对象SQL> 3. rollbackSQL> */SQL> host clsSQL> --同义词SQL> show userUSER 为 "SCOTT"SQL> select count(*) from hr.EMPLOYEES;select count(*) from hr.EMPLOYEES *第 1 行出现错误: ORA-00942: 表或视图不存在 SQL> / COUNT(*) ---------- 107 已选择 1 行。SQL> --为hr.EMPLOYEES起别名SQL> create SYNONYM hremp for hr.EMPLOYEES;create SYNONYM hremp for hr.EMPLOYEES*第 1 行出现错误: ORA-01031: 权限不足 <span style="white-space:pre"></span>SQL> /同义词已创建。SQL> select count(*) from hremp; COUNT(*) ---------- 107 已选择 1 行。SQL> spool off
0 0
- Oracle学习(十):视图,索引,序列号,同义词
- oracle--索引,视图,同义词
- Oracle索引,视图,同义词,角色
- Oracle索引,视图,同义词,角色
- Oracle学习笔记摘录5-----表 / 序列 /视图 / 索引 / 同义词
- Oracle学习笔记(13)------------ 视图、同义词、索引
- Oracle学习笔记(13)------------ 视图、同义词、索引
- Oracle笔记(十三) 视图、同义词、索引
- Oracle笔记(十三) 视图、同义词、索引
- oracle 同义词、序列、视图、索引
- oracle sql 之视图,序列,索引,同义词
- Oracle笔记(十三) 视图、同义词、索引
- oracle对象【约束,序列,索引,视图,同义词】
- Oracle,视图,同义词,索引,序列,分区
- Oracle数据库对象----序列、索引、视图、同义词
- Oracle笔记(十三) 视图、同义词、索引
- Oracle笔记十三:视图、同义词、索引
- 数据库学习9-同义词,视图,索引
- onInterceptTouchEvent和onTouchEvent调用时序
- Failed to convert property value of type [com.sun.proxy.$Proxy27 implementing com.ibeifeng.se
- HashMap排序
- OpenNI2——初尝试之 环境搭建 与 读取VideoMode
- 设计一个一元稀疏多项式简单的加减法计算器
- Oracle学习(十):视图,索引,序列号,同义词
- LeetCode——Balanced Binary Tree
- OJ2560继承(改错题)
- 跟踪oracle实例的动态注册过程
- makefile笔记
- HDU 1012 u Calculate e(水题)
- Hadoop的整文件读取
- HLG1134
- A标签触发onclick事件而不跳转