00:00
行了,我们来继续看一下,就是关于局部变量了,局部变量呢,那也就是它的这个作用域呢,仅仅在局部有效呀啊,那作用欲仅仅在局部有效,哪个局部呢?就是定义它的啊,叫做比根end中,比根end中有效啊,那么意思是说呢,呃,它不是能够放在任何地方的,那么它只能放在一个比跟N的块中啊,那么所以说呢,它的这个作用域或者说这个生命周期都非常的小,那么仅仅在这里边有效,出了这个范围,那它就已经失效了啊,这个叫做局部变量的作用域,那它怎么去使用呢?它的这个步骤严格遵循我们的三步走,首先呢,第一步啊第一步的话呢,就是声明啊声明,那么它呢,可以只声明不跟他初始化哈,呃,怎么写呢?呃,它有点类似于Java中变量的这个声明,那要求必须加上类型,那就。
01:00
是declare,后面呢,我们加上的是变量名,哎,然后是类型,那这个类型怎么去写呢?那其实就是咱们,呃,前面介绍过的MYSQL中的常见数据类型,那么你选一个自己需要的哈,写到这个地方来,哎,那么这个叫做声明,如果说你要跟他附初始化的话,也就是附初值的话,那我们就是declare变量名类型,然后加上一个default,后面再去加值,当然呢,既然你把类型已经指定了,所以要求呀,我们的值的这个类型与你前面声明的这个类型要一致,或者说兼容啊,哎,这是它的一个声明的语法啊,那么既然你这个类型加好了的话,那你下边一步赋值的话,那你值的类型是不是也要求要满足我们的这个类型啊,也就是已知或者兼容啊,那它的赋值呢,其实跟我们前面讲的用户变量的这个赋值是一样一样的,那么也是遵循我们这两种方式啊呃,通过set或者说。
02:00
就通过select into,哎,只不过是说我们这个地方就不用加at符号了,那直接就set,哎,我们的局部变了名啊,或者说哎这样去写哈,哎,但是这个s select的时候要求要加上这个at,哎这个就比较矫情哈,就比较矫情哎,那这个地方也不用去加啊,也不用去加,哎这是局部哈,哎这是副值,那赋完值之后呢,我们也是第三步,那是不是就是使用呀啊使用,那使用的话我们以查看为例,那其实也是slack的后面加我们的局部变量名就行了啊,那这个也不用加at符号,哎,好吧,那你看这个就是关于局部变量的一个使用三步骤,你会发现跟用户变量大同小异,那主要的区别就在于声明时它是不是指定了类型啊啊,那么也就意味着你在具体的使的时候呢,那必须你的值的类型也要和它要一致和兼容啊,这一直在强调,呃,那么它的这个应用的位。
03:00
值呢,也跟前面不一样,那么它是应用在哪呢?应用在我们的begin end中,Begin end中,而且呢,必须是在begin end中的第一句话啊,第一句话哎,只能是放程begin end里边的第一句话,哎,这个一定要注意了哈,哎,行吧,这是关于它,哎,那最后呢,咱们可以对比一下,对比一下我们的这个用户变量和我们的局部变量啊,哎,那么我们在这做一个对比,呃,那么这样去写吧,哎,这个是用户变量,然后是局部变量啊那么我们首先呢,说一下它们的这个作用域是不一样的,然后说定义的位置,或者说定义和使用的位置吧,啊也不一样,嗯,好,然后再去说呢,我们的这个,呃,语法上啊,语法上啊有一些区别,首先作用于用户变量是呃,是不是就是针对于我们当前的。
04:00
绘画呀,而局部变量它是针对于我们的笔跟N的中的哈,那定义定义和使用的位置呢?哎,这个是说绘画当前绘画中的呃,任何地方任何地方都行,而这个是只能在你跟end中,且为是不是第一句啊哎,这个有一个硬性的要求,那么语法上的话呢,哎,那么我们最主要的是什么不同了,声明的语法不同啊,我这个就都写一起了哈,声明的语法不同啊,那么我们的用户变量要求什么呢?要求哎这样去写吧,哎,就是这我们的用户变量需要加上我们的艾符号啊,而我们这个的话呢,是一般不用加是不是at符号啊,除非是用呃,Select。
05:00
啊,也就是这一种的时候,那么它才需要去加I的符号啊,然后另外这个语法上呢,是不用限定类型,而这个的话呢,是需要限定类型啊好吧,这是对比了一下,那么我们可以做一个案例啊,做一个案例,比方说特别简单的,我们声明两个变量并赋初值。并负初值啊,然后求和,求两个变量之和,并打印好,那咱们先用我们的什么呢?先用我们的用户变量来去试一下哈,用户变量来试一下怎么写嘞,好吧,那这个就是set,后面再去加at,比方说呃,M等于一,然后呢,Sat我们的at n等于二可以吧,哎,然后sat我们的比方和sum等于哎,注意哈,哎,你使用的时候也得加上这个二的符号哈,好,最后的话呢,我们去这个查看啊,查看这不就行了吗?哎,我们看一下这个效果哈,我们去执行啊。
06:15
好,是不是就是三呀,哎,这个就出来了,哎,那么假如说我要是用上什么嘞,用上我们的局部变量,哎,看能不能行呀,咱们一直说它必须放在begin的中,且为第一句,那如果我不放又怎么样呢?我们试一下declare,比方说m int怎么写?对了,VOTE1 declare an intvot2,再来一个declare sum int没有默认值,对吧,那就这样写哈,Set sum等于M加N,对了,然后select sum,哎,正常来讲是不是这样去写就够了,那么现在我要是执行卡是不是报错了,那么说呀,我们是这个语法报错,其实也就是说,哎,呃,这个begin end中才可以去放这种声明,你像这随便找个地方你就这么写,这个是不允许的哈,所以通过这个案例,我们是不是也就搞。
07:16
清楚我们的用户变量和局部变量的使用了呀,啊,这个应该不是特别难啊啊当然呢,最大的区别还是它的这个作用域上对不对啊呃,其实这个也很好理解,你比方说那个,呃,生活中吧,你可以这样去举个例子哈,就是说比方说有有的人啊,有的人呢,这个女朋友啊,女朋友的话呢,假如说呢,他是非常一心一意的,那就是不管他出差到任何地方,那他女朋友就一个人,那就是小丽对不对,这就是当前绘画任任何地方它都有效,但有的人呢,你会发现你像以前啊认识一个人,那就是怎么着呢,就是去出差一个地方,那可能换一个女朋友,那这个女朋友的作用范围,可能比方说他出来在上海啊,那就上海这个地方有效,哎,那比方又出差到成都,又换了个女朋友,是不是叫小丽呀?啊,那可能就是小丽这个作用于呢,就是成都哈,是不是这个意思啊,行啊,那么这个就知道用户变量和局部变量的区别了哈。
我来说两句