У меня есть эта функция:Oracle Merge. Как я могу использовать его?
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, но в основном я просто смутился тем, как применять синтаксис к конкретному случаю.
Я искал here и here, и я получаю его, но синтаксис не дает мне возможности.
Кто-нибудь хочет помочь новичкам Oracle?
Damn возле совершенен. Просто нужна скобка вокруг условия ON. Спасибо за помощь. – Corwin01