DECLARE
CURSOR cursor IS SELECT SHIP_ID, DATE_ARRIVE, QTY_EXPECTED, DESCRIPTION, QTY_HAND, ITEM_RATE, (QTY_EXPECTED * ITEM_RATE), ((QTY_EXPECTED * ITEM_RATE) + (QTY_HAND * ITEM_RATE)),((QTY_EXPECTED * ITEM_RATE) + (QTY_HAND * ITEM_RATE))
FROM SHIPPINGTABLE;
S_SHIPID SHIPPINGTABLE.SHIP_ID%TYPE;
S_DATEARRIVE SHIPPINGTABLE.DATE_ARRIVE%TYPE;
S_QTYEXPECTED SHIPPINGTABLE.QTY_EXPECTED%TYPE;
S_DESCRIPTION SHIPPINGTABLE.DESCRIPTION%TYPE;
S_QTYHAND SHIPPINGTABLE.QTY_HAND%TYPE;
S_ITEMRATE SHIPPINGTABLE.ITEM_RATE%TYPE;
S_SHIPMENTVALUE NUMBER(10);
S_TOTALVALUE NUMBER(10);
S_GRANDTOTAL NUMBER(10) := 0;
BEGIN
OPEN cursor;
LOOP
FETCH CURSOR INTO S_SHIPID, S_DATEARRIVE, S_QTYEXPECTED, S_DESCRIPTION, S_QTYHAND, S_ITEMRATE, S_SHIPMENTVALUE, S_TOTALVALUE, S_GRANDTOTAL;
EXIT WHEN cursor%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('Shipment ' || S_SHIPID || ' is expected to arrive on '|| S_DATEARRIVE);
DBMS_OUTPUT.PUT_LINE('Description: ' || S_DESCRIPTION);
DBMS_OUTPUT.PUT_LINE('Shipment value: ' || S_SHIPMENTVALUE);
DBMS_OUTPUT.PUT_LINE('Quantity on hand: ' || S_QTYHAND);
DBMS_OUTPUT.PUT_LINE('Total product value: ' || S_TOTALVALUE);
DBMS_OUTPUT.PUT_LINE(CHR(10));
S_GRANDTOTAL := S_TOTALVALUE + S_GRANDTOTAL;
END LOOP;
DBMS_OUTPUT.PUT_LINE(S_GRANDTOTAL);
CLOSE cursor;
END;
/
私は総計を計算しようとしています。今すぐ出力は次のようになります。ループ中に自己に値を追加
Shipment 211 is expected to arrive on 15-Nov-07
Description: Season Tents
Shipment value: 12500.
Quantity on hand: 3
Total product value: 14000
これは正しいです。また、S_GRANDTOTALも出力されますが、最後の項目を追加するだけで、前の項目の合計が追加されません。私もSQLでこれを行う方法はありますが
variable += variable
ような何かを行うことができますJavaで知っていますか?
ありがとうございました。私はスケーラビリティがないかもしれないと理解していますが、それは単なる宿題にすぎないので、心配する必要はありません。 – Josh
あなたが学校を離れて職業に就き(ブートキャンプ外で戦場に出ると)、あなたは訓練を受けているように演技します。直面する問題を超えて、そこに存在するすべての要素、条件、リソース、制約(技術的、組織的、官僚的)を備えた生産環境で、これが実際にどのように機能するか、常に考えてみてください。 – Howard007
乾杯と幸運! – Howard007