序列和同义词

一,序列

 1:定义:
        仅向前的数字变量(SQL中的自动编号有点像 identity(1,2)  )
 

2:如何定义一个序列
        格式:
        create sequence <序列名称>
         start with <起始数>
         increment by <增长量>
         [maxvalue  ]
         [minvalue  ]
         [cycle 当到达最大值的时候,将继续从头开始]

INCREMENT BY 指定序列号之间的间隔,该值可为正的或负的整数,但不可为0.序列为升序。忽略该子句时,缺省值为1.
  START WITH:指定生成的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。对于降序,序列可由比最大值小的值开始,缺省值为序列的最大值。
  MAXVALUE:指定序列可生成的最大值。也可以不进行设置
  NOMAXVALUE:为升序指定最大值为1027,为降序指定最大值为-1.
  MINVALUE:指定序列的最小值。
  NOMINVALUE:为升序指定最小值为1.为降序指定最小值为-1026.
  NOCYCLE:一直累加,不循环 

  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 序列名称

二,同义词

同义词是现有对象的一个别名。

·简化SQL语句

·隐藏对象的名称和所有者

·提供对对象的公共访问

一,创建私有同义词

create  [or replace ]  synonym  名称 for 表名 ;  

如: SQL> create  or  replace  synonym sm_emp for scott.emp ; 

二,创建公共同义词

create or replace public synonym 名称 for 表名

三,删除同义词

drop synonym 名称

你可能感兴趣的:(序列和同义词)