00:00
好,我们看第三种情况,那就是创建一下带al模式的存储过程al模式,那它也就是说这个存储过程是不是带返回值了呀,而且呢,这个al模式的参数呢,我们不光是说可以带一个,它其实也可以支持带多个,那也就是说我一种返一个返回的也可以,多个返回的也行,咱们呢,先做一个案例呢,来去演示一下带一个al模式的啊这样的一个参数哈,也就是带一个返回值的,呃,比如说呢,咱们来做一个根据我们的女神名返回对应的男神名啊来咱们去试一下,哎,那么我们就要create pro啊procedure哈,那后面呢,我们加存储过程名称,比方说MYP5了哈,那么在这呢,呃,根据女神名,那也就是女神名是不是传入的呀,那这个应该是E模式,比方说我起上一个这个参数名beauty name,它的类型应该也是。
01:00
回差吧,V差20,哎,那返回男神名,那你看这个就是做返回值了,所以说我们的这个参数的模式选的是alt,哎起上一个参数名,比方说叫Bo name啊,它的类型也是we叉啊we叉好了,然后再去用begin and哈,诶然后到结尾,哎要注意的就是我们如果说是在out模式的这种存储过程的话呢,我们这个呃存储过程体里边也不用加天语句,因为呢,它这个包音name,如果说也就这个参数,我如果附上值了之后呢,那么它将呃自动的去返回,自动的去返回,也就是你调用的时候,它会自动返回到你这个地方了,哎所以说呢,这个的话不用我们方呃方法体,这不叫方法体,这叫存储过程体了,对吧,不用里边去加入天语句了,更加的智能哈,行吧,那咱们写一下,呃,你要做这道题的话,那我是不是应该先去根据这个条件,哎,是不是来查询出男申明啊。
02:00
查询出来之后是不是再复制到这个地方了,对吧?那所以说第一步的话应该做一个查询,那查询的话条件是这个女申名来自于这,那么它的这个查询的东西来自于这儿,所以这是不是两表连接啊,那么好了,我们一起来做一下哈,那就是select,后面呢,我们去加上我们的什么呢?呃,要查的是我们的boy表里边,我这样起个别名吧,它里边的boy name,然后from我们的报义字表Bo,哎,假如说我要是用内联,我们先做一下,看一下情况哈,Inner draw,我们的beauty表be on,条件为Bo里边的ID等于我们B里边的boy friend friend ID,好,它需要一个筛选条件吧,Where,我们B里边的name,然后等于是不是你传入的beauty name呀,哎,OK,这就是一个查询啊,那这个。
03:00
特查用之前其实咱们做过很多遍,那么这个的话,假如换成一个常量值,那这一句话实际上是不是就能查询出一个对应的男生名啊好,这是关于它,那么我第二步的话就应该把它复制给报音name了,也就这个参数,这个时候呢,我们又发现,呃,这个报音name跟它重名了,对吧?啊,但是没关系,因为我的这个包音name实际上是不是已然用别名去限定了,呃,所以它代表的就是我们的呃表里边的这个字段哈,那这个的话,我我要是没限定是不是默认的就是什么呢?默认的是不是就是这个参数嘛啊所以说我知道怎么去赋值呢,注意看哈,直接into后面加上我们的包1NAME就好使了,OK,做完,哎,这就是关于创建,那怎么去调用呢?哎,那调用这种带out模式的存储过程的话呢,你看我首先呢,就是靠一下MYP5,比方说这个里边我们传入一个小招,但是呢。
04:00
那我是不是还得需要传第二个参数啊,第二个参数呢?哎,它不需要有值,它就是个变量,是不是用于接收返回值啊,那么你是不是也得提前是不是有这样的一个变量呀?好,那么在这我就要定一个变量,那么大家去想一想,咱们学过的变量里边哪些能够说在我们的呃,存储过过程外面,也就是跟N的外面定义啊,啊,是不是就是我们的用户变量啊,用户变量,所以这个时候呢,我们可以去定义一个变量啊,用户变量,比方说圈A后面呢,我们再去加上谁呢?呃,报1NAME,其实这个名字可以随便起哈,比方说我就叫b name啊呃,Dollar结尾,那这就叫做定义,定义完了之后呢,我们在这怎么去写呢?我这直接就写一个什么呢?哎,这个圈A,然后是b name,哎,其实就可以了哈。哎,那么回头的话呢,我直接拿来去用就行啊,或者说我这其实也甚至可以不定义,不定义的话,我这直接用也行,那我这个里边就有值了,我怎么着去查看呢?那就可以select select加上我们的这个b name啊就行了,好吧,那我们现在试一下把整个的这个呢,我们可以粘过来哈,粘贴哎已经出来了吧,哎,这是不是已经出来了呀?哎,这就是根据女神名返回对应的男神名啊,哎是这个意思。
05:25
好,行了,呃,那么接下来呢,我们再去做第二个案例,第二个案例的话呢,就是我呢,可以存储过程里边去带多个al模式的参数啊,来试一下吧,比方说就还继续拿这道题,那么根据女神名,我们返回对应的男神名和他的呃,男神魅力值啊魅力值,那么我们来去试一下,嗯,怎么写嘞,那就还继续create procedure,那么我们这个地方呢,加上我们的MYJ应该是P6了,对不对?哎,后面呢,我们再去加,呃,首先是in模式的beauty name v叉类型,V叉20,再来一个out模式的,我们是包name啊,然后呢,也是V叉,那除了这个之外的话呢,我们还可以怎么干嘞,再加一个al模式,是不是加魅力值啊,比方说user cp啊,Int吧,这个是。
06:25
In哈,你看这个地方呢,就涉及到了两个al模式的参数了,也就是它支持这种多个返回值,哎,那么begin end结尾好了,那么在这个里边我们去写哈,哎,那基本的这种连接的这种套路是不是一样的呀?哎,那么我们就还可以继续把这个粘过来了哈,哎,粘过来然后这一次呢,我不光是要查报音name啊,复制给他,我是不是还需要根据这种条件再去查询出一个魅力值啊哎,所以怎么写呢?看到哈,那么我就应该是继续逗号,后面再去加U的CP啊,当然你这个应该也用,是不是我们的别名或表名限定啊,那你起别名了,那我这就用别名限定bo.user cp into,哎,是不是我们的包1NAME啊?哎,注意哈,这样写的话还不行,哎,那么我们得怎么着写呢?看一下,哎,把这个和这个呢,哎,这是两个字段对不对,哎我们放一起去看到。
07:25
好哈,那应该是这样写,Select它逗号,它这是不是两个字段了,分别into到我们的Bo name这个参数,以及逗号后面user cp,哎这个参数里边,哎,这样写才可以,哎,这个条件不变,那行吧,我们这个呢,就是创建完了,我们接下来来来一次调用,那就是靠一下我们的MAPP6后面也是加上假如说小张,诶小张,然后呢,我们逗号,哎那么在这儿呢,比方说我们再去加一个谁呢?呃,艾特后面呢,我们再去加,呃加一个就是我们起一个b name哈,再来一个魅力值,比方说user user cp哈,行了,那么现在呢,我们去调用一下啊调用一下我们把这个呢先粘过来看好成功了,对吧?哎,你也发现了那这个。
08:25
词,我们只是调用意思说执行了里边的东西,而且同时未知两个变量呢,附上了值,这两个变量有值了,那现在我是不是就可以再查看一下,像刚才一样select一下哈,好,那么在这呢,我们继续去加,诶跑哪去了?好把这个去掉哈,那么我们再去查看select后面直接加at b name,然后再去加谁呢?哎,我们的user CT,哎这样的话就行了,能出来吧,哎,这是关于这个两个alt的话,我们怎么使啊,其实一样的道理啊,也就是也是你你你先有这个为多个这个al模式的这个参数负的那个值,你先提供好,准备好,然后呢,你再分别为它们两个赋值就行了,哎,我们也可以采用这种select into的语法为它赋值啊,这个我们之前也介绍过哈,哎,如果说你赋的值来自于我们表中的字段呀,绊达式啊,那这个的时候我们就可以用select into这种模式。
09:24
它的语法是select的,呃,你比方你要复制的这个字段逗号,再加字段再into啊,你的多个变量。
我来说两句