00:00
下一个问题叫存储过程。直接咱们来看PPT啊。呃,首先呢,为什么使用存储过程。强调一下啊,把这俩字看准了。因为。有的时候啊,之前做面试的时候。面试个,面试一个这个这个同学。之前问题答的非常好啊,然后我就问他这个存储过程这个这个了不了解,他直接给我回答了一个叫储存过程。他说,储存过程。一下就露怯了是吧?啊,你封装再好,你这个存储过程这俩字你居然读反了。一看用的就不多。所以一定要把这两个字千万别漏气,存储过程就是存储过程。OK,别给他读颠倒了啊。一读颠倒了,你就很一下就成为外行人了。好吧,真正的行业里边的人,没有人读错,都是存储过程。
01:01
OK,这是第一个问题啊,然后呢,咱们说这个存储过程啊,什么是存储过程。首先看这么一个问题哈,他说互联网是不是安全的,现在的互联网还是挺安全的啊。呃,那个互联网不安全的那个年代,是那个年代,大家还在。上什么上什么学呢,应该。十年之前吧。零几年那会儿吧。零几年那会儿大家还没太接触电脑呢,是吧?啊,那个年代啊,互联网是这个黑客啊,是也不能算是黑客啊,就是那帮小打小闹的人特别猖獗。真正的黑客哈,他不屑于做这些事儿啊,做一个小小的木马,还让你这个电脑关机了,让你电脑写点破文件了,真正黑客的人不屑于干这个事儿啊,对吧,人都干大事的人。什么大事呢?自己想去吧啊。啊,那个年代啊,互联网非常不安全啊。
02:03
非常不安全,怎么说呢?呃,那个年代比如说什么经常有偷QQ号是吧,呃,游戏账号被盗对吧,特别猖獗那个年代。但是现在呢,经过这咱们这个,呃,中国的网络工程师的努力哈,这个现在这个互联网已经非常安全了,马云不说了那么一句话吗,你要能把支付宝攻破的话,我他妈这个有那个支付宝那个安全基金啊,你全拿走。好像是500万。你只要能让我们支付宝出现1.bug,或者说一点漏洞,500万拿走。哎,马云就有这个,就有这个气势啊。然后前段时间没有那么一个活动啊,说他并不是黑客啊,是中国公安部有五名网络专家,就是公安部的啊,哎,网络专家。开始干支付宝。结果干了好几次,还是没干掉。也就是说公安部的人员也干不了支付宝。所以支付宝。
03:03
很很牛是吧。哎,很牛。啊,现在互联网很安全啊,但是之前不安全的时候,不安全的时候咋回事呢?是这样的。咱们在客户端。发送SQ语句,假设呢,就是一个登录的SQL语句。这个登录的SQL语句里边,它一定你甭管里边咋写的,它一定会包含账号和密码这两个字符串。OK吧,这个SQ语句里边一定会包含这两个字符串,然后这两个字符串它就形成了一条SQ语句,经过互联网发送给咱们,比如说这个阿里巴巴淘宝的服务器哈。那么黑客他会怎么做呢?它会有一些这个硬件的设备,会把你发射的信号呢,给你抓捕过来,然后对你发射的这个资源数据中进行写一些算法的一些解析。
04:03
哎,一些猜测一些解析哈,就会把里边的账号密码,它会可能会给你匹配几十种十几种匹配。然后呢,他就挨个去这十几种匹配,就挨个去试,结果有一对儿账号密码就成了,就真正的比如说账这个QQ账号密码啊。账号是这个,密码是这个匹配上了,然后你的账号密码就丢了。这是这么一个过程。为什么会出现这个问题?并不是说黑客的这个手段很高端,这个手段其实就是很基础的一个数据拦截。但是问题是出现在你这个程序写的很很不行。因为你把用户的账号密码全都给暴露出来了。所以黑客一拦截,他直接很简单的就会把账号密码给你匹配到。对吧,而且还知道,哎呀,你一看你发送的什么星,一看你就是查询的嘛。对吧,哎,他就知道你有什么企图。
05:03
OK,那这种方式是不可取的啊,现在会怎么样呢?现在其实啊。哎,这是黑客啊,篡改造你数据,现在他是这么干的,就是一条语句两条语句,三条语句,四条语句,比如说就个登录吧,啊,那录他会把这个登录这个代码啊,这么多语句啊,封装成一个方法名,类似于Java这过程啊,把复杂的语句封装到一个方法里,这个方法就叫A小括号,明白这意思吧,A小括号,然后呢,这个代码在哪呢?在人家服务器里头。然后咱们想登录的话,想登录的话,我只需要发送是发送自数据吗?不需要我发送什么呢?我就发送A小括号。就可以了,然后A小符号到这里边,服器拿到哟,你这是什么呀,然后找到了,哦,原来你这个A里边封装啊,那死多代码对吧,那这个代码就只个服务器里面知道是啥啥东西,而你黑客就算拦截下来了,你看到A它就懵蔽了,A是啥玩意了,他咋分析啊,它怎么解析啊,它解析不出来A是啥了,对吧,你管我这啥呢?A可能是登录,可能是查询,可能是删除,可能是注册,对吧,那就没有办法分析了,没有办法分析了,所以这种手段是咱们规避之前啊,规避这个黑客拦截的一种手段,就是把什么手段啊,把很多代码放在服务器里,服务器里还有的人说黑客其实其入服务器呗,也你这是科幻电影看多了啊。
06:03
人家服务器根本就吃不进去啊,如果服务器那么容公富的话,这个事件早就乱了,早就乱套了,好吧,人家服务器这个防护是非常严格的啊,非常非常严格,你根本就不可能进去,就是现在也是不管你黑客工布在牛,千万不要被这个客刻电影给误导,说哎呦这干你服务器干什么?均阀服务器控制废机角,不可能绝对不可能,他这个黑客左手外只能在服务器外拦截,只能在外边拦截,不盖,这是一层保护膜,保护门,你想拦截只能在外边拦,想进来不可能进来。现在的手段是已经到这个程度了,但是再发展几年,这个黑客到底能不能进去,咱也说不准来,不过暂时是进不去的,人家服务器很牛的,好吧,好,那这个存储过程呢,其实就是这个到底是什么存储过程来看知呢这呢。它就是预先储存好词索语句,把这个词语句先存好,你看单条词索语句,什么select语块,把select什么什么逻辑控制语句,这一复循环啊,我全部都封装到了一个方块里边,把这个方块提供给别人什么可能就叫A,像一个方法名一样,你拿到这个A,你明白你知道里边是啥,如果你不知道的话,你肯定是猜不到的是吧,你猜不到里边是写什么,所以这样的话保证了咱们数据的安全性,OK,接下来呢,咱们来看一看存储过程怎么写,其实这个存储过程暂时你可以把它理解为和Java这个方法是一个意思。OK,第二种方法干嘛使的呀?我写了一句两句,很多句代码了,我调用起来是不是很死杂呀?哎,咋办呢?我把这么多代码封装成一个方法叫A方了,那别人想要执行这么多功能的时候,是不是调用一下A就完事了,调用一下A就完事了,哎,这叫过程,那咱们来写一个,写一个这个优点,等会咱再说写一个过程。
07:14
啊,这个这是官方语法,一会来回头看啊,直接看我写啊,在这先选一个词过程用来比较两个参数的大小,并突出较大的那个看好这是什么啊,参数是吧?好来看我怎么写啊。首先写存储过程啊,大家并不是特别特别会写啊,先写代码块就正常写这个程序好吧,然后X number初始化为时。下一。然后在这里边写正常的判断。X大于Y。输出。否则则这个输出版的一输出语句看过来啊。好,这个输出较大的是什么呀?X,这个较大的是不就Y了,XY好,这个程序有没有问题。什么来下?
08:03
清楚吧,好,那这个大板块其实现在家已经熟,已经写完熟悉了是吧,早上的第一道题是不是就完了,好了,那我现在要把它封装成方法了,也是咱们数据库中所谓的我要把它搞成一个过程,Co怎么改造了啊来了。来了第一个生命序,你先付管生命序,在第一句话写上,创建一个存储过程,创建存储过程三次,叫procedure procedure。Pro叫做这个C和C轴啊,C轴这个单词一写出来,大家发现有什么特色了吗?那这里面是不是出现一根红线啊,哎,出现一根红线哎,这个红线表示存我的开始啊,看到了红线OK,然后创建个存储过程,比如说这个存储过程的名字叫什么呢?那这叫得到最大值是什么?方法名了,OK,然后小括号方法吗?是不是有方法这个参数了,我刚才这个参数针对怎么说了,是不是两个参数的大小啊,所以这个X和这个Y是不是应该是传进来的,哎,这块这两个值是传进来的,所以咱就写形参形式参数加法中是这么写的。在这里边怎么写呢,这么写。X number类型类型。传了两值,哎这块呢,已经传值了,那这块的声明是不是没用了,哎把这个删掉,把这个删掉好,把这个删掉之后呢,把低可列这句话也删掉,它叫做is,那叫就是创建一个存储过程,里边的内容是这些。
09:04
好,这样的话呢,咱们这个存储过程就算是写完了,来咱们给它创建一下,创建一下好应该是现在我们现在S3还是Y不知道吧,你这一个方法你知道吗?是不也不知道,因为这个变量啊,好了记住了,创建存储过程使用F5。哪去了,这写了procedure OK,咱们在这个这边。关掉了啊。开学过了,六学过了,你大学过了,约束学过了,呃,序列学过了,对吧,接下来看这个。不啊,是存储过程啊,来点开,点开里边是不是我建的get max,这里面就是我的代码了,我现在代码好吧,来回。写完之后,刚才咱们是不是也放假了?框架吧,就过了好创建完成了,我这个代码呢,我就可以粘过来了。在这边我怎么调那个方法呢,这有。方法一旦创建咱们就这段,这段就是咱们创建代码,创建存储过程的这个代码,这段单词呢,啥意思,用过了吧,或者替换啊,刚才我没写啊,又给他家补上啊好,存储过程创建已经成功了,接下来就是调用了,调用存储过程啊,其实三种方式都可以咱们挨个来试一试。第一个是靠。
10:02
C考试我的名叫什么?艾特MAX3吗?到底是医大呀还是师大?好就行。没输出是吧。重开。懂了吗?好吧,这十大呀,那到底是11大还是十大呢?100,这11大呀,那底是111大呢,还是11大呢?是零。没毛用吧,这个就是传两个值,知道它们的化学关系了,OK,那这个道理是什么呢?这个就是刚才咱们创建好的存种过程,OK。好,回来,咱们这是第一种叫做方式啊,还有一种什么叫EXE这个单词其实合起来叫e get,还个一二得了,好吧,执行。是不是二啊,OK,那这个我就不改了吧,那这个单词呢,这个单词是全称,也可以写成这个意思。这个孩子是,呃,三房。了解吧,啊,这是三种方式吧,还有一种方式,这写在代码框里,Begin,这里边叫get mark。啊,这几个。加紧的话来执行这个。了解吧,一共四种调用方式,这两种这两种是相一样啊,只是第二种方式,把这个单词简单的省略一点点,好吧,啊,这是调用,没啥区别啊,没啥区别,这就这种方式,下面是存储过程,存储。
11:10
思上边呢,是存储过程定义。好,把这个单词咱写什么,或者提问的话写全了,或者。看见了。啊,这个就是简单的一个存储过程。
我来说两句