SQL脚本积累之三-----case....when...的使用示例
2015-07-19 16:01
381 查看
/*
保证金可用余额=现金
+∑(可充抵保证金的证券市值×折算率)
+∑[(融资买入证券市值-融资买入金额)×折算率]
+∑[(融券卖出金额-融券卖出证券市值)×折算率]
-∑融券卖出金额
-∑融资买入证券金额×融资保证金比例(最小50%)
-∑融券卖出证券市值×融券保证金比例(最小50%)
-利息及费用
-冻结中可用保证金
1现金=自有可用现金 + 自有冻结现金 + 融券卖出可用现金+ 融券卖出冻结现金
2可充抵保证金的证券市值 = ∑[(自有可用持仓中+自有交割冻结持仓)×市价×折算率]—-【剔除非担保品证券】
3融资买入证券市值 =当前本代码融资买入总持仓数量×市价
4融资买入金额 = 本代码融资负债未还金额
5融券卖出金额=MAX[融券卖出证券(尚未偿还)的数量×融券卖出时发生的价格-该融券负债发生时的交易费,0]
6融券卖出证券市值=融券卖出证券(尚未偿还)数量×市价
7融资买入证券金额 = 融资负债未还金额
8利息及费用 = 已计提(罚息,逾期息费,融资管理费,融券管理费,融资利息,融券利息)
注:
∑[(融资买入证券市值-融资买入金额)×折算率]、∑[(融券卖出金额-融券卖出证券市值)×折算率]中的折算率是指融资买入、
融券卖出证券对应的折算率(调出担保品范围的按0%计算);当融资买入证券市值低于融资买入金额或融券卖出证券市值高于融
券卖出金额时,折算率按100%计算
注意:负债代码
1. 移除证券公式标的物,保证金比例为100%
2. 移除证券公式担保物,保证金比例为100%,折算率为0%
3. 移除交易所标的物,同1
4. 移除交易所担保物,同2
*/
保证金可用余额=现金
+∑(可充抵保证金的证券市值×折算率)
+∑[(融资买入证券市值-融资买入金额)×折算率]
+∑[(融券卖出金额-融券卖出证券市值)×折算率]
-∑融券卖出金额
-∑融资买入证券金额×融资保证金比例(最小50%)
-∑融券卖出证券市值×融券保证金比例(最小50%)
-利息及费用
-冻结中可用保证金
1现金=自有可用现金 + 自有冻结现金 + 融券卖出可用现金+ 融券卖出冻结现金
2可充抵保证金的证券市值 = ∑[(自有可用持仓中+自有交割冻结持仓)×市价×折算率]—-【剔除非担保品证券】
3融资买入证券市值 =当前本代码融资买入总持仓数量×市价
4融资买入金额 = 本代码融资负债未还金额
5融券卖出金额=MAX[融券卖出证券(尚未偿还)的数量×融券卖出时发生的价格-该融券负债发生时的交易费,0]
6融券卖出证券市值=融券卖出证券(尚未偿还)数量×市价
7融资买入证券金额 = 融资负债未还金额
8利息及费用 = 已计提(罚息,逾期息费,融资管理费,融券管理费,融资利息,融券利息)
注:
∑[(融资买入证券市值-融资买入金额)×折算率]、∑[(融券卖出金额-融券卖出证券市值)×折算率]中的折算率是指融资买入、
融券卖出证券对应的折算率(调出担保品范围的按0%计算);当融资买入证券市值低于融资买入金额或融券卖出证券市值高于融
券卖出金额时,折算率按100%计算
注意:负债代码
1. 移除证券公式标的物,保证金比例为100%
2. 移除证券公式担保物,保证金比例为100%,折算率为0%
3. 移除交易所标的物,同1
4. 移除交易所担保物,同2
*/
declare @CapitalAccount varchar(50) declare @RZRQCapitalAccountID int ---------------------------------------------------------------------------------------- declare @LastPriceA decimal(20,3) --代码000002的市价 declare @ExchangRateA decimal(20,3) --代码000002的折算率 declare @RZMarginRatioA decimal(20,3) --代码000002的融资保证金比例 declare @RQMarginRatioA decimal(20,3) --代码000002的融券保证金比例 ---------------------------------------------------------------------------------------- declare @LastPriceB decimal(20,3) --代码000001的市价 declare @ExchangRateB decimal(20,3) --代码000001的折算率 declare @RZMarginRatioB decimal(20,3) --代码000001的融资保证金比例 declare @RQMarginRatioB decimal(20,3) --代码000001的融券保证金比例 ---------------------------------------------------------------------------------------- declare @LastPriceC decimal(20,3) --代码000005的市价 declare @ExchangRateC decimal(20,3) --代码000005的折算率 declare @RZMarginRatioC decimal(20,3) --代码000005的融资保证金比例 declare @RQMarginRatioC decimal(20,3) --代码000005的融券保证金比例 ---------------------------------------------------------------------------------------- set @CapitalAccount='030000000207' set @RZRQCapitalAccountID='1' set @LastPriceA=10.8 set @LastPriceB=21.67 set @LastPriceC=2.72 set @ExchangRateA=0.75 set @ExchangRateB=0.75 set @ExchangRateC=0.75 set @RZMarginRatioA=0.8 set @RZMarginRatioB=0.8 set @RZMarginRatioC=0.8 set @RQMarginRatioA=0.8 set @RQMarginRatioB=0.8 set @RQMarginRatioC=0.8 declare @CashMoney decimal(20,3) --总现金 declare @HoldMoney decimal(20,3) --可冲抵保证金的证券市值折算 declare @RZMoney decimal(20,3) --融资盈亏折算 declare @RQMoney decimal(20,3) --融券盈亏折算 declare @RQSumMoney decimal(20,3) --融券卖出总金额 declare @RZLiabilitiesMoney decimal(20,3) --融资负债占用保证金 declare @RQLiabilitiesMoney decimal(20,3) --融券负债占用保证金 declare @InterestMoney decimal(20,3) --总利息 declare @FreezeMoney decimal(20,3) --冻结保证金 --现金 SELECT @CashMoney=isnull(tempE.总现金,0) FROM ( SELECT [RZRQCapitalAccountID],SUM(tempA.自有可用+tempA.自有冻结+tempA.融券可用+tempA.融券冻结) [总现金] FROM ( --信用账户资金内存表 SELECT [RZRQCapitalAccountID],SUM([AvailableCapitalDelta]) [自有可用],SUM([FreezeCapitalTotalDelta]) [自有冻结], SUM([RQAvailableCapital]) [融券可用],SUM([RQFreezeAvailableCapital]) [融券冻结] FROM [VTS_ReckoningCounter].dbo.[RZRQ_CapitalAccountTable_Delta] where [RZRQCapitalAccountID]=@RZRQCapitalAccountID group by [RZRQCapitalAccountID] union all --信用账户资金表 SELECT [RZRQCapitalAccountID],[AvailableCapital],[FreezeCapitalTotal],[RQAvailableCapital],[RQFreezeAvailableCapital] FROM [VTS_ReckoningCounter].dbo.[RZRQ_CapitalAccountTable] where [RZRQCapitalAccountID]=@RZRQCapitalAccountID ) tempA group by [RZRQCapitalAccountID] ) tempE, (SELECT * FROM [VTS_ReckoningCounter].dbo.[RZRQ_CapitalAccountTable]) tempF where tempE.RZRQCapitalAccountID=tempF.RZRQCapitalAccountID print '1、总现金='+convert(varchar(20),@CashMoney) ---------------------------------------------------------------------------------------- declare @CodeNum int --定义可充抵保证金的代码记录数量 --可充抵保证金的证券市值*折算率 SELECT @HoldMoney=isnull(SUM(tempA.总信用持仓*tempA.市价*tempA.折算率),0) FROM ( SELECT [CapitalAccount],[code] ,[XYHoldAmount]+[XYReckonFreezeAmount] [总信用持仓] ,[市价]=case code when '000002' then @LastPriceA when '000001' then @LastPriceB when '000005' then @LastPriceC end ,[折算率]=case code when '000002' then @ExchangRateA when '000001' then @ExchangRateB when '000005' then @ExchangRateC end FROM [VTS_ReckoningCounter].dbo.[RZRQ_HoldAccount] WHERE [CapitalAccount]=@CapitalAccount and [code] in (SELECT [code] FROM [VTS_ManagementCenter].[dbo].[RZRQ_SecurityMortagagedCode] where [SecurityCompanyID]=(SELECT [SecurityCompanyID] FROM [VTS_ManagementCenter].[dbo].[RZRQ_TraderBasicInfo] where [RZRQCapitalAccount]=@CapitalAccount)) ) tempA group by tempA.CapitalAccount SELECT @CodeNum=count(*) FROM [VTS_ReckoningCounter].dbo.[RZRQ_HoldAccount] WHERE [CapitalAccount]=@CapitalAccount and [code] in (SELECT [code] FROM [VTS_ManagementCenter].[dbo].[RZRQ_SecurityMortagagedCode] where [SecurityCompanyID]=(SELECT [SecurityCompanyID] FROM [VTS_ManagementCenter].[dbo].[RZRQ_TraderBasicInfo] where [RZRQCapitalAccount]=@CapitalAccount)) if(@CodeNum=0) begin set @HoldMoney=0 print '2、可充抵保证金的证券市值折算=0------(没有任何可充抵担保物代码)' end else print '2、可充抵保证金的证券市值折算='+convert(varchar(20),@HoldMoney) ---------------------------------------------------------------------------------------- declare @CodeNumZ int --定义具有的持仓代码记录数量 --(融资买入证券市值-融资买入金额)×折算率 SELECT @RZMoney=isnull(SUM(tempD.融资盈亏*tempD.折算率),0) FROM ( SELECT tempC.CapitalAccount,tempC.Code,tempC.融资盈亏 ,[折算率]=case when (code='000002' and [融资盈亏]>0) then @ExchangRateA when (code='000002' and [融资盈亏]<=0) then 1 when (code='000001' and [融资盈亏]>0) then @ExchangRateB when (code='000001' and [融资盈亏]<=0) then 1 when (code='000005' and [融资盈亏]>0) then @ExchangRateC when (code='000005' and [融资盈亏]<=0) then 1 end FROM ( SELECT tempB.CapitalAccount,tempB.Code,SUM(tempB.融资买入证券市值) [融资盈亏] FROM ( SELECT tempA.CapitalAccount,tempA.Code,tempA.融资总持仓*tempA.市价 [融资买入证券市值] FROM ( SELECT [CapitalAccount],[code] ,[RZHoldAmount]+ [RZReckonFreezeAmount] [融资总持仓] ,[市价]=case code when '000002' then @LastPriceA when '000001' then @LastPriceB when '000005' then @LastPriceC end FROM [VTS_ReckoningCounter].dbo.[RZRQ_HoldAccount] WHERE [CapitalAccount]=@CapitalAccount ) tempA union all SELECT [CapitalAccount],[Code],-1*SUM([RZBuyLiabilitiesSum]-[PayBackSum]) [融资买入金额] FROM [VTS_ReckoningCounter].dbo.[RZRQ_RZLiabilities] where [CapitalAccount]=@CapitalAccount group by [CapitalAccount],[Code] ) tempB group by tempB.CapitalAccount,tempB.Code ) tempC where Code in (SELECT [code] FROM [VTS_ManagementCenter].[dbo].[RZRQ_SecurityMortagagedCode] where [SecurityCompanyID]=(SELECT [SecurityCompanyID] FROM [VTS_ManagementCenter].[dbo].[RZRQ_TraderBasicInfo] where [RZRQCapitalAccount]=@CapitalAccount)) ) tempD group by tempD.CapitalAccount SELECT @CodeNumZ=COUNT(*) FROM [VTS_ReckoningCounter].dbo.[RZRQ_HoldAccount] WHERE [CapitalAccount]=@CapitalAccount if(@CodeNum=0) begin set @RZMoney=0 print '3、融资盈亏折算=0----(没有任何持仓代码记录)' end else print '3、融资盈亏折算='+convert(varchar(20),@RZMoney) ---------------------------------------------------------------------------------------- declare @CodeNumRQ int --定义具有的融券负债记录数量 --(融券卖出金额-融券卖出证券市值)×折算率 SELECT @RQMoney=isnull(SUM(tempD.融券盈亏*tempD.折算率),0) FROM ( SELECT tempC.CapitalAccount,tempC.Code,tempC.融券盈亏 ,[折算率]=case when (code='000002' and [融券盈亏]>0) then @ExchangRateA when (code='000002' and [融券盈亏]<=0) then 1 when (code='000001' and [融券盈亏]>0) then @ExchangRateB when (code='000001' and [融券盈亏]<=0) then 1 when (code='000005' and [融券盈亏]>0) then @ExchangRateC when (code='000005' and [融券盈亏]<=0) then 1 end FROM ( SELECT tempB.CapitalAccount,tempB.Code,SUM(tempB.融券卖出金额) [融券盈亏] FROM ( SELECT [CapitalAccount],[Code],SUM(([RQBuyAmount]-[PayBackSum])*[TradePrice]-[CostAmount]) [融券卖出金额] FROM [VTS_ReckoningCounter].dbo.[RZRQ_RQLiabilities] where [CapitalAccount]=@CapitalAccount group by [CapitalAccount],[Code] union all SELECT tempA.CapitalAccount,tempA.Code,-1*tempA.未还融券数量*tempA.市价 [融券卖出证券市值] FROM ( SELECT [CapitalAccount],[Code],SUM([RQBuyAmount]-[PayBackSum]) [未还融券数量] ,[市价]=case code when '000002' then @LastPriceA when '000001' then @LastPriceB when '000005' then @LastPriceC end FROM [VTS_ReckoningCounter].dbo.[RZRQ_RQLiabilities] where [CapitalAccount]=@CapitalAccount group by [CapitalAccount],[Code] ) tempA ) tempB group by tempB.CapitalAccount,tempB.Code ) tempC where Code in (SELECT [code] FROM [VTS_ManagementCenter].[dbo].[RZRQ_SecurityMortagagedCode] where [SecurityCompanyID]=(SELECT [SecurityCompanyID] FROM [VTS_ManagementCenter].[dbo].[RZRQ_TraderBasicInfo] where [RZRQCapitalAccount]=@CapitalAccount)) ) tempD group by CapitalAccount SELECT @CodeNumRQ=COUNT(*) FROM [VTS_ReckoningCounter].dbo.[RZRQ_RQLiabilities] where [CapitalAccount]=@CapitalAccount if(@CodeNumRQ=0) begin set @RQMoney=0 print '4、融券盈亏折算=0----(没有任何融券负债记录)' end else print '4、融券盈亏折算='+convert(varchar(20),@RQMoney) ---------------------------------------------------------------------------------------- --融券卖出金额 SELECT @RQSumMoney=isnull(SUM(tempA.融券卖出金额),0) FROM ( SELECT [CapitalAccount],[Code],SUM(([RQBuyAmount]-[PayBackSum])*[TradePrice]-[CostAmount]) [融券卖出金额] FROM [VTS_ReckoningCounter].dbo.[RZRQ_RQLiabilities] where [CapitalAccount]=@CapitalAccount group by [CapitalAccount],[Code] ) tempA group by [CapitalAccount] if(@CodeNumRQ=0) begin set @RQSumMoney=0 print '5、融券卖出总金额=0----(没有任何融券负债记录)' end else print '5、融券卖出总金额='+convert(varchar(20),@RQSumMoney) ------------------------------------------------------------------------------------------------------------------------- declare @CodeNumRZ int --定义具有的融资负债记录数量 --融资买入证券金额*融资保证金比例 SELECT @RZLiabilitiesMoney=isnull(SUM(tempA.融资买入金额*tempA.融资保证金比例),0) FROM ( SELECT [CapitalAccount],[Code],SUM(([RZBuyLiabilitiesSum]-[PayBackSum])) [融资买入金额] ,[融资保证金比例]=case when ([Code]='000002' and Code in (SELECT [code] FROM [VTS_ManagementCenter].[dbo].[RZRQ_SecurityUnderlyingCode] where [SecurityCompanyID]=(SELECT [SecurityCompanyID] FROM [VTS_ManagementCenter].[dbo].[RZRQ_TraderBasicInfo] where [RZRQCapitalAccount]=@CapitalAccount))) then @RZMarginRatioA when ([Code]='000002' and Code not in (SELECT [code] FROM [VTS_ManagementCenter].[dbo].[RZRQ_SecurityUnderlyingCode] where [SecurityCompanyID]=(SELECT [SecurityCompanyID] FROM [VTS_ManagementCenter].[dbo].[RZRQ_TraderBasicInfo] where [RZRQCapitalAccount]=@CapitalAccount))) then 1 when ([Code]='000001' and Code in (SELECT [code] FROM [VTS_ManagementCenter].[dbo].[RZRQ_SecurityUnderlyingCode] where [SecurityCompanyID]=(SELECT [SecurityCompanyID] FROM [VTS_ManagementCenter].[dbo].[RZRQ_TraderBasicInfo] where [RZRQCapitalAccount]=@CapitalAccount))) then @RZMarginRatioB when ([Code]='000001' and Code not in (SELECT [code] FROM [VTS_ManagementCenter].[dbo].[RZRQ_SecurityUnderlyingCode] where [SecurityCompanyID]=(SELECT [SecurityCompanyID] FROM [VTS_ManagementCenter].[dbo].[RZRQ_TraderBasicInfo] where [RZRQCapitalAccount]=@CapitalAccount))) then 1 when ([Code]='000005' and Code in (SELECT [code] FROM [VTS_ManagementCenter].[dbo].[RZRQ_SecurityUnderlyingCode] where [SecurityCompanyID]=(SELECT [SecurityCompanyID] FROM [VTS_ManagementCenter].[dbo].[RZRQ_TraderBasicInfo] where [RZRQCapitalAccount]=@CapitalAccount))) then @RZMarginRatioC when ([Code]='000005' and Code not in (SELECT [code] FROM [VTS_ManagementCenter].[dbo].[RZRQ_SecurityUnderlyingCode] where [SecurityCompanyID]=(SELECT [SecurityCompanyID] FROM [VTS_ManagementCenter].[dbo].[RZRQ_TraderBasicInfo] where [RZRQCapitalAccount]=@CapitalAccount))) then 1 end FROM [VTS_ReckoningCounter].dbo.[RZRQ_RZLiabilities] where [CapitalAccount]=@CapitalAccount group by [CapitalAccount],[Code] ) tempA group by [CapitalAccount] SELECT @CodeNumRZ=COUNT(*) FROM [VTS_ReckoningCounter].dbo.[RZRQ_RZLiabilities] where [CapitalAccount]=@CapitalAccount if(@CodeNumRZ=0) begin set @RZLiabilitiesMoney=0 print '6、融资负债占用保证金=0----(没有任何融资负债记录)' end else print '6、融资负债占用保证金='+convert(varchar(20),@RZLiabilitiesMoney) ---------------------------------------------------------------------------------------- --融券卖出证券市值*融券保证金比例 SELECT @RQLiabilitiesMoney=isnull(SUM(tempB.融券卖出证券市值*tempB.融券保证金比例),0) FROM ( SELECT tempA.CapitalAccount,tempA.Code,tempA.未还融券数量*tempA.市价 [融券卖出证券市值] ,[融券保证金比例]=case when ([Code]='000002' and Code in (SELECT [code] FROM [VTS_ManagementCenter].[dbo].[RZRQ_SecurityUnderlyingCode] where [SecurityCompanyID]=(SELECT [SecurityCompanyID] FROM [VTS_ManagementCenter].[dbo].[RZRQ_TraderBasicInfo] where [RZRQCapitalAccount]=@CapitalAccount))) then @RQMarginRatioA when ([Code]='000002' and Code not in (SELECT [code] FROM [VTS_ManagementCenter].[dbo].[RZRQ_SecurityUnderlyingCode] where [SecurityCompanyID]=(SELECT [SecurityCompanyID] FROM [VTS_ManagementCenter].[dbo].[RZRQ_TraderBasicInfo] where [RZRQCapitalAccount]=@CapitalAccount))) then 1 when ([Code]='000001' and Code in (SELECT [code] FROM [VTS_ManagementCenter].[dbo].[RZRQ_SecurityUnderlyingCode] where [SecurityCompanyID]=(SELECT [SecurityCompanyID] FROM [VTS_ManagementCenter].[dbo].[RZRQ_TraderBasicInfo] where [RZRQCapitalAccount]=@CapitalAccount))) then @RQMarginRatioB when ([Code]='000001' and Code not in (SELECT [code] FROM [VTS_ManagementCenter].[dbo].[RZRQ_SecurityUnderlyingCode] where [SecurityCompanyID]=(SELECT [SecurityCompanyID] FROM [VTS_ManagementCenter].[dbo].[RZRQ_TraderBasicInfo] where [RZRQCapitalAccount]=@CapitalAccount))) then 1 when ([Code]='000005' and Code in (SELECT [code] FROM [VTS_ManagementCenter].[dbo].[RZRQ_SecurityUnderlyingCode] where [SecurityCompanyID]=(SELECT [SecurityCompanyID] FROM [VTS_ManagementCenter].[dbo].[RZRQ_TraderBasicInfo] where [RZRQCapitalAccount]=@CapitalAccount))) then @RQMarginRatioC when ([Code]='000005' and Code not in (SELECT [code] FROM [VTS_ManagementCenter].[dbo].[RZRQ_SecurityUnderlyingCode] where [SecurityCompanyID]=(SELECT [SecurityCompanyID] FROM [VTS_ManagementCenter].[dbo].[RZRQ_TraderBasicInfo] where [RZRQCapitalAccount]=@CapitalAccount))) then 1 end FROM ( SELECT [CapitalAccount],[Code],SUM([RQBuyAmount]-[PayBackSum]) [未还融券数量] ,[市价]=case code when '000002' then @LastPriceA when '000001' then @LastPriceB when '000005' then @LastPriceC end FROM [VTS_ReckoningCounter].dbo.[RZRQ_RQLiabilities] where [CapitalAccount]=@CapitalAccount group by [CapitalAccount],[Code] ) tempA ) tempB group by [CapitalAccount] if(@CodeNumRQ=0) begin set @RQLiabilitiesMoney=0 print '7、融券负债占用保证金=0----(没有任何融券负债记录)' end else print '7、融券负债占用保证金='+convert(varchar(20),@RQLiabilitiesMoney) ---------------------------------------------------------------------------------------- --费用以及利息 SELECT @InterestMoney=isnull(SUM(tempM.总费用),0) FROM ( SELECT tempF.CapitalAccount,tempA.[罚息]+tempA.[逾期息费]+tempA.[融资额度占用费]+tempA.[融券额度占用费] [总费用] FROM ( --信用账户资金内存表 SELECT [RZRQCapitalAccountID],SUM([ChargeTotalDelta]) [罚息],SUM([LateChargeTotalDelta]) [逾期息费], SUM([RZLimitDisplayTotalDelta]) [融资额度占用费],SUM([RQLimitDisplayTotalDelta]) [融券额度占用费] FROM [VTS_ReckoningCounter].dbo.[RZRQ_CapitalAccountTable_Delta] where [RZRQCapitalAccountID]=@RZRQCapitalAccountID group by [RZRQCapitalAccountID] union all --信用账户资金表 SELECT [RZRQCapitalAccountID],[Charge],[LateCharge],[RZLimitDisplay],[RQLimitDisplay] FROM [VTS_ReckoningCounter].dbo.[RZRQ_CapitalAccountTable] where [RZRQCapitalAccountID]=@RZRQCapitalAccountID ) tempA, ( SELECT * FROM [VTS_ReckoningCounter].dbo.[RZRQ_CapitalAccountTable] where [CapitalAccount]=@CapitalAccount ) tempF where tempA.RZRQCapitalAccountID=tempF.RZRQCapitalAccountID union all SELECT tempA.CapitalAccount,tempA.融资利息+tempB.融券利息 [总利息] FROM (SELECT [CapitalAccount],SUM([RZInterestSum]-[PayBackRZInterestSum]) [融资利息] FROM [VTS_ReckoningCounter].dbo.[RZRQ_RZLiabilities] where [CapitalAccount]=@CapitalAccount group by [CapitalAccount]) tempA, (SELECT [CapitalAccount],SUM([RQInterestSum]-[PayBackRQInterestSum]) [融券利息] FROM [VTS_ReckoningCounter].dbo.[RZRQ_RQLiabilities] where [CapitalAccount]=@CapitalAccount group by [CapitalAccount]) tempB where tempA.CapitalAccount=tempB.CapitalAccount ) tempM group by CapitalAccount print '8、总利息='+convert(varchar(20),@InterestMoney) ---------------------------------------------------------------------------------------- declare @FreezeNum int --定义保证金冻结记录数量 --冻结中可用保证金 SELECT @FreezeMoney=isnull(SUM(FreezeAmount),0) FROM [VTS_ReckoningCounter].dbo.[RZRQ_MarginFreeze] where [CapitalAccount]=@CapitalAccount group by [CapitalAccount] SELECT @FreezeNum=COUNT(*) FROM [VTS_ReckoningCounter].dbo.[RZRQ_MarginFreeze] where [CapitalAccount]=@CapitalAccount if(@FreezeNum=0) begin set @FreezeMoney=0 print '9、冻结保证金=0----(没有任何保证金冻结记录)' end else print '9、 冻结保证金='+convert(varchar(20),@FreezeMoney) declare @LastMoney decimal(20,3) set @LastMoney=@CashMoney+@HoldMoney+@RZMoney+@RQMoney-@RQSumMoney-@RZLiabilitiesMoney-@RQLiabilitiesMoney-@InterestMoney-@FreezeMoney print '--------------------------------------------------------------------------------' print '10、 可用保证金余额='+convert(varchar(20),@LastMoney)
相关文章推荐
- SQL脚本积累之二-----SQL Server数据库日志删除脚本
- (PowerDesigner&Sqlite)PD中设计完表后,将其导入数据库中
- SQL脚本积累之一-----UNION的使用示例
- Mysql数据库分布式事务XA详解
- 数据库一
- mysql学习笔记--基础篇
- PostgreSQL问题汇总
- 学习MongoDB 七: MongoDB索引(索引基本操作)(一)
- MongoDB_3.0.4在WIN7下的安装与配置
- SQL和ADO.NET第三天--函数
- mysql 数据类型
- SQL_Server_Day02_select查询语句
- mysql权限和配置主从数据库
- MySQL主从同步、读写分离配置步骤
- mysql--细节呈现
- 安装oracle 10g "程序异常终止,发生内部错误"
- SQL_Server_Day01_连接数据库及数据库定义语言
- mysql 修改密码和设置允许远程登录
- MySQL 的模块不能安装的解决方法
- 远程连接Mariadb数据库