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:同义词只能代表一个对象  ,而视图可以关联多个

转载: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、付费专栏及课程。

余额充值