来这个项目主要是佩特来公司各部门及各代理商使用的系统,这个系统其中的一下功能就是统计代理商费用。费用的统计放在了费用池(传统方式统计代理商费用就叫费用池)数据表中,代理商可以根据费用池的中的金额购买东西,费用池中的钱来自于代理商每次填写的
来这个项目主要是佩特来公司各部门及各代理商使用的系统,这个系统其中的一下功能就是统计代理商费用。费用的统计放在了费用池(传统方式统计代理商费用就叫费用池)数据表中,代理商可以根据费用池的中的金额购买东西,费用池中的钱来自于代理商每次填写的维修鉴定单中。
下面看一下这部分的数据表结构:
下面的存储过程是汇总材料费及其他费用表的费用并汇总到费用池信息表的存储过程,这段代码有点长,加入了各种判断:
-- ============================================= -- Author: 马兆娟 -- Create date: 2014-7-20 15:32:16 -- Description: 统计材费及其他费用汇总到费用池 -- ============================================= CREATE PROCEDURE [dbo].[PROC_WXJD_CommitFee] -- Add the parameters for the stored procedure here @wxjdId int, --维修鉴定单ID @dlsId int --代理商ID AS DECLARE @Err1 int, --声明变量,事务使用 @Err2 int, --声明变量,事务使用 @glf decimal, --管理费 @gsf decimal, --工时费 @xj decimal, --小计 @totalMoney decimal, --总金额 @count int, --整型数据 @LJGLF decimal, --零件管理费 @LJGSF decimal, --零件工时费 @QTFY decimal, --其他费用 @WXJDTotalMoney decimal --总金额 BEGIN BEGIN TRANSACTION --开启事务 SELECT @count=0; --给变量赋值 --下面统计其他费用 SELECT @count=count(*) FROM T_DLS_WXJD_Cost_QTFY WHERE FID=@wxjdId IF @count>0 --判断其他费用表是否已写入其他费用值,下面给小计赋值 BEGIN SELECT @xj = CASE SUM(xj) WHEN null THEN 0 ELSE Sum(xj) END FROM T_DLS_WXJD_Cost_QTFY WHERE FID=@wxjdId; END ELSE BEGIN SELECT @xj=0; END --下面是统计材料费 SELECT @count=0; SELECT @count=count(*) FROM T_DLS_WXJD_Cost_CLF WHERE Fid =@wxjdId IF @count>0 --判断材料费表是否已写入材料费,下面给管理费、工时费赋值 BEGIN SELECT @glf = CASE SUM(GLF) WHEN null then 0 ELSE SUM(GLF) END ,@gsf = CASE SUM(gsf) WHEN null THEN 0 ELSE Sum(gsf) END FROM T_DLS_WXJD_Cost_CLF WHERE Fid =@wxjdId END ELSE BEGIN SELECT @glf=0; SELECT @gsf=0; END --下面给总金额赋值 SELECT @totalMoney = @xj + @glf + @gsf; --print @totalMoney; --下面将从其他费用及材料费中统计的金额写入费用池 SELECT @count =0; SELECT @count=COUNT(*) FROM T_FeeExist WHERE DLSID = @dlsId; IF @count>0 --判断费用池表是否已写入某代理商费用,如果已写入过代理商费用,则需向代理商各项费用上添加统计的费用 BEGIN SELECT @LJGLF=LJGLF,@LJGSF=LJGSF,@QTFY=QTFY,@WXJDTotalMoney=WXJDTotalMoney FROM T_FeeExist WHERE DLSID = @dlsId; SELECT @LJGLF=@LJGLF+@glf; SELECT @LJGSF=@LJGSF+@gsf; SELECT @QTFY=@QTFY+@xj; SELECT @WXJDTotalMoney=@WXJDTotalMoney+@totalMoney; UPDATE T_FeeExist SET LJGLF=@LJGLF,LJGSF=@LJGSF,QTFY=@QTFY,WXJDTotalMoney=@WXJDTotalMoney WHERE DLSID = @dlsId; END ELSE --第一次向费用池写入某代理商费用,添加新记录 BEGIN INSERT INTO T_FeeExist(DLSID,LJGLF,LJGSF,QTFY,WXJDTotalMoney) values(@dlsId,@glf,@gsf,@xj,@totalMoney); END SET @err1=@@ERROR --更新维修鉴定表是否已提交到费用池字段 UPDATE T_DLS_WXJD SET IsFYC='是' WHERE ID=@wxjdId SET @err2=@@ERROR --判断是否出错 IF (@Err1=0 and @Err2=0 ) COMMIT TRANSACTION --提交事务 ELSE ROLLBACK TRANSACTION --事务回滚 END
统计费用就简单的介绍到这里了,这里主要记录的关键点就是如何汇总各表的数据及存储过程中对数值进行判断!

mysqlviewshavelimitations:1)他们不使用Supportallsqloperations,限制DatamanipulationThroughViewSwithJoinSorsubqueries.2)他们canimpactperformance,尤其是withcomplexcomplexclexeriesorlargedatasets.3)

porthusermanagementInmysqliscialforenhancingsEcurityAndsingsmenting效率databaseoperation.1)usecReateusertoAddusers,指定connectionsourcewith@'localhost'or@'%'。

mysqldoes notimposeahardlimitontriggers,butacticalfactorsdeterminetheireffactective:1)serverConfiguration impactactStriggerGermanagement; 2)复杂的TriggerSincreaseSySystemsystem load; 3)largertablesslowtriggerperfermance; 4)highConconcConcrencerCancancancancanceTigrignecentign; 5); 5)

Yes,it'ssafetostoreBLOBdatainMySQL,butconsiderthesefactors:1)StorageSpace:BLOBscanconsumesignificantspace,potentiallyincreasingcostsandslowingperformance.2)Performance:LargerrowsizesduetoBLOBsmayslowdownqueries.3)BackupandRecovery:Theseprocessescanbe

通过PHP网页界面添加MySQL用户可以使用MySQLi扩展。步骤如下:1.连接MySQL数据库,使用MySQLi扩展。2.创建用户,使用CREATEUSER语句,并使用PASSWORD()函数加密密码。3.防止SQL注入,使用mysqli_real_escape_string()函数处理用户输入。4.为新用户分配权限,使用GRANT语句。

mysql'sblobissuitableForStoringBinaryDataWithInareLationalDatabase,而alenosqloptionslikemongodb,redis和calablesolutionsoluntionsoluntionsoluntionsolundortionsolunsolunsstructureddata.blobobobsimplobissimplobisslowderperformandperformanceperformancewithlararengelitiate;

toaddauserinmysql,使用:createUser'username'@'host'Indessify'password'; there'showtodoitsecurely:1)choosethehostcarecarefullytocon trolaccess.2)setResourcelimitswithoptionslikemax_queries_per_hour.3)usestrong,iniquepasswords.4)Enforcessl/tlsconnectionswith

toAvoidCommonMistakeswithStringDatatatPesInMysQl,CloseStringTypenuances,chosethirtightType,andManageEngencodingAndCollationsEttingsefectery.1)usecharforfixed lengengters lengengtings,varchar forbariaible lengength,varchariable length,andtext/blobforlabforlargerdata.2 seterters seterters seterters seterters


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Dreamweaver Mac版
视觉化网页开发工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能