Oracle中的序列,同义词

Oracle中的序列,同义词
2006年08月18日 星期五 下午 01:51

什么叫序列:
    1:定义:
        仅向前的数字变量(和SQL中的自动编号有点像 identity(1,2)  )
    2:如何定义一个序列
        格式:
        create sequence <序列名称>
         start with <起始数>
         increment by <增长量>
         [maxvalue  值]
         [minvalue  值]
         [cycle 当到达最大值的时候,将继续从头开始]

      example:    
        create sequence mySeq
        start with 1
        increment by 2
        maxvalue 40
        minvalue 1
        cycle

  3:怎么去取序列数据:
    currval--->curenValue
    nextVal-->NextVlaue
   example:
    select mySeq.nextVal from dual
    注意一点:currval只有当nextVal执行一次以后才可以用.
   在创建表的时候,可以使用序列.
  具体例子:
   create table 学生基本信息表
   (
   StuID int,
   StuName varchar2(20)
   )
   insert into 学生基本信息表 values(mySeq.nextVal,'AA')
 
   4:如何修改序列:
   alter sequence mySeq maxValue 500
   注意:不能改start with,其他随便改(设置minValue值的时候不能大于当前值)


   5:如何查看某个表空间所有序列:
   select * from user_sequences

   6:如何删除:
   drop sequence 序列名称

同义词:
    就是给Oracle对象取一个别名,并做为数据库对象永久保存在Oracle数据库.
    特别注意一点:同义词一但创建,就不能修改   只能删除
    1:分类:
       私有同义词:普通用户(scott)创建,并且只有该用户可以用.
       公有同义词:由DBA。SYSTEM。SYS创建.任何用户都可以访问同义词
    2:特点:
      代表Oracle对象的全部.不能代表一个对象的某一部分.但是视图却可以代表对象的一部分.
      对同义词进行数据操作,将影响到某一个跟同义词关联的对象
      对某一个具体的Oracle对象进行数据操作的时候,将影响到与他关联的同义词。   
      表一但重命名   同义词不会改变  还是在数据库存在的.
      表一但删除     同义词也还在   但同义词数据却不在
    3:创建同义词的格式:
      create [public] synonym 同义词名称 for Oracle某一个具体对象  
    4:查看所有的同义词:
      select * from user_synonyms
    5:如何删除同义词:
      drop synonym 同义词名称

   自己写的一个例子

  我在用户AA中建一个同义词:  
      CREATE   SYNONYM   "AA"."MYTONGYI"    
              FOR   "AA"."AATEST_1"  
  其中   AATEST_1   是一个数据库表。  
   
  然后有用户BB   :  
  执行下列语句:  
  grant   select   on       MYTONGYI   to   BB;  
  commit;  
  那么用BB登录执行下列语句:  
      select   *   from   AA.MYTONGYI  

 

视图与同义词的区别:
    A:同义词是实实在在的 而视图是虚的
    B:同义词是代表对象的全部    不能代表一部分   而视图既可以是全部  也可以是一部分
    C:同义词一但创建不能修改     视图却可以修改
    D:同义词只能代表一个对象  ,而视图可以关联多个

A  synonym  is  an  alias  for  a  schema  object.  Synonyms  can  provide  a  level  of  ecurity 
by  masking  the  name  and  owner  of  an  object  and  by  providing  location  transparency  for  remote  objects  of  a  distributed  database.  Also,  they  are  convenient  to  use  and  reduce  the  complexity  of  SQL  statements  for  database  users. 
Synonyms  allow  underlying  objects  to  be  renamed  or  moved,  where  only  the  synonym  needs  to  be  redefined  and  applications  based  on  the  synonym  continue  to  function  without  modification. 
You  can  create  both  public  and  private  synonyms.  A  public  synonym  is  owned  by 
the  special  user  group  named  PUBLIC  and  is  accessible  to  every  user  in  a  database. 
A  private  synonym  is  contained  in  the  schema  of  a  specific  user  and  available  only 
to  the  user  and  the  user’s  grantees.

转载:http://hi.baidu.com/rover828/blog/item/b8d3a9c3e3e11e55b219a8d2.html

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值