知识扩展:数据库对象
表、视图、序列、过程、函数、程序包,甚至其它同义词都可以创建同义词。
1、同义词:私有同义词、公有同义词。
私有同义词只能被当前模式的用户访问。私有同义词名称不可与当前模式的对象名称相同。要在自身的模式创建私有同义词,
用户必须拥有Create Synonym系统权限。要在其它用户模式创建私有同义词,用户必须拥有Create Any Synonym系统权限。
公有同义词可被所有的数据库用户访问。要创建公有同义词,用户必须拥有Create Public Synonym系统权限。
创建私有同义词语法:
Create [OR REPLACE] SYNONYM [schema.]synonym_name FOR [schema.]object_name;
其中:OR REPLACE表示在同义词存在的情况下替换该同义词。
synonym_name表示要创建的同义词的名称。
object_name指定要为之创建同义词的对象的名称。
示例1:create synonym s_emp for scott.emp;
创建公有同义词语法:
Create PUBLIC SYNONYM synonym_name FOR [schema.]object_name;
示例2:create public synonym emp_syn from scott.emp;
可以查询字典视图User_Synonyms来查看用户所创建的同义词的详细信息
删除同义词语法:Drop Synonym synonym_name; 删除公有同义词加上一个Public
此命令只删除同义词,不会删除对应的表。
2、序列:是用来生成唯一、连续的整数的数据库对象。序列通常用来自动生成主键或唯一键的值。
创建序列语法如下:
Create SEQUENCE sequence_name
[START WITH integer]
[INCREMENT BY integer]
[MAXVALUE integer|NOMAXVALUE]
[MINVALUE integer|NOMINVALUE]
[CYCLE|NOCYCLE]
[CACHE interger|NOCACHE];
其中:START WITH是指定要生成的第一个序列号。对于升序序列,其默认值为序列的最小值。对于降序序列,其默认值为序列的最大值。
INCREMENT BY是用于指定序列号之间的间隔。其默认值为1。如果integer为正值,则生成的序列将按升序排列,否则按降序排列。
MAXVALUE指定序列可以生成的最大值。
NOMAXVALUE这是默认选项,将升序序列的最大值设为10的27次幂,将降序序列的最大值设为-1。
MINVALUE指定序列的最小值。MINVALUE必须小于或等于START WITH的值,并且必须小于MAXVALUE。
NOMINVALUE这是默认选项,将升序序列的最小值设为1,将降序序列的最小值设为-10的26次幂。
CYCLE指定序列在达到最大值或最小值后,将继续从头开始生成值。
NOCYCLE这是默认选项。指定序列在达到最大值或最小值后,将不能再继续生成值。
CACHE使用CACHE选项可以预先分配一组序列号,并将其保留在内存中,这样可以更快的访问序列号。
NOCACHE此项则不会为加快速度而预先分配序列号。如果在创建序列时忽略了CACHE和NOCACHE选项&#