私はこの機能を持っています:
Procedure UpdateDefaultWeight ( vYear Number, costWeight Number, qualityWeight Number, serviceWeight Number )
AS
type weight_table is table of Number(5,2) index by varchar2(50);
weightArray weight_table;
currentPosition varchar2(50);
Begin
weightArray('Cost Weighting') := costWeight;
weightArray('Quality Weighting') := qualityWeight;
weightArray('Service Weighting') := serviceWeight;
currentPosition := weightArray.first;
Loop
Exit When currentPosition is null;
Insert Into GVS.GVSSD16_DFLT_WEIGHT
( cal_year, metric_name, metric_val )
Values
( vYear, currentPosition, weightArray(currentPosition) );
currentPosition := weightArray.next(currentPosition);
End Loop;
END;
私が書いたように、今はINSERTを実行するだけです。ただし、UPSERTには必要です。MERGEに関するドキュメントを見回しましたが、主に、特定のケースに構文を適用する方法について混乱しました。
私はこことここを見てきました、そして私はそれの要点を理解します、しかし構文は私に失敗します。
オラクルの初心者を助けたいと思っている人はいますか?