日期:2014-05-18  浏览次数:20501 次

50分求一个SQL语句
有一个表(会计科目)
Code                   Name             上级编码
1002                   银行存款       1002
1002-01             工商银行       1002
1002-02             建设银行       1002
1002-02-01       A路建行         1002-02
1002-02-02       B路建行         1002-02

我用户将父级1002改为99999时,怎样让Code及上级编码都改变如下结果
Code                   Name             上级编码
99999                   银行存款       99999
99999-01             工商银行       99999
99999-02             建设银行       99999
99999-02-01       A路建行         99999-02
99999-02-02       B路建行         99999-02

若变改某级,如果让该级以下的所有如上述改变.
谢谢大家

------解决方案--------------------
declare @Old varchar(20),@New varchar(20)
select @Old= '1002 ',@New= '99999 '

update [Table] set code=replace(code,@Old,@New)
update [Table] set 上级编码=replace(上级编码,@Old,@New)