创建同义词synonym

同义词相当于一个表对象的别名。如同创建视图一样并与视图的作用相当。
同义词的作用之一就是保护数据源表的数据安全,通过别名避免了源表的暴露,
通过同义词,就可以进行select,DML操作。还有就是,删除了同义词,不会连同删除
源表,这也是确保源表数据的安全。以下是创建同义词并测试的过程。

---创建同义词:

--使用suxing用户尝试给测试表创建一个同义词:

suxing@PROD>create synonym seqt for seqtest;

create synonym seqt for seqtest

*

ERROR at line 1:

ORA-01031: insufficient privileges

#报错显示:suxing用户还没有创建同义词的权限。

 

--通过SYS用户将创建同义词的权限授予给suxing用户:

sys@PROD>grant create synonym to suxing;

Grant succeeded.

#授权成功。

 

--使用suxing用户再次尝试创建表seqtest的同义词seqt

suxing@PROD>create synonym seqt for seqtest;

Synonym created.

#同义词创建成功。

 

--通过同义词查看测试表的数据记录:

 suxing@PROD>select * from seqt;

        ID NAME            SCORE CREATED

---------- ---------- ---------- -------------------

        11 susu             93.5 2016-11-29 11:22:46

        12 kkkk               98 2016-11-29 11:27:04

        13 ookk             95.8 2016-11-29 11:29:22

#通过视图,也可以查看与其相关联表的数据。

 

--尝试通过同义词给测试表插入一条记录:

suxing@PROD>insert into seqt values(mysequence.nextval,'synonym',91.5,sysdate);

1 row created.

suxing@PROD>commit;

Commit complete.

suxing@PROD>select * from seqt;

        ID NAME            SCORE CREATED

---------- ---------- ---------- -------------------

        11 susu             93.5 2016-11-29 11:22:46

        12 kkkk               98 2016-11-29 11:27:04

        13 ookk             95.8 2016-11-29 11:29:22

        14 synonym          91.5 2016-11-29 12:07:39

 

--尝试查看同义词的结构:

suxing@PROD>desc seqt

 Name                                      Null?    Type

 ----------------------------------------- -------- ----------------------------

 ID                                                 NUMBER(3)

 NAME                                               VARCHAR2(10)

 SCORE                                              NUMBER(3,1)

 CREATED                                            DATE

#同义词的结构与其相关联表的结构相同。
 

--尝试删除同义词后是否连同源表也删除:

suxing@PROD>drop synonym seqt;

Synonym dropped.

#同义词已经删除成功。

 

--尝试查看同义词:

suxing@PROD>desc seqt

ERROR:

ORA-04043: object seqt does not exist

#同义词已经删除。

 

--尝试查看表seqtest

suxing@PROD>select * from seqtest;

        ID NAME            SCORE CREATED

---------- ---------- ---------- -------------------

        11 susu             93.5 2016-11-29 11:22:46

        12 kkkk               98 2016-11-29 11:27:04

        13 ookk             95.8 2016-11-29 11:29:22

        14 synonym          91.5 2016-11-29 12:07:39

 

#表中的数据记录依然在。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31392094/viewspace-2129287/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31392094/viewspace-2129287/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值