MySql是如何多表循环遍历更新

MySql是如何多表循环遍历更新,第1张

MySql数据库中存在大量的表结构,而且这些表都存在一个共同点,就是表中都有相同字段,比如id,name,city,adress,lat,lng。表中字段id,name,city,adress不允许为空,所以表中这几个字段的数据都是已经赋给实值的,而lat与lng(经纬度)是为空的。

现在要写一个程序,根据city,adress请求获取数据,把循环每一表中根据city,adress请求获取的数据更新到相应表,相应表中对应的那一行数据。这句话,可能你有点晕,说白了就是,先循环查询遍历表中city与adress的值,根据city,adress的值请求获取数据,更新到相应行中,这个表循环更新完了就跳到下个表中再循环更新,以此类推,直到全部更新。

使用【游标】可以辅助实现一行一行地遍历某个数据库表中的所有行。

例如在Oracle数据库中:

declare

sname varchar2( 20)--声明变量

cursor student_cursor is select sname from student --声明指向表student的【游标】

begin

open student_cursor--打开游标

fetch student_cursor into sname --获取游标的当前指向值,使游标指针往下移动

while student_cursor%found --判断游标指针是否指向某行记录,即是否已遍历完全表

loop--循环遍历

dbms_output.put_line ('学生姓名' ||sname )--输出当前遍历访问的行记录信息

fetch student_cursor into sname--获取游标的当前指向值,使游标指针往下移动

end loop--循环体结束

close student_cursor--关闭游标,对应前面open *** 作

end


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9910173.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存