00:00
好,咱们第六天这个课程的最后一个知识点啊,叫做触发器,呃,就是咱们这个楼道里是吧,楼道里边呢,一开始没有任何声音的话,这个灯是不是自动就灭了。然后你喊了一声,这个灯啪就亮了,好,我给大家把这个图片放在这儿的目的是什么呢?就是说。灯放在这儿,他一直在这儿呆着呢。只有当某些特定的条件一执行,他才会做相应的改变。才会做相应的改变。比如说灯一直,它一直在接触着电。这个电源是不是一直在保持着流通啊,对吧,然后呢,长时间没有声,它它自动就灭了。当有了响声,它们会触发它的电源立刻亮起来。OK,这个过程其实声控灯嘛,其实也可以理解为叫触发器。
01:01
对吧,只有触发的某一些特定条件,它才会执行。OK,再看一个图。拿手指头往这个墙上怼。首先你这个手指头放在这儿咋地不咋地是吧,没啥感觉强呢,他也没什么感觉。但是当发生一个特定的条件,什么条件?使劲怼是吧?然而就会产生一些化学变化。产生了什么结果啊?你呢,折了强呢?没咋地是吧,啊强没咋地。是不是刚开始很平稳,但是呢,经过了一些特定的条件,它就会产生一些变化,这个过程呢,也称之为叫触发器。那好,咱们,呃,咱们使用这个触发器啊。使用触发器给他做点事儿,让大家看一下结果哈。
02:01
首先你得把这个东西了解一下。了解一下,你才能知道触发器怎么去写这个案例啊。使用触发器能够满足哪些需求呢?不需要显示调用来执行,而是由一个事件来催促运行。啥意思呢?这句话你给他理解为就是咱们那个声控的灯。你不需要去手动的去摁开关,只要你喊一声,它就会运行起来。第二条。可以通过其他or事件触啊,这个触发调用程序,因为触发器不能兼容参数,这个一会儿我就告诉你怎么弄了,好吧,这个等会再解释。然后Oracle的事件它包括哪种情况呢?首先DML啥意思来着,增删改对吧?哎,增删改的操作,然后是定义语言,然后数据库的启动和关闭,这个是咱们明后天才会说的。啊,明后天再说的好,这篇呢,模模糊糊是吧,也没太明白,来写一个触发器。
03:08
别看那个语法了,看我给他写啊。好写一个什么样的触发器呢?比如说我现在,哎,我把这个破搞一下啊,破损表呢。没事儿呢。执行一下好吧,呃,准备点儿数据啊。然后呢,我这个这个这个序列也创建出来。发插入这句话。过来。好吧,这句话我先暂时先放在这儿啊,先放在这儿,现在咱们来查看一下这个表。不这么查了。这边有吗?哈。Person。我这个表里是不是什么值都没有啊。现在我要做一个什么程序呢?
04:05
当。添加数据在person表中。的时候。控制台。给出提示。什么提示?有数据。插入了。啥意思啊,就是我放在这儿呢,控制台啊,咋不咋地,当我一执行这个插入下边就给我报出警告,说有人有有这个有数据插入了是吧。有人侵入是吧?啊,有点类似于电影大片儿似的是吧。哎,你就放在这儿,它不会有任何的这个反应,但是当你执行音色音into语句,它就告诉你有人入,有人潜入,好吧,咱们做这么一个过程。现在你看啊,往里边插一条,他肯定没反应,人家说是不是他的事啊,重开一下你你再执行他也是没反应。
05:06
那我怎么才能实现这个功能呢?看好了。创建。触发器。咱先或者替换呗。触发器的单词。Trigger。好,那触发器的名字咱们叫啥呢?叉叉叉一得了,我先叫个叉一好吧,不知道叫啥名了啊,简单点。我这个触发器就叫X1,然后后边你看这个名字跟完之后啊,后边它有一系列的动作,这一系列的动作大家其实能够看得出来啥意思。在什么什么之前,在什么什么之后,是添加更新还是删除,OK吧,看我给谁写啊,我的需求是不是当添加的时候有提示啊。所以后边的时候是不是添加之后啊,所以先写。After,然后添加单词叫做。
06:00
Insert。OK。添加之后进行触发好,那么这个东西作用在哪张表上呢?就是说我要监控谁谁添加的时候我才给你提示啊,所以后边写上触发在。Person表上。在person表上。生效。X1这个触发器。好,然后里边。写什么呢?看啊,第一,Clear begin and。咱说了是不是就输出一句话呀。有人请住是吧?哒哒哒。这样啊。哎,咱们就说出一句话就好了。OK,现在呢,我把触发器执行一下。执行一下没反应,看到了吗。
07:00
F9也没反应,所以触发器执行用F5。Trigger被创建好,然后咱把那个灯啊重新开起来。现在呢,我这张表上就已经有这个有这个触发器去监控着你的数据是否插入了。当我插入一下。怎么样?再插入一下。是吧,每次插入是不是都有提示了。OK,现在了解什么是触发器了吗?哎,其实有点类似于像监控一样是吧,OK,这就是他了,哎,一个非常简单的触发器,然后大家看啊,后边其实它还有一个这个玩意儿。这个玩意儿。什么对于凤?对于每一行操作,每一行操作,哎,这个到底什么意思呢。对呀。我等会给大家解释,因为下边还有一系列的演示是吧。
08:02
大家呢,简单先了解一下什么是触发器,测试一下触发器,到时候把它创建出来,测试成功啊,然后下边这个灯哈,最好呢,重开一下。
我来说两句