Oracle 数据库对象又称模式对象。
数据库对象是逻辑结构的集合,最基本的数据库对象是表。
其他数据库对象包括:
同义词
同义词是现有对象的一个别名。
- 简化SQL语句
- 隐藏对象的名称和所有者
- 提供对对象的公共访问
同义词共有两种类型:
- 私有同义词: 只能在其模式内访问,且不能与当前模式的对象同名。
- 公有同义词: 可被所有的数据库用户访问。
私有同义词
创建用户并赋予权限(system身份登录创建test用户):
CREATE USER test IDENTIFIED BY test;
GRANT CONNECT, CREATE SYNONYMTO test;
GRANT SELECT ON SCOTT.EMP TO test;
GRANT DELETE ON SCOTT.EMP TO test;
GRANT UPDATE ON SCOTT.EMP TO test;
以test用户登录数据库,执行以下SQL语句:
公有同义词
scott用户没有创建公有同义词的权限,需要用SYS或者SYSTEM用户来创建:
特点:授权用户都可使用公有同义词。
序列
- 序列是用于生成唯一、连续序号的对象
- 序列可以是升序的,也可以是降序的
- 使用CREATE SEQUENCE语句创建序列
序列案例
创建序列测试表
create table t_testseq (
id number primary key,
name varchar2(10) NOT NULL
);
创建序列
create sequence seq_value Start with 1 Increment by 1;
访问序列
- 通过序列的伪列来访问序列的值
- NEXTVAL 返回序列的下一个值
- CURRVAL 返回序列的当前值