acctcode acctName levels fatherNum
100000000000000 资产 1 NULL
1001 现金 2 100000000000000
100101 人民币 3 1001
100102 美元 3 1001
100103 欧元 3 1001
变成
100000000000000 资产 1 NULL
1001 现金 2 100000000000000
100101 现金-人民币 3 1001
100102 现金-美元 3 1001
100103 现金-欧元 3 1001
alter proc test
as
DECLARE @strAcct NVARCHAR(2000)
DECLARE @acctCode NVARCHAR(2000)
DeClare @Levels NVARCHAR(200)
DeClare @fatherNUm Nvarchar(2000)
DECLARE Account_cursor cursor for select acctCode, Levels , fatherNUm from oact where levels >=3
OPEN Account_cursor
fetch next from Account_cursor into @acctCode, @Levels ,@fatherNUm
while @@Fetch_Status=0
BEGIN
---------游标开始---------------------------------------------
select @strAcct= acctname from oact where acctCode =@fatherNUm
update oact set acctname= @strAcct+'-'+acctname where acctCode = @acctCode
-----------------游标结束
FETCH NEXT FROM Account_cursor INTO @acctCode, @Levels ,@fatherNUm
END
CLOSE Account_cursor
DEALLOCATE Account_cursor