00:00
好,那么呢,对于支持自增主键的数据库,我们就可以使用这两个属性,把它的这个自增主键能拿得到。但是呢,对于某些数据库,比如我们这个Oracle,它不支持自增,那这个时候啊,Oracle不支持自增,那么这个时候呢,我们要每次插入数据获取它主键怎么办?在O入口中呢,虽然不支持自增,但是O入口使用我们这个序列来模拟自层,比如说呢,每次插入数据。插入的咱们这个数据的,咱们这个主键是从。序列中啊拿到的值,那么呢,我们如何获取到这个值?我们可以先看一下Oracle进行插入的时候,这个序列怎么用啊。打开。
01:04
哎,我们来输入密码,哎,密码输错了走。我们先来看一下这个序列怎么使用。我们来测试一下我们一直使用的那张表。From employees,哎,这张表,那么这张表里面的数据呢?哎,他们都有一个employee ID,而这个ID我们如果每次插入新数据,不应该是我们自己在这随便传值进来的,而应该是有一个默认的这个递增顺序,而这个顺序呢,我们Oracle是用咱们这个序列来做的。比如我来可以看一下我这个当前用户所有的这个序列。好,这个当前用户呢,就有这么多序列,其中有一个就叫employees circle,那么这个序列呢,它最小值是一,最大,哎,非常大,然后呢,每次自增增加一个,哎,当前它已经增加到221了,我之前已经哎插入删除了好多数据了,这个序列有变化。
02:17
说呢,我们每次要插数据,怎么应该是这个步骤。首先。我们从序列中选出它下一个该用的值,好,我们拿到序列的next y6。哎,就是序列的下一个值,哎,我们从一个虚表里边,好,那么下一个就是220,因为呢,刚才哎,最后一个是221,那么呢,我们再查一次,那么就是222,也就是说呢,我们每次只要拿值,我们这个序列就会递增,那么呢,当我们拿到这个值以后,我们再去入insert into employee。我们给这张表里边插入数据的时候,我们就有依据了,我要插入employee ID,哎,因为没自增,所以说employee ID得负值。
03:08
好,我们给last name赋值。以及我们这个email字段也赋值,这些字段呢,我们要传值过来,而传的值呢,首先就是这个ID字段,就是我们从序列里刚拿到的这个值。好,那么拉和name呢?就是我们自己在传进来的的密。好。我们这样走就会保存成功,我们来查询一下刚才保存的数据是吧。哎,那么这个刚保存的,我们来order buy一下order by咱们这个employee ID。我们用ID。来排个序。哎,让它生去。
04:03
好,刚才223号我们饿的面就是插入成功的,也就是说呢,我们每次插入都要从序列中拿一个主键,那么呢,作为我们要插入的这个ID,然后我们再插入数据。那这个时候我们来看我们这一块该怎么写。好。
我来说两句