php中文网 | cnphp.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 638|回复: 0

分摊大数据存储过程

[复制链接]

3150

主题

3160

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

UID
1
威望
0
积分
7976
贡献
0
注册时间
2021-4-14
最后登录
2024-11-24
在线时间
763 小时
QQ
发表于 2022-5-13 17:44:17 | 显示全部楼层 |阅读模式
分摊大数据存储过程
[mw_shl_code=sql,true]exec "p_ddm_account";

先将大数据account表记录导入account_test 然后执行语句 exec "p_ddm_account"; 系统自动将数据劈开,导入account_ls表中,然后再在acount表中删除所导的大数据,
最后将account_ls导入account,完成。


以下为过程语句


ALTER PROCEDURE "wuerp"."p_ddm_account"
AS
BEGIN
    declare @ls_organ nvarchar(4)
    declare @ls_class nvarchar(2)
    declare @ls_busdate timestamp
    declare @ls_resume nvarchar(30)
    declare @billid nvarchar(20)
    declare @ls_code nvarchar(4)
    declare @ls_sumcost integer
    declare @ls_acceptid nvarchar(20)
    declare @ls_state integer
    declare @ls_provider nvarchar(8)
    declare @ls_jyfs nvarchar(10)
    declare @ls_store nvarchar(6)
    declare @ls_tax integer
    declare @ls_moditime timestamp
    declare acc_cursor cursor for select organ,class,busdate,resume,billid,code,sum_cost,acceptid,state,provider,jyfs,store,tax,moditime from account_test
    open  acc_cursor
    fetch acc_cursor into  @ls_organ,@ls_class,@ls_busdate,@ls_resume,@billid,@ls_code,@ls_sumcost,@ls_acceptid,@ls_state,@ls_provider,@ls_jyfs,@ls_store,@ls_tax,@ls_moditime
    while (@@FETCH_STATUS=0)
    begin
    insert into account_lsls(organ,class,busdate,resume,billid,code,sum_cost,acceptid,state,provider,jyfs,store,tax,amount,sum_price,sum_disc,cost_statu,price_statu,moditime,sum_cost1,acctype)
                (select @ls_organ,@ls_class,@ls_busdate,@ls_resume,@billid,a.code,a.sum_cost,@ls_acceptid,@ls_state,@ls_provider,@ls_jyfs,@ls_store,@ls_tax,round(a.sum_cost/a.cost_price,0),0,0,0,0,@ls_moditime,0,'A' from
                      (select code as code ,cost_price,cost_price*(@ls_sumcost/(select sum(cost_price)   from account_ls_price where class=@ls_class)) as sum_cost from account_ls_price where class=@ls_class) a  )

    fetch acc_cursor into  @ls_organ,@ls_class,@ls_busdate,@ls_resume,@billid,@ls_code,@ls_sumcost,@ls_acceptid,@ls_state,@ls_provider,@ls_jyfs,@ls_store,@ls_tax,@ls_moditime
   
end
    close acc_cursor
    deallocate acc_cursor
END[/mw_shl_code]

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|php中文网 | cnphp.com ( 赣ICP备2021002321号-2 )

GMT+8, 2024-11-24 13:15 , Processed in 0.303638 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

申明:本站所有资源皆搜集自网络,相关版权归版权持有人所有,如有侵权,请电邮(fiorkn@foxmail.com)告之,本站会尽快删除。

快速回复 返回顶部 返回列表