同义词synonym

    技术2022-05-20  36

    设置权限的时候 有用a)建立一个新的用户mk  密码m123;  connect system/manager;  create user mk identified by m123;  grant connect,resource to mk;b)登录到用户mk 建立一张表  connect mk/m123;  create table test(    xh number(2) primary key,    cname varchar2(10) not null);  insert into test values (10,'Mike');  commit;c)希望在scott用户下能看到mk用户中test表的数据???  connect mk/m123  grant select on test to scott; //授权scott能select   connect scott/tiger  select * from mk.test;

      create synonym mtest for mk.test; //为表建立的                       //可以为任何对象建立同义词  select * from mtest; //相当于select * from mk.test; 同义词 增强数据库的安全性   connect mk/m123   create sequence seq1;   grant select on seq1 to scott;

       connect scott/tiger   select mk.seq1.nextval from dual;

       为序列建立一个同义词   create synonym seqa for mk.seq1;   select seqa.nextval from dual;

    a)某个用户所拥有的同义词都称为私有的同义词,别的用户是不能使用它的b)所有用户都能使用的同义词称为公有的同义词public只能定义在超级用户下 connect system/manager create public synonym ptest for mk.test; connect mk/m123  select * from ptest;   //同义词只是个名字,到底能否查到数据取决于是否有权限    取一个别名semp 相当于 scott.emp  简化名字,隐藏表的所有者  增强安全性    connect mk/m123;    create synonym semp for scott.emp;

      select * from semp;      --是否能查到数据     --取决于是否有权限查询

     


    最新回复(0)