日期:2014-05-16  浏览次数:20495 次

请假两个游标合在一起的写法
住户资料表里边有住户名称,住户编号,身份证号码这几项,现在的问题是这个表里边同一个住户,可能存在多个住户编号的情况,导致数据库里其他表也出现名字相同,编号不同的情况出现.
基于以上问题,打算写2个游标来解决,
第一个游标是获取住户资料里边,名字和身份证号码相同的情况下,该住户的全部住户编号
第二个游标是把住户资料表的住户编号列和其他数据表的住户编号关联在一起,只要其他数据表的住户编号列和游标1中的住户编号对得上,就把其他数据表的住户编号更新成该住户的最大编号,以达到住户编号统一的目的.请问该如何实现?

单元表
单元名称 住户编号 住户名称
03-11-1101 Z03111101_01 张三
04-08-0803 Z04080803_01 张三
04-11-1102 Z04111102_01 李四

车位表
车位名称 住户编号 住户名称
1号            Z03111101_01 张三
2号           Z04080803_01 张三
3号          Z04111102_01 李四

住户资料表
住户编号 住户名称
Z03111101_01 张三
Z04080803_01 张三
        Z04111102_01 李四

------解决方案--------------------
好吧,既然一定要改

update 单元表 
   set 住户编号=(select max(a.住户编号) 
                  from 住户资料表 a, (select b.身份证号 from 住户资料表 b where b.住户编号=单元表.住户编号) c 
                 where a.身份证号=c.身份证号)