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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 快递查询 接口_查询快递接口

    快递查询 接口_查询快递接口•快递物流查询API接口快递查询接口是指快递查询网对外开放的应用程序接口,开发人员能够通过调用该接口与快递查询网进行交互,并基于该接口开发自己的快递查询应用程序。•应用场景① 买家物流查询:轨迹跟踪、包裹进度、预计送达时间、派送人联系方式等。② 卖家物流跟踪:是否超区、转件、多次派送、拒收③ 平台监控管理:假交易监控、匹配卖家发货与顾客确认收货时间。目前常用的快递物流查询接口供应平…

    2025年6月23日
    4
  • shiro框架的使用_ug星空安装步骤

    shiro框架的使用_ug星空安装步骤1.Shiro框架详解一、Shiro能干什么&amp;nbsp;ApacheShiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能:&amp;nbsp;认证-用户身份识别,常被称为用户“登录”;授权-访问控制;密码加密-保护或隐藏数据防止被偷窥;会话管理-每用户相关的时间敏感的状态。对于…

    2022年9月8日
    4
  • python语言func_python中func什么意思[通俗易懂]

    python语言func_python中func什么意思[通俗易懂]python中的func表示自定义的函数,func只是一个函数名,它的名字不是固定不变的,自定义的函数的参数包括无参数,也可以根据函数动能传递必备参数、位置参数以及关键字参数等。小白在学习python的时候,都会遇到func,一脸蒙!是什么意思呢?在python中,func表示的自定义函数。python中的函数分为内置函数和自定义函数,内置函数是python本身自带的,func函数是人为定义的。f…

    2025年7月13日
    1
  • Ubuntu20.04安装输入法_ubuntu20中文输入法

    Ubuntu20.04安装输入法_ubuntu20中文输入法这篇文章主要介绍了ubuntu20.04中文输入法安装步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧本文安装谷歌输入法。其实之前一直用的是搜狗输入法,因为20.04取消qt4了没装成,就去尝试别的输入法了。发现谷歌输入法用起来极舒服,比sougouforlinux好用多了。记得谷歌的中文输入法主要是北京分部在做,对googlecn的好感度飙升!!!安装fcitx-googlepinyinCtrl+Alt+T..

    2022年9月26日
    3
  • input placeholder属性IE、360浏览器兼容性问题

    效果:http://hovertree.com/texiao/jquery/43/效果二:http://hovertree.com/texiao/jquery/43/1/请在IE中体验。1、创建

    2021年12月22日
    51
  • 使用PyPDF2模块处理PDF文件通用方法技巧

    使用PyPDF2模块处理PDF文件通用方法技巧基本概念:PDF和Word文档是二进制文件,除了文本之外还保存字体,颜色,布局等信息。处理PDF文件,使用PyPDF2模块,PyPDF2不能从PDF文档中提取图像、图表或其他媒体,但可提取文本,作为字符串返回。  读取PDF文件步骤:首先以读二进制模式打开PDF文件,然后将打开文件File对象传递给PyPDF2.PdfFileReader()函数,例如: …

    2022年6月23日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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