表a
  aID,aYear,aTitle
表b
  bID,aID,bTitle
表c
  cID,bID,cTitlea,b,c三个表是主从关系.a表中aYear表示年份,
我现在要做一个功能根据年份来复制的功能.2006年数据已有了,我想把2006的数据复制一份成为2007年的.如何写存储过程,谢谢!

解决方案 »

  1.   

    aID,bID,cID都是自增的,可为每个表的主键
      

  2.   

    现在参数据就aYear=2007,要复制2006的数据在插入明细的时候,循环搞不来了,请教高手
      

  3.   

    CREATE PROCEDURE  p_copy 
    @begindate char(4) --要插入的年份(如你所说的2007)
    @enddate char(4) --要备份的年份ASinsert into a(@begindate,aTitle)
    select AA.aYear,AA.aTitle FROM  a AA WHERE aYear=@enddateinsert into b(aID,bTitle)
    select aID,bTitle from b BB, a  where bb.aID=a.aID AND a.aYear=@begindateinsert inot c(bID,cTitle)
    select bID,cTitle from c CC,b,a where CC.bID=b.bID AND b.aID=a.aID AND a.aYear=@begindatego
      

  4.   

    更正:
    CREATE PROCEDURE  p_copy 
    @begindate char(4) --要插入的年份(如你所说的2007)
    @enddate char(4) --要备份的年份ASinsert into a(@begindate,aTitle)
    select AA.aYear,AA.aTitle FROM  a AA WHERE aYear=@enddateinsert into b(aID,bTitle)
    select a.aID,bb.bTitle from b BB, a  where bb.aID=a.aID AND a.aYear=@begindateinsert inot c(bID,cTitle)
    select b.bID,cc.cTitle from c CC,b,a where CC.bID=b.bID AND b.aID=a.aID AND a.aYear=@begindatego