请教大家该问题如何用存储过程实现?
我表test1里原始数据格式为:
         hm          rq          xx 
--------------------------------------------
         a          20070301     m,n,t
         b          20070302     f,g,h
         a          20070305      ,n,t
         a          20070308     h,n,t,w
........
我通过相关的程序把test1表的数据已经转到表test2里,并增加了相应的逗号顺序列,格式如下:
         hm        rq           xh        no
 ---------------------------------------------------------
         a        20070301      m          1
         a        20070301      n          2
         a        20070301      t          3
         b        20070302      f          1
         b        20070302      g          2
         b        20070302      h          3
         a        20070305                 1
         a        20070305      n          2
         a        20070305      t          3
         a        20070308      h          1
         a        20070308      n          2
         a        20070308      t          3
         a        20070308      w          4
..............
上面的东西已经实现了,
下面我想请大家帮助存储过程要做的东西是什么呢,如test1表里的hm字段值只有一条数据如hm为b,其在表test2里的相关值一直
保持不变,就直接把test2里的hm为b的所有相关
信息放到表test3里,当然要判断test2表里hm为b的这里情况,我想可以根据rq和hm来判断只有一条。
需要说明的是,在表test3里增加两个字段ksrq和jsrq(对于表test2里的hm对应的xh的ksrq我们默认
其为20061201,默认jsrq的值为20071201)如果某号码的对于表test1里hm字段值为多于一条以上的,就需要依照表test2里的相关xh对应的no信息来判断其变化,
并随后修改其ksrq或jsrq的值,如号码hm=a其在表1记录
       hm          rq          xx 
--------------------------------------------
         a          20070301     m,n,t
到20070305的时候变成
       hm          rq          xx 
--------------------------------------------       a          20070305      ,n,t
也就是号码a的xx字段的第一逗号位置相关信息m在20070305取消掉了,
其在test2里的对应记录为  hm        rq           xh        no
 ---------------------------------------------------------
         a        20070301      m          1
         a        20070301      n          2
         a        20070301      t          3
      、、、、
         a        20070305                 1
         a        20070305      n          2
         a        20070305      t          3
那么我们在表test3里就插如相关信息并把jsrq的相关信息更新为           hm          rq          xx     ksrq        jsrq
----------------------------------------------------
         a        20070301      m         20061201    20070305
         a        20070301      n         20061201    20071201
         a        20070301      t         20061201    20071201到20070308的时候在表test1里是       hm          rq          xx 
--------------------------------------------
       a          20070308     h,n,t,w也就是到20070308的时候,hm等于a的相关xx信息的第一个位置和第四个位置增加了新的信息,
其在test2里的对应记录为  hm        rq           xh              no
 ---------------------------------------------------------
         a        20070301      m          1
         a        20070301      n          2
         a        20070301      t          3
      、、、、
         a        20070305                 1
         a        20070305      n          2
         a        20070305      t          3         a        20070308      h          1
         a        20070308      n          2
         a        20070308      t          3
         a        20070308      w          4 
----
新增加的第一个位置和第四个位置的ksrq都应该为
20070308,jsrq我们默认为20071201。
也就是 最后test3表的数据结果格式为:(当然别忘记了把hm=b的没放进来,其在表test1里只有一条记录,其ksrq和jsrq上面已经说了,没变化用默认的值)           hm          rq          xx     ksrq        jsrq
---------------------------------------------------------------
         a        20070301      m         20061201    20070305
         a        20070301      n         20061201    20071201
         a        20070301      t         20061201    20071201
         a        20070301      h         20070308    20071201
         a        20070301      w         20070308    20071201
         b        20070302      f         20061201    20071201  
         b        20070302      g         20061201    20071201 
         b        20070302      h         20061201    20071201
。  
说白了,也就是根据表test2里的同一个hm多次循环,依照字段no(逗号位置序号)来对test3表进行插入或更新操作,
我这里为什么要提下test1表是为了让大家更明白我的意思,实际上只需要从test2到test3表的转换。
请各位指点下,如何用存储过程实现?谢谢大家了,分只有这么多了,下次再多给各位写,谢谢!