打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Sql存储过程将数据拆分后存入新表
CREATE PROC CostItemsInto_KYPM_Project_FeeRecord(@workid nvarchar(10))ASBEGIN    declare @RecordID nvarchar(10)--FeeRecord表记录ID    declare @ProjectID nvarchar(10)--合同ID    declare @FeeItem nvarchar(10)--费用项    declare @RealAmount numeric(15,2)--金额    declare @RealDate datetime--审批通过时间    declare @Summary nvarchar(200)--摘要    declare @Remark nvarchar(200)--备注    declare @FeeItemName nvarchar(200)--费用类型    declare @i int -- `符号出现的总数,用于判断记录条数    declare @count int -- 用来记录条数    declare @countStart int -- 用来记录开始位置    set @count=0    set @countStart=0    declare cur cursor for        select             len(Cast(a.DATA_7 as varchar(8000)))-len(replace(Cast(a.DATA_7 as varchar(8000)),'`','')) as i,            SUBSTRING(a.DATA_12,CHARINDEX('⊙',a.DATA_12) 1,LEN(a.DATA_12)) as projectid,             b.LastUpdateTime        from Form_Table_099 a left join (select * from Form_Work where DeleteMark=0 and Status=2)b on a.WorkID=a.WorkID where a.WorkID=@workid    open cur    fetch next from cur into @i,@ProjectID,@RealDate    --ProjextID    set @ProjectID = 'C_'   @ProjectID    while @i>@countStart        begin            --RecordID            set @RecordID  = '01'   RIGHT('00000000'   cast((cast(RIGHT((select isnull(max(RecordID),0) from KYPM_Project_FeeRecord),8) as int)   1) as nvarchar(8)), 8)--记录ID            update Sys_IdentityValues set ItemValue= (cast(RIGHT((select isnull(max(RecordID),0) from KYPM_Project_FeeRecord),8) as int)   1) --更新给号库            where (ItemKey = 'KYPM_Project_FeeRecord')            --FeeItemName            select                 @FeeItemName=SUBSTRING(                    Cast(DATA_7 as varchar(8000)),                    dbo.selectCharLen(Cast(DATA_7 as varchar(8000)),'`',@countStart 1) 1,                    dbo.selectCharLen(Cast(DATA_7 as varchar(8000)),'`',@countStart 2)-dbo.selectCharLen(Cast(DATA_7 as varchar(8000)),'`',@countStart 1)-1                )             from Form_Table_099 where WorkID=@workid            --FeeItem            select @FeeItem=BudgetCode from KYPM_Project_BudgetTemplateInfo where TemplateID='0100000001' and BudgetName=@FeeItemName            --RealAmount            select                 @RealAmount=                Cast(                    SUBSTRING(                        Cast(DATA_7 as varchar(8000)),                        dbo.selectCharLen(Cast(DATA_7 as varchar(8000)),'`',@countStart 4) 1,                        dbo.selectCharLen(Cast(DATA_7 as varchar(8000)),'`',@countStart 5)-dbo.selectCharLen(Cast(DATA_7 as varchar(8000)),'`',@countStart 4)-1                    )as numeric(15,2)                )            from Form_Table_099 where WorkID=@workid            --Summary            select                 @Summary=SUBSTRING(                    Cast(DATA_7 as varchar(8000)),                    dbo.selectCharLen(Cast(DATA_7 as varchar(8000)),'`',@countStart 2) 1,                    dbo.selectCharLen(Cast(DATA_7 as varchar(8000)),'`',@countStart 3)-dbo.selectCharLen(Cast(DATA_7 as varchar(8000)),'`',@countStart 2)-1                )             from Form_Table_099 where WorkID=@workid            --Remark            select                 @Remark=SUBSTRING(                    Cast(DATA_7 as varchar(8000)),                    dbo.selectCharLen(Cast(DATA_7 as varchar(8000)),'`',@countStart 5) 1,                    dbo.selectCharLen(Cast(DATA_7 as varchar(8000)),'`',@countStart 6)-dbo.selectCharLen(Cast(DATA_7 as varchar(8000)),'`',@countStart 5)-1                )             from Form_Table_099 where WorkID=@workid            insert into KYPM_Project_FeeRecord (RecordID,ProjectID,FeeItem,RealAmount,RealDate,Summary,Remark,DeleteMark,STATUS)            values(@RecordID,@ProjectID,@FeeItem,@RealAmount,@RealDate,@Summary,@Remark,0,1)            set @count=@count 1            set @countStart=9*@count        end    close cur    deallocate curEND

 

来源:https://www.icode9.com/content-2-752501.html
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
触发器
SQL语言随机生成字符串的几种方法
求两个字符串中相同的汉字及字母的个数
SQL Server相似比较算法实现 – 码农网
SQLServer使用STUFF-for xml path实现结果行列转置
SQL动态语句用法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服