00:01
刚才我们看了一下my circle下,我们批量保存的啊,两种方式,特别是咱们第二种方式,它用分号分割多个circle,这种的话呢,你不仅可以用作批量保存,那我还可以用来批量修改,批量删除都可以来做,所以说呢,这种。封号。风格。分割分割多个circle,多个circle口,哎,可以用于我们这个其他的批量操作。咱们这个批量操作好,这比如呢,这个批量删除修改都行。哎,我呢,每一次分割一个色口。那接下来我们来看。My circle下是支持这两种方式。但是如果是Oracle数据库。Oracle。数据库。要批量保存。那么原来的这种circle语句我们就没法写了,Oracle是不支持你values,呃,小括号小括号这种语法。
01:08
所以说呢,这个values values or不支持。Oracle。不支持使用我们这种语法。那么我们在想在Oracle下完成这个保存工作怎么办呢?好,我来定义一下这个方法。把这个保存方法呢,我们再来写一个Oracle版本insert。DD呢,是我们这个and EPS还是这个添加方法,但是呢,我们给他给一个database ID好。它是Oracle版本,我们切到orac口环境下,那就会使用这个色。我们还是来O入口下,我们来看一下。如何才能批量保存成功?
02:01
好。来到我们这个。我们要操作的这个员工表DC,哎,我们的这个employ。你们操作这张表,真不好意思。好,这张表里边我们保存数据,要employee的ID以及last name,哎,我们测试呢,就把last name面这两个值呢可以取出来。我们来看一下Oracle支不支持我们之前的写法,Insert into,那这个employees这张表。然后呢,我们要差的呃值是employee ID,因为这个ID我们还得赋值,包括它的拉杠name这一列,包括呢,我们要插入email。好,这一列我们就拿这三点测试values。Values,如果我们只差单个,哎,我们需要从序列中拿到这个ID。这个序列呢?
03:01
就叫我们这个employee,我们之前用过sequence,拿到下一个next y流。好,我们要差的值,哎,比如last name,我们就叫TEST01。他的email。Test。零一。At at硅谷。对空好,这种方式如果插入单个值是没问题的,可以,但是多个值,有的同学说那我能不能继续逗号。Values这一堆呢,我来再写一下,大家来。把这一堆复制过来。好,粘过来。那么我们接下来TEST02。零二我把这一堆复制过来两个VALUE6S,哎,不是两个values,是逗号分割,那这两个小括号。好,这种方式封号走,诶我们来看这个circle命令未正确结束,我买circle是,哎,Oracle是不支持这种方式的,你这还一个逗号。
04:07
那么Oracle支持哪种批量保存的方式呢?我们可以说一下这三种方式。第一种方式。我们也可以像写这个circle一样。写上多条,保存circle。把它放在一个整体里边。好,我们进入编辑模式。编辑模式,我们可以用be begin和end be begin,包括每一个circle口好,这是呢我们第一个保存数据的SQ语句。Insert into values。好,我们要保存第二个数据的话呢。分号,然后第二个音色语句还是这么来写。然后我们这时候要保存到零二。零二,诶,0102,刚才用过了0304。
05:02
啊,然后写完以后我们来写,嗯。把多个circle包在北跟N的里边点一个确定。来运行。哎,违反唯一约束,那么就是呃,020304估计之类的用过了。001。零零。零零。我们从零零开始啊,我们正确的从零零开始。002好,002。来保存上这两个数据。走哎,这是成功的,我们来查询。From employee。啊,咱们这个order。ID啊,咱们按照程序。我们叫employee。
06:02
ID。我们来看刚才保存的,哎,0102这两个就是对的,所以说呢,这是Oracle啊批量的第一种方式来。记录一下。Oracle支持的。批量方式。好,第一种方式,哎,多个insert。放在北根。里面。啊,我们的事例,嗯,把我们刚才的这个事例。拉过来。这个呢?大家了解一下。这是第一种方式,我们再来试验一下。我们Oracle支持的第二种批量插入方式。利用。
07:01
中间表。Oracle如何利用中间表进行批量插入呢?好?来在编辑模式里边。来写一下insert into。而是我们employee这张表。然后呢?而表里的数据从哪来?表里边我们要插的一些记录是employee ID,这个呢,一定是从序列中拿出来的,还有last name。以及email。这些值。好,这些数据呢,我们是通过一张中间表里拿出来的。Select,把所有的数据都是中间表里边,好,我们要查一个序列employee。四的so.next value好,包括呢,我们要查出last。Name的值以及email的值,这张表里边,哎,相当于就有所有我们要的值,把这些值拿到交给我们这个employees表,我们就能进行批量插入了。
08:09
而这里边的数据又怎么写?From from哪张表呢?就from好,我们来自己创建一些数据。我们把要插入的数据写在这个from里边。Select,我假设我们要插入第一个test-A杠零一,好。他的email呢,假设呢,就叫T-A-E01。好,这是我们第一条数据,From我们一张虚表。这是我们第一条数据,完了以后呢,我们来看问我们第二条数据,那么接下来就联合。再来写,我们要第二条数据去继续写select来联合上第一条查询A杠零二。啊,包括这个。Test。A-102。
09:01
From。这个。区别,如果你再有数据,那就继续联合select。那那这个task。A杠零三和咱们这个test。到103。比如说等等等等,一直往下写就行了,这是我们利用中间表,而我们组合的数据,哎,是这张表里边的,但是呢,我们这个价ID是我们从序列中拿到的,这两个数据呢,你必须起个别名,这样才能跟last name直接对应起来。对应起来。别名好,前面是我们要查的lastname,前面都是lastname,后边我们写的这个值是email的值。然后我们来运行看一下效果确定。走好三个插入成功来查一下。
10:03
诶,这个这三个是进来了,所以说呢,我们也可以利用中间表,我把中间表的这个色拿过来。这也是我们Oracle支持的这种方式。那么这种方式呢,哎,大家。也可以熟练的看一下。
我来说两句