00:01
我来先看列吧,先做一个这个游标的练习,哎,游标你就记着,它是处理多行数据的,主要涉及到多行数据,有点类似于机合里边的迭代器一样啊,一条一条给你把这一行一行记术给你编辑一下打印啊,这个呢就是也是给他取出一条条的数据,哎,就使用到邮标。写这个东西C。嗯,利用游标调整公司中员工的工资,哎,工资的范围,这就是调整所有员工的工资,那意味着肯定是有多条数据了,所以。然后除了用油标之外,你看还得用不用定义其他的变量。那比如我们这个circle写的比较熟了啊,假设他要调整公司的公司的话,就是这样写update,诶,Employees,然后set一个salary等于。
01:11
嗯,Salary加上一个工资范围,那得乘以一个,呃,乘以一个,然后一加上一个百分之几是吧?相那百分之几,这是不是一个应该算我们用一个变量来表示是吧,然后呢。这个变量怎么得到的?哎,你这后边儿相当于加上一个什么什么东西,然后where相当于它对应着是哪一个人。你比如update这个salary等于一加上百分之有3%啊,也就是0.03,然后where,你是对于这具体的一个人,这个人来讲,比如102这个人,这个人是加0.03。那换个人可能是0.05,所以量变。这个变量随着这个变量的值的不同,然后这个再改,然后这个salary,因为你要想得到这个0.03。
02:07
他也得是做一个评判标准,如果什么salary怎么怎么着的时候,然后得到那个。哎,这个这个这个调整的基数,所以说我们应该是需要三个变量啊。这个你要是一开始想不到的话,你可以就写着,然后你个变量,你发现不够用了,你自己再来声明白就可以哈,哎,Declare声明声明,然后哎,先开始多个员工啊,多个员工涉及到使用的游标。嗯,有标emmp调整工资,Salary的科。你前面加上一个啊person啊is。Select,哎,我都需要获取哪些信息哈,这个你要是没想到的话,你就先写着,不够的话再来补salary。
03:06
Now from employees。没了所有员工的是吧。哎,这是声明一个游标,然后呢,每个人这个公司按照某一个标准来调,那我用一个变量来记录一下,每个人到底调整的幅度是多少,Number类型的。也是两个小数。哎,这样对吧,哎。你在这给它赋个值,数零也行,复数也没事,在下边我们再调整,另外呢,哎,我查询出来的这个intod跟salary,我得用两个变量来存。E。Employee employ ID这个类型的同时。还有一个salary。
04:01
嗯,这是我们生命这几个变量啊,然后这个变量是用于记录这个就上面写的调整的基数。用于获取和用于记录啊,这个呢,然后这两个就是我们理解的,你把这里边儿查询的这两个放在这里边。这是declare,然后begin begin需要做的哈,关于游标,进一步open。打开游标过去游标赛,那就是取赛,它into什么?放到一个两个变量里边PID。按照顺序来啊,前面那个你这个这写的是先写的ID,后写的salary,所以这也得是度擦。
05:07
嗯,再使它你指它没了,然后呢,While是吧,如果你这个它百分号放着有数据,然后执行一个循环。执行一个循环。嗯。循环里边是不是得判断一下。哎,判断说如果。嗯,如果如果什么呀,如果V上C它是。哎,小于。那我5000,那5000。不包括我前面假设啊,如果它的时候正我让你跟这个V的。碳冒号等于0.0。
06:00
Else if没有E啊。小五千,然后那就是这个小于1万。0.0。Else,最后一个哈。1%,那就是L对错了。B2看看0.01。这样。嗯,这个完了以后。And if。结束一下这个条件判断,我通过这个条件判断,我记录了一下,哎,V杠探的这个值是多少,下一步哎,每执行因思它应该是需要给你更新一个原对吧,那我们这时候应该写成一个词后语句,Update。
07:16
嗯,一条意思,然后呢。嗯,Set salary等于salary加上。或者这样下列乘以符号一加上一杠can。嗯,在它,然后where in以ID等于B杠。DPIID这个作用呢,就是你这这个是成对出现的,你调整的是这个人的工资,然后呢,对应的ID是他,所以是这个条件。哎,这就是给它更新了一条,更新一条完了以后别忘了这个while循环。
08:00
还得。再算一下。嗯,下一下下下完了以后让它摁的对右,然后摁的结束。对,有那个标啊,在这儿哈,然后。你看一下。在金城啊哈。当然这个效果没啥效果了,效果的话。先用back,然后。嗯。你在这个。这的时候加那out。对吧,我打印一下这个B啊salary。
09:07
哎,我看他这个时候工资是多少,然后调整完以后。嗯,这样打的话打不到一行。调整完salary,这个we salary。那这个这样写还不合适呢,对吧,这个salary是那个变量的,然后这儿呢,你想打印的是新的这个salary的是吧。还得再重新给它。负值的。得重新赋一个值是吧,那这个我们看不到新的值。那你可以。怎能看不见哈?嗯,NI。
10:02
在这儿打印的是相当于是旧的,就是没有update之前的这个ID跟它对应的salary。就是你看下这儿,这是旧的,我现在已经update完了,你看下新的,在这儿写吧。这个。嗯,Employing ID salary employee。20683498349。这就成了啊。哎,你这要是给它肯定一下,那就真的得改了,Go back是有回果的,这说明我们这个写的也没问题啊那。然后再往后。
11:00
哎,这个呢,是我们使用那个,哎,如果说我就不用这个PL circle的语言去实现一个update,用circle能不能实现也能。呃,SQ也能实现,SQ的话就是你具体的这个人不一样了哈,就update这个表里边的,让公司改成什么,那就看你这个人的工资是多少了。哎,我们这通过也是一个条件语句哈,要用的抵扣。你看这个,这是我们之前就能写的。把这个人的salary跟我。哎,然后呢,就是创合一下得到一个值,看那个值是零的话,那就零到5000。是0.05那一的时候,5000到一到10010.031次。然后呢,让ARY1加上对应你得到的这个值。也能行是吧,这是使用的是circle。哎,下边说利用游标for来完成刚才这个14,哎游标for的区别跟它呢,就是它那个打开关闭自动的去一个赛,它自动自己就可以完成了,嗯,改改。
12:05
害怕啊。好,大家看,嗯。这个给他卸了。对,写了是吧。然后这个呢,改成。那这这这肯定也不要了,就交过去了。For,比如对应的变量叫C,然后in,我们对应的这个特色说C。Book,嗯,然后就开始进行条件判断了啊,嗯,如果这个就是C点。
13:05
C现在它这个直接指向呢,是对应的这个price表里的这个ID跟salary,实际上你这里边儿这个啊,这俩变量。没用着了。如果这个c.salary它是小于5000的,然后。这样处理。嗯,L if c.salary。对的。
14:00
And if来接束它,哎,这个我也不输出了,接着update。Update他,然后fe等于他。这个就。你个C。这个得改一下。这这写成什么呀,C点。EIDS。哎,得这样写哈,然后呢。Update完了以后for and关闭。啊,油标也不用关了,End,结束。然后这个。嗯。那老师。AND1。嗯,对,找分号。
15:03
OK,搞定了啊,然后你在这儿再查一下。对,是这个呗。八四个一样对吧,我们这使用for循环实现啊,显然使用for循环来处理比较简单一些。往下哈。带参数的游标,诶这个了解一下,你看怎么叫带参数的游标,就是这不我们声明一个游标吗?哎科谁诶这是这个邮标的名字,然后呢,一般我们之前现在没写它,我直接是is select什么什么等于什么,这呢我写了两个变量。哎,我们直接看着啊,这个变量呢,是记录一下第PT的ID,那就部门的相当于部门ID哈,这也是你定义的,有点类似于局部变量,嗯,Salaries也也是个number类型的,然后呢,我在这个select语句当中使用了这两个变量。
16:03
当你在这在下边儿这个真正通过begin去调用这个科的时候,我指明这两个变量的值。啊,指定这两边位值,相当于说我们要不填这两个值的时候,你就把它俩给写到这儿了,是吧?比如说哈,Select salary加上1000叫它的名,然后ID叫起名ID from,它department ID等于我定义的这个变量。然后这个工资还得大于多少是。哎,你要是不在这儿写的话,直接放到这儿就相当于是写死了呗,哎这儿呢,就相当于让你动态的,就是当你调用的时候,从指定值,这就是我们那会儿说的那个那个负值符号哈,还用是呃等等一个。大括号的形式啊,表示给它赋值,哎,Salary是4000,哎,这个是80号部门的,在下面的这个调用就一样了。还是一个。调整这个薪资的一个过程啊,没啥区别。
17:02
只是说这个时候拉语句在这儿写成变量了,放在这儿而已啊。战后这个叫影视有标。哎,有显示有关,还是跟隐示有关对吧?哎,这个呢,你也了解一下,比如说这个问题啊,比如说C。哎,这个隐是有标,肯定不需要你这个显示的去给它什么科定义一个了,直接就相当于可以用这个怎么来个理解哈,这clear更新指定员工的salary。嗯,涨工资。就涨十块钱。然后如果该工资没找着,呃,该员工没找着,打印查无此人。这个也不用比第二了。嗯,直接嗯更新嘛,对吧,Update。
18:01
不好意思。嗯。Second salary等于。Salary加上十块钱。嗯,喂的。嗯,101这个人肯定有嘛。嗯更新,嗯更新,然后我再加上一个这个啊说。哎,如果。嗯,如果这个人没找着对吧,如果这是上面是个思后语句吧,哎,如果这个思后语句,哎,对应的这个记录没有找着啊,Not found,就刚才我们说了,有found就有not found,如果没找着打印。
19:01
这这写啊,然后N的衣服。结束最后嗯的这里边儿实际上用到了这个了,那肯定还是有这个记录,它会自动的看你这个搜狗L语言对应的有没有值,叫影视有标的方式。这不能加。成啊,那说明有这个人。那太直间长了,加个1001啊。抄写。就这意思,嗯,就是你要有对应这个人的话,它就给你去添加,哎,这个我们就通过它来理解一下,叫引示有标,这个呢没有显示的定义,但是这是个so后L语句,我通过判断搜狗语句是否存在这个值。哎,是否能存在这个返回这个结果哈,就一条数据吧,哎,判断是否执行力语句,嗯就可以了,这叫影视游标,那么游标讲到这儿就完了。
20:05
嗯,就讲完了啊,你就知道游标我们用它来做什么哈,如果你要处理多行数据的话,嗯。D语言的是吧,哎,增删检查,如果涉及到多行数据,多条数据,我们就给它定义成个游标。这形式。
我来说两句