同义词 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
序列数可以增加postgresql数据表的检索速度,同时降低数据查询时的资源消耗。那么如何在postgresql中创建序列数并且应用呢?下面我给大家分享一下。
工具/材料pgAdmin4
创建序列数01首先打开pgAdmin4,展开postgresql数据库,找到模式下面的public选项,如下图所示
02接下来在public下面右键单击序列,然后点击Create下面的sequence选项,如下图所示
03在d出的创建Sequence界面中首先给序列数起一个名字,如下图所示,注意都用英文
04然后切换到Definition页卡,定义一下序列的增加量,如下图所示,其中maximum根据自己的需要进行设置
05最后回到数据库主界面,你会看到序列下面多出了一个项,这就是我们创建的序列数了,如下图所示
在数据表中应用序列数01首先选中一个数据表,点击右侧的编辑按钮,如下图所示
02在d出的编辑界面中切换到Columns页卡,点击ID签名的编辑按钮,如下图所示
03最后在字段的编辑界面中切换到Variables选项卡,然后在Value列中通过nextval函数带入刚才定义的序列数即可,如下图所示
问题分析:序列=自增ID,是数据库根据数据插入先后顺序自动生成的。
查询方式:
只能再查询自增ID即可
具体 *** 作:MYSQL获取自增ID的四种方法
select max(id) from tablename
SELECT LAST_INSERT_ID() 函数
LAST_INSERT_ID 是与table无关的,如果向表a插入数据后,再向表b插入数据,LAST_INSERT_ID会改变。
select @@IDENTITY
@@identity 是表示的是最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量。一般系统定义的全局变量都是以@@开头,用户自定义变量以@开头。
SHOW TABLE STATUS
得出的结果里边对应表名记录中有个Auto_increment字段,里边有下一个自增ID的数值就是当前该表的最大自增ID.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)