Oracle数据库中的同义词,数据库链接和序列 您所在的位置:网站首页 同义词的循环链 Oracle数据库中的同义词,数据库链接和序列

Oracle数据库中的同义词,数据库链接和序列

2024-07-09 16:15| 来源: 网络整理| 查看: 265

目录

1.同义词

(1)可视化方法创建同义词

(2)命令方式创建同义词

(3)删除同义词

2.数据库链接

(1)可视化方式创建

(2)使用命令方式

(3)为远程数据库的表创建同义词

(4)删除数据库链接

3.序列

(1)可视化方式创建序列

(2)命令方式创建序列

(3)修改创建的序列

(4)删除序列

Oracle数据库之备份与恢复(二)

Oracle学习的相关知识点(汇总)

Oracle数据库相关事务(一)

Oracle数据库中的锁,闪回操作(二)

1.同义词

假设我们要在管理员的模式下面查询Scott用户底下的表信息的话,那么得像下面这样做:

select * from scott.xsb;

所以这里我们可以为数据库对象创建同义词,同义词可以指向的对象有表,视图,存储过程,函数,包和序列。既可以为本地数据库对象创建同义词,也可以为远程数据库创建数据库链接之后,再为远程数据库对象创建同义词。

创建了同义词之后,我们在sysdba模式下面访问Scott用户模式下面的表时,可以这样做:

select * from xs;(xs是创建的同义词)。

(1)可视化方法创建同义词

sys模式下面创建同义词:

(2)命令方式创建同义词

 CREATE [PUBLIC] SYNONYM [用户方案名.]

        FOR [用户方案名.]对象名 [@]

例子:创建同义词xs

CREATE  SYNONYM xs     FOR SCOTT.XSB;

(3)删除同义词

方式一:

方式二:

DROP [PUBLIC] SYNONYM [用户名.]

2.数据库链接

但需要引用远程数据库的数据时,必须指定远程对象的全限定名。如果表在远程数据库中,为了指定远程数据库中的一个对象的访问路径,就必须创建一个数据链接,让本地用户通过这个数据库链接登录到远程数据库上使用数据。

(1)可视化方式创建

(2)使用命令方式

 CREATE [PUBLIC] DATABASE LINK

         [CONNECT TO IDENTIFIED BY ]

         USING ''

PUBLIC表示创建公用的数据库链接。CONNECT TO指定固定用户与远程数据库连接,并在用户名后 使用IDENTIFIED BY指定口令。USING子句指定数据库链接指向的远程数据库。

 例子:创建数据库链接myLink,数据库使用myorcl,固定用户SCOTT,密码为Admin23123.

CREATE DATABASE LINK myLink     CONNECT TO SCOTT IDENTIFIED BY Admin123123     USING 'myorcl';

查询远程数据库myorcl中的用户Scott下的XSB表。

select *      from scott.xsb@myLink; 

提示:这里创建了远程数据库链接mylink,通过这个链接myLink可以访问到远程数据库myorcl中的表。

(3)为远程数据库的表创建同义词

 CREATE SYNONYM XSBLink     FOR SCOTT.xsb@myLink;

select *     from XSBLink;

(4)删除数据库链接

DROP [PUBLIC] DATABASE LINK

3.序列

使用一个序列时,不保证将生成一串连续不断的值。例如,如果查询一个序列的下一个值供INSERT使用, 则该查询是能使用这个序列值的唯一会话。如果未能提交事务处理,则序列值就不被插入表中,以后的 INSERT将使用该序列随后的值。

序列类型:

升序:序列值自初始值向最大值递增。这是创建序列时的默认设置。降序:序列值自初始值向最小值递减。 (1)可视化方式创建序列

(2)命令方式创建序列

 CREATE SEQUENCE [用户方案名.] /*将要创建的序列名称*/

        [INCREMENT BY ] /*递增或递减值*/

        [START WITH ] /*初始值*/

        [MAXVALUE | NOMAXVALUE] /*最大值*/

        [MINVALUE | NOMINVALUE] /*最小值*/

        [CYCLE | NOCYCLE] /*是否循环*/

        [CACHE | NOCACHE] /*高速缓冲区设置*/

        [ORDER | NOORDER]

说明

INCREMENT BY:指定序列递增或 递减的间隔数值,指定为正值则表示创 建的是升序序列,为负值则表示创建的 是降序序列。START WITH:序列的起始值。若不 指定该值,对升序序列将使用该序列默认 的最小值。对降序序列,将使用该序列默 认的最大值。MAXVALUE:序列可允许的最大 值。若指定为NOMAXVALUE,则将对升 序序列使用默认值1.0E27(10的27次 方),而对降序序列使用默认值-1。MINVALUE:序列可允许的最小值。 若指定为NOMINVALUE,则对升序序列将 使用默认值1,而对降序序列使用默认值- 1.0E26(-10的26次方)。CYCLE:指定在达到序列最小值或 最大值之后,序列应继续生成值。对升 序序列来说,在达到最大值后将生成最 小值。对降序序列来说,在达到最小值 后将生成最大值。CACHE:由数据库预分配并存储的 值的数目。默认值为20,也可以指定值, 可接受的最小值为2。对循环序列来说, 该值必须小于循环中值的个数。

CREATE SEQUENCE demoSeq     INCREMENT BY 1      START WITH 1     MAXVALUE 20     MINVALUE 1     NOCYCLE      CACHE 20     ORDER;

提示:从序列中取值

 currval:当前值(需要调用nextval之后才能使用)nextval:下一个值

select demoSeq.nextval from dual; select demoSeq.currval from dual;

 

 

(3)修改创建的序列

ALTER SEQUENCE [用户方案名.]

        [INCREMENT BY ] /*递增或递减值*/

        [MAXVALUE | NOMAXVALUE] /*最大值*/

        [MINVALUE | NOMINVALUE] /*最小值*/

        [CYCLE | NOCYCLE] /*是否循环*/

        [CACHE | NOCACHE] /*高速缓冲区设置*/

        [ORDER | NOORDER] /*序列号是否按照顺序生成*/

(4)删除序列

DROP SEQUENCE

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有