的結果,在過程中的計算我已經叫表TblOrders.the字段FldSlNo
,FldStrategyID
,FldTradeServerName
,FldBaseDir
,FldBinaryStartTime
,FldInstrumentID
,FldOrderNumber
,FldBuySell
,FldDisplayQuantity
,FldRemainingQuantity
,FldTotalTradeQuantity
,FldLastTradePrice
,FldLastTradeQuantity
,FldPrice
,FldOrderTime
,FldReferenceText
和FldOrderStatusID
。現在我有一個叫做ProfitCalculation
的程序。如何通過兩個查詢
的過程如下:
delimiter //
CREATE PROCEDURE ProfitCalculation
(
IN instrument INT(20) ,
OUT profit float(10,2)
)
BEGIN
DECLARE buy DECIMAL(10,2);
DECLARE sell DECIMAL(10,2);
DECLARE oprofit DECIMAL(8,2);
SELECT SUM(FldLastTradeQuantity*FldPrice)
FROM TblOrders
WHERE FldInstrumentID = instrument AND FldBuySell = 'b' AND FldLastTradePrice != 0 AND FldLastTradeQuantity != 0 group by FldInstrumentID INTO buy;
SELECT SUM(FldLastTradeQuantity*FldPrice)
FROM TblOrders
WHERE FldInstrumentID = instrument AND FldBuySell = 's' AND FldLastTradePrice != 0 AND FldLastTradeQuantity != 0 group by FldInstrumentID INTO sell;
SELECT (sell-buy) INTO oprofit;
SELECT oprofit INTO profit;
END
//
delimiter ;
它總是返回null。 有沒有解決這個問題的方法。 請幫助我.. 在此先感謝
作爲一個方面的評論,你不需要表('tbl')和字段('fld')前綴,它會阻礙可讀性。 – Triztian