同义词有两种类型:私有和公共。私有的同义词是在指定的模式中创建并且只有创建者使用的模式访问。公共同义词是由public指定的模式访问,所有数据库模式都可以访问它。
作用:同义词相当于模式对象的别名,起著连结数据库模式对象和应用程序的作用。
这个应该是oracle里的吧?同义词 synonym
相当于alias(别名),比如把user1.table1在user2中建一个同义词table1
create synonym table1 for user1.table1
这样当你在user2中查select * from table1时就相当于查select * from user1.table1
序列比较复杂,
在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。
1、Create Sequence
你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限,
CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10
一旦定义了emp_sequence,你就可以用CURRVAL,NEXTVAL
CURRVAL=返回 sequence的当前值
NEXTVAL=增加sequence的值,然后返回 sequence 值
比如:
emp_sequence.CURRVAL
emp_sequence.NEXTVAL
可以使用sequence的地方:
- 不包含子查询、snapshot、VIEW的 SELECT 语句
- INSERT语句的子查询中
- NSERT语句的VALUES中
- UPDATE 的 SET中
可以看如下例子:
INSERT INTO emp VALUES
(empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20)
SELECT empseq.currval FROM DUAL
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)