当前位置:  数据库>oracle

Oracle中的概念:同义词、序列与视图

    来源: 互联网  发布时间:2017-03-22

    本文导语:   同义词 synonym   CREATE [PUBLIC]SYNONYM synonym For schema.object   隐藏对象的名称和所有者:   select count(*) from hr.employees;   create synonym emp for hr.employees; --默认属于donny用户,是donny的私有对象private   select count(*) from emp;  ...

  同义词 synonym

  CREATE [PUBLIC]SYNONYM synonym For schema.object

  隐藏对象的名称和所有者:

  select count(*) from hr.employees;

  create synonym emp for hr.employees; --默认属于donny用户,是donny的私有对象private

  select count(*) from emp;

  为分布式数据库的远程对象提供了位置透明性:

  访问其他数据库时,要首先建立数据库连结:

  CREATE DATABASE LINK test_link CONNECT TO username IDENTIFIED BY pass USING 'orabase';

  Select count(*) from hr.employees@test_link;

  create synonym link_emp for hr.employees@test_link;

  select count(*) from link_emp;

  提供对象的公共访问:

  create public synonym pub_emp for hr.employees;

  pub_emp属于public用户,数据库所有用户都可以访问。

  同义词类型

  –私有 emp 实际上donny.emp

  –公用 pub_emp 所有用户都可以直接访问

  当公有对象和私有对象同名时(因为数据不同的用户,所以可以),以私有对象优先。(类似于局部变量)

  desc dba_synonyms/ user_synonyms/ all_synonyms 数据字典,复数

  tab公有同义词

  建立私有的tab表,查看效果。

  删除同义词:

  drop synonym donny.emp;

  drop public synonym pub_emp;

  序列sequence:

  CREATE SEQUENCE donny.seq  --也是属于某个用户的,以下参数均可省略,使用默认值。

  INCREMENT BY 1 --指定序列之间的间隔,正负整数;默认1,正为升序,负为降序。

  START WITH 1 --第一个序列号,默认=MINVALUE

  NOMAXVALUE --设置最大值,此处表示默认10的27次幂。MAXVALUE 10

  NOMINVALUE --设置最小值,此处表示默认-10的26次幂。MINVALUE 1

  NOCYCLE --或者CYCLE;表示序列达到最大或者最小(降序)后,要不要从头开始

  CACHE 10; --默认CACHE 20, 事先分配多少序列号放在内存中,提高速度。

  访问序列:

  Oracle为序列提供了两个伪列,可以看作其属性。

  Nextval: 根据increment by得到的一个新的序列值。每次执行都会得到一个新值。

  Currval: current value, 当前值,已经被取得的值。

  Select seq.nextval from dual;

  Select seq.currval from dual;

  使用序列:

  insert into t values(seq.nextval);

  修改序列:

  alter sequence seq …..重新指定各个参数

  不能修改start with;除非删除重建

  删除序列:

  drop sequence seq;

数据字典:

  desc dba_sequences / user_…/ all….

  视图view:

  CREATE [OR REPLACE][FORCE/ NOFORCE] VIEW AS

  Create view mytable

  As

  Select first_name||’,’||last_name

  from hr.employees;

  [试验]:如何使用视图作为安全 href="http://safe.it168.com/" target=_blank>安全机制

  1. desc考察hr.employees,看作一个公司的员工信息数据库表,简单说明

  2. 目标:实现每个员工都可以访问公司中所有雇员的name, email, phone_number,方便通讯

  3. 方案:

  a) 赋予所有员工访问hr.employees表的权限?salary

  b) 建立一个只包含合适字段的视图,然后赋予所有员工访问这个视图的权限,而不是表的权限。

  4. Alter user hr account unlock;

  Conn hr/hr

  Create view company_phone_book as

  Select first_name||’, ’||last_name name, email, phone_number

  From employees;

  Grant select on company_phone_book to public;

  Desc company_phone_book 对比列的长度

  Select * from company_phone_book;

  name隐藏数据的复杂性


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • oracle 视图权限 oracle 创建视图权限不足
  • 用Oracle动态性能视图采集查询调优数
  • 在Oracle中向视图中插入数据的方法
  • Hibernate,Oracle视图中字段小数点位数使用注意
  • Oracle查询表、视图、序列等信息查询
  • oracle中的视图详解
  • Oracle物化视图创建实例
  • Oracle的物化视图管理
  • 浅谈Oracle中的物化视图
  • mysql触发器实现oracle物化视图示例代码
  • Oracle数据库视图与权限问题
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • ORACLE日期相关操作 iis7站长之家
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3