00:00
那你想想啊,推出过程它的语法主要应该通过几个方面呀,两个方面吧,第一个应该叫做什么创建,它应该有个什么使用,对吧,这个使用我们可以认为就叫做什么调用,对于方法来讲,是不是你创建完了不执行不行啊,不调用不行啊,它也是啊,所以说存储过程也是先创建再调用,能听懂吧啊,否则它是没有效果的。好,看一下创建语法吧,它使用的是create,后面加的是per per它的翻译过来的意思是不是就是存储过程呀,哎,就是过程应该就应该叫过程对不对?哎,后面呢,我们再去加上我们一个具体的存储过程的名字,一定要起好了,下次是不是能找到的呀,对不对啊好,那么接下来呢,再来一个小括号,哎,是不是越来越想方法了呀,对不对啊,你去回想方法的那个语法哈,哎。
01:00
后面我们方法里边小括里面放什么?是不是参数列表呀,它也是,它也是放参数列表,但是它这个参数列表可能跟我们方法中不太一样,等会具体说哈,我先这么写,哎,然后如果说是方法是不是正常来讲应该大括号了,然后里边是不是该写方法体了呀,对不对?哎,这个我们MY搜Q里边,目前你见过大括号吗?没有是不是,所以它这个里边没有大括号,有的说小括号是吧,它就不是小括号,那它放的是什么呢?它通过的是这个东西,Be begin end啊begin end是不是用上be begin end了?哎,代表开始结尾,这其其实就相当于我们的一段大括号,哎,把你的这个存储过程题放里边,我们这儿就别叫方法体了,叫做存储过程体,其实里边就是遗嘱是不是合法有效的思考语句啊。对不对,哎,就是它哈,啊,能看明白意思吧?嗯,那行了,呃,接下来呢,我们再去说这个语法上有几点要注意的事项,呃,这些都没什么问题啊,就看一下参数列表,它的参数列表的写法很奇怪,它是这么写的,参数列表包含三部分啊,咱们这个Java中方法里边的参数列表只有两部分,就是类型和名字,对不对,但是它有三部分,这三部分有参数的模式,然后再去写参数名,最后的话才是参数类型,哎,举例啊,参数模式,比方说in参数名,比方说呃,就叫做那个SQ name啊,类型WECH20啊,它是这样来写的啊,那好吧,我们重点需要知道的是不是就是参数模式啊,哎,这俩都没啥对不对,你就正常起就。
02:59
行了,类型就选择我们是不是学过的MYQL中的类型就行了,我们就重点看模式哈,那参数模式的话,我们MYSQL里边提供了这个存储过程,提供了三个in out,还有一个叫in out in out,还有一个叫in out,对不对,这个in它本身翻译过来什么意思啊,在在什么什么里边可以认为是不是would呀,近的对不对,进的哈,这个out可以认为是出的in out呢,就是进进又出,你就认为这是进口,这是出口,这是进出口对吧?好,那这个音的话呢,它就代表说我们该参数,也就是用这个模式修修饰的参数呢,它是它这个修饰的参数可以作为输入,也就是入口,能听懂吧,啊什么意思呢?这样说可能还不太理解啊,他的意思是说。
03:59
这个就相当于我们传说意义中平常所谓的参数,参数本身是不是就是希望调用方给我传过来一个值啊,所以说假如你该参数用in来去修饰,就代表你这个参数需要调用方传过来值没有值,那么你下面是不是就没法执行啊,没法用啊,它是这个意思啊,跟我们平时所说的参数的功能是一样的啊,那我这这样写,该参数可以作为输入,也就是说我们该参数需要调用方是不是传入值啊?哎,传入值好,Al的意思是反过来,它代表的是该参数可以作为输出,什么叫输出呢?对了,有同学猜对了,也就是该参数可以作为返回值。
04:53
你有没有感觉咱们这个存储过程没有加返回的地方呀,咱们像Java里面是不是是在那个名字前面还是在哪来着啊,名字前面是不是加返回类型啊,对吧?你看这个地方没有,这个地方没有,所以它的返回值在哪个地方呀?Out,哎,通过out来设置,很奇怪,是不是它是这样的啊,该参数可以作为返回值啊,In out呢,意思是说我们该参数既可以作为输入,又可以作为输出,多强大呀,也就是也就是我们该参数既可以啊,既可以是不是当成普通的参数值用啊,也就是既需要传入值又可以返回值,能听懂吧,它这个意思哈,行,这是关于参数模式里边我们需要掌握的,然后接下来我们再去看。
05:53
第二点我们需要掌握的就是比跟N了,它是这样的,假如说我们的存储过程体仅仅只有一句话,里边就仅仅一句一句话,那么我们比跟N的这个关键词可以省略,就有点类似于说像咱们学的那个衣服的well大括号可以省略,是不是那种感觉啊,啊,就默认就是一句话能听懂吧,就是这个意思啊,假如说里边是超过一条,那你就不能省啊,好,另外第三列啊,就直接在里边写也行啊,说呀,我们这个因为你的底跟N的里边有可能有多少最后语句对不对,这个时候就有个问题,我们要不要加分号。
06:42
因为每条合法思语句结尾是不是应该用分号啊,但是你一加分号,他是不是就认为结束了,他可不认为,就是说你正好结束的这么这这一条,他哪有那么聪明呀,他是不是说不定认为是结束的,诶诶这么多对不对啊,其实我们只是说你这个分号是不是代表你你你某条词汇L语句结尾啊,哎,我的整个存储过程应该是这样的是不是,哎,所以这个地方要注意了哈。
07:13
哎,那怎么办呢?啊,它是这样的哈,这个里边那就是我们的存储过程其中的注意每条SQL语句,每条SQ语句的结尾要求必须加分号,首先嗯,加上,那我们这个存储过程的结尾怎么办呢?啊,那么我们用一个其他的符号代表存储过程的结尾啊,注意那就是存储过程的结尾啊,我们可以使用这个关键词叫代liter啊重新设置,重新设置啊,它是这样的,你要不重新设置的话,是不是出现混淆了呀,在离meter重新设置怎么写呢?语法是很简单,在离meter后面加一个结束标记,结数标记,哎,比如说我举个例子哈,在里你说我喜欢这个符号前,对吧,那你就可以使用它了啊。
08:14
啊,直接一直行啊,当然我这个注意咱们色乎腰里边不支持这些写法啊,等会儿咱们都得放到咱们的色乎客户端,就是那个黑乎乎的DOS窗口,错了,绿乎乎的到S窗口是不是放到那里面去试哈,这个都不行了啊,我们得放到那个里面去试啊,哎,这个就是设置结束标记的意思哈,啊,行吧,这是关于他们,呃,我这儿呢,叫做一个案例哈,那么说了这么多,这只是创建,怎么去调用啊,注意它的调用直接用一个靠后面再去加上我们的存储过程名小括号是不是跟那个方法类似啊啊里边再去加我们的十参列表,这样去加就行了,跟我们方法也一样,你这边几个参数,我这边也几个参数,形成时参个数顺序类型一致啊,要一致啊,你该输入的你就要。
09:14
传入值该返回的就不用传入值,它是这样的啊。还有的同学可逗了,说老师咱们Java中那个方法不是直接就写个名字小括号吗?我这个地方也把它去掉啊,不行,这个是必须加的,能听懂吧?啊,必须加啊,好吧,这是所谓的语法,我们说完了线下要学。
我来说两句