房天下 > 房天下问答 > 业主生活 > 其他
  • sql存储过程+vb

    CREATE PROCEDURE 奖励金额 ASbegin transactiondeclare @职员编码1 varchar(10) ,@职员编码2 varchar(10) ,@奖励金额 numeric(20,4)declare mycur3 cursor for select 职员编码 from 工资open mycur3fetch next from mycur3 into @职员编码1while (@@fetch_status=0)begin select @奖励金额=0 declare mycur4 cursor for select 职员编码 from 职员奖励管理 open mycur4 fetch next from mycur4 into @职员编码2 while (@@fetch_status=0) begin select @奖励金额=@奖励金额+(select 奖励金额 from 职员奖励管理 where @职员编码1 = @职员编码2 ) fetch next from mycur4 into @职员编码2 end close mycur4 deallocate mycur4update 工资 set 奖励金额=@奖励金额 where current of mycur3fetch next from mycu3r into @职员编码1endclose mycur3deallocate mycur3commitGO在vb中修改表的时候就出现以下问题 简单说明下 "职员奖励管理"这个表中会有重复的职员编码值,因为奖励是多次的,因此就会有对应的奖励金额,以上的存储过程是想把同一个职员编码的奖励金额累加起来,然后update"工资"表中的奖励金额=累加后的金额... 琢磨了很久 还是没有解决这个想法,希望得到高手的帮忙~...谢谢了!

    提问者:liansjs

    发布于2010-11-05

共1个回答
  • popi153 丨Lv 3
    说的很明白了啊。只查询的结果为一个记录集而非一条记录的时候不能添加>.< 等条件。应为条件对象不明确。该的话就该条件。。就行了、不要在SQL里面判断在VB中用IF判断。比较好
    +1 2010-11-05 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。