Oracle学习(十):视图,索引,序列号,同义词

Oracle学习(十):视图,索引,序列号,同义词

大家好,又见面了,我是全栈君。

1.知识点:能够对比以下的录屏进行阅读

视图,序列,索引,同义词
SQL> --视图:虚表
SQL> --视图的长处:简化复杂查询。限制数据訪问(银行用的多)。提供数据的相互独立。相同的数据能够有不同的显示方式
SQL> --第一个视图: 员工号 姓名 月薪 年薪
SQL> create view view1
  2  as
  3  select empno,ename,sal,sal*12 annlsal from emp;
SQL> --假设显示没有权限,则须要授权,见下图1-1

SQL> --复杂视图
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> --序列sequence
SQL> create sequence myseq;

SQL> --插入数据
SQL> insert into testseq values(myseq.NEXTVAL,'aaa');

SQL> --序列不连续:
SQL> --1. 内存,长度20
SQL> --2. 序列是一个公有对象
SQL> --3. rollback

SQL> --创建索引表
SQL> --create index myindex on emp(deptno);

SQL> --同义词,即为别名
SQL> --为hr.EMPLOYEES起别名
SQL> create SYNONYM  hremp for hr.EMPLOYEES;


Oracle学习(十):视图,索引,序列号,同义词

图1-1给scott授权


2.在Sqlplus下实际运行的结果录屏

SQL> host cls SQL> --视图 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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115815.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • jasypt加密配置文件_jenkins api

    jasypt加密配置文件_jenkins apiJasypt加密框架概述1、JasyptSpringBoot为springboot应用程序中的属性源提供加密支持,出于安全考虑,Springboot配置文件中的敏感信息通常需要对它进行加密/脱敏处理,尽量不使用明文,要实现这一点,办法有很多,自己手动对敏感信息进行加解密也是可以的。2、有需求就有人奉献,Jasypt开源安全框架就是专门用于处理Springboot属性加密的,在配置文件中直接配置密文,然后应用启动的时候,Jasypt会自动将密码解密成明文供程序使用。3、

  • lua学习之table类型

    关系表类型,这是一个很强大的类型。我们可以把这个类型看作是一个数组。只是 C语言的数组,只能用正整数来作索引; 在Lua中,你可以用任意类型的值来作数组的索引,但这个值不能是&#1

    2021年12月25日
  • NDT配准原理_icp配准算法

    NDT配准原理_icp配准算法文章目录NDT预备知识正态分布高斯牛顿法求解非线性最小二乘NDT原理(1)目标函数(2)简化目标函数(3)数值求解(4)算法流程:(5)相比ICP的优势NDT源码解析与其在PCL应用参考资料NDT预备知识正态分布n维正态随机过程中,其概率密度函数为:p(x⃗)=1(2π)D/2∣Σ∣exp⁡(−(x⃗−μ⃗)TΣ−1(x⃗−μ⃗)2)(1)p(\vec{x})=\frac{1}{(2\pi)^{D/2}\sqrt{|\boldsymbol{\Sigma}|}}\exp\left(-\f

    2022年10月27日
  • pcanywhere的端口「建议收藏」

    pcanywhere的端口「建议收藏」PCANYWHERE使用端口TCP:5631,UDP:5632通常打开第一个端口就可以了

  • 新手学c还是java_80x86汇编小站,新手学c还是java

    新手学c还是java_80x86汇编小站,新手学c还是java设计汇编语言的教学方案,决定就从8086汇编开始。学汇编,关注对系统底层的理解,指令太多,初学者伤不起。面对一个复杂的系统,教学中常需要设计一个简化的教学模型,抽取出其中的核心,以此得门而入。高龄的8086汇编,于当今的技术而言,是一个理想的教学模型。学生未来的工作可能基于80×86,可以用Linux汇编、ARM汇编,在8086汇编基础上再做拓展即可。学生将来在工作中可能压根就不会用汇编,通过学汇…

    2022年10月13日
  • java 通过Ajax前台传参数 并用 HttpURLConnection Post方式访问对外的接口

    前两天做项目遇到一个问题,就是在自己的项目中要去访问项目外部的接口,从自己的项目中传参数过去,通过调用 对方提供的接口去获取想要得到的数据!第一次接触到在自己项目中去访问和调用外部的资源,然后在网上去找资料,看有没有相关的资料可以参考,然后通过参考其他人的博客资料,最终把这个问题解决了。自己总结一下这个过程,也供遇到相同或者类似问题的朋友可以快速的定位和解决问题。     下面讲一下我的问题和

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号