Currval返回序列的当前值,即最后一次引用NEXTVAL时返回的值
测试currval
重启实例之后再次写入数据发现从40开始,因为按创建序列的要求,每次会拿30个序列号放到缓存中,实例重启后,缓存中的序列就会消失
3. 更改序列
Alter sequence命令用于修改序列的定义。如果要进行下列操作,则会修改序列。
设置或删除MINVALUE或MAXVALUE
修改增量值
修改缓存中的序列号的数目
不能修改序列的START WITH参数
4. 删除序列
十、同义词
同义词是对象的一个别名,不占用任何的实际存储空间,只在oracle的数据字典中保存其定义描述,在使用同义词时,oracle会将其翻译为对应对象的名称。
1. 用途:
- 简化SQL语句
- 隐藏对象的名称和所有者
- 为分布式数据库的远程对象提供位置透明性
- 提供对数据库对象的公共访问
创建数据库链接的语法:
CREATE DATABASE LINK 数据库链接名 CONNECT TO user名 IDENTIFIED BY 口令 USING ‘Oracle链接串’;
2. 同义词的分类
(1)私有同义词
私有同义词只能被当前模式的用户访问,私有同义词名称不可与当前模式的对象名称相同。要在自身的模式创建私有同义词,用户必须拥有create synonym系统权限。要在其他用户模式创建私有同义词,用户必须拥有create any synonym系统权限。
语法:
参数解释:
- [OR REPLACE]:在同义词存在的情况下替换该同义词
- synonym_name:要创建同义词的名称
- object_name:指定要为之创建同义词的对象的名称
2)共有同义词
公有同义词被所有的数据库访问。公有同义词可以隐藏基表的身份,并降低sql语句的复杂性。要创建公有公有同义词,用户必须拥有create public SYNOYM的系统权限。
语法:
(3)删除同义词
十一、分区表
1. 含义:
Oracle允许把一个表重的所有行分成几个部分,并将它们存储在不通的表空间,分成的每一部分成为一个分区,被分区的表成为分区表。
对于包含大量数据的表来说,分区很有用,优点有以下几点:
1)改善表的查询性能。在对表进行分区后,用户执行sql查询时可以只访问表中的特定分区而非整个表。
2)表更容易管理。因为分区表的数据存储在多个部分中,按分区加载和删除数据比在表中加载和删除更容易。
3)便于备份和恢复。可以独立地备份和恢复每个分区。
4)提高数据安全性。将不同的分区分布在不同的磁盘,可以减少所有分区的数据同时损坏的可能性。
符合一下条件的表可以建成分区表:
1)数据量大于2GB。
2)已有的数据和新添加的数据有明显的界限划分。
表分区对用户是透明的,及应用程序可以不知道表已被分区,在更新和查询分区表时当做普通表来操作,但oracle优化程序知道表已被分区。
2. 分区表的分类
Oracle提供的分区方法有范围分区、列表分区、散列分区、复合分区、间隔分区和虚拟列分区等。
3. 举例
(1)创建表并且分区,以age分区