मैं EMPLOYEES
तालिका वेतन कॉलम अपडेट करने के लिए पीएल/एसक्यूएल (ओरेकल 11 जी) का उपयोग कर रहा हूं।अद्यतन अद्यतन के लिए उपयोग
मैंने वही काम करने के लिए दो अलग-अलग स्क्रिप्ट का उपयोग किया है, मैं कर्मचारियों के वेतन को अद्यतन करता हूं।
एक स्क्रिप्ट FOR UPDATE OF
कथन का उपयोग करती है जहां एक और स्क्रिप्ट इसका उपयोग नहीं करती है। दोनों मामलों में मैंने पाया कि ओरेकल पंक्ति स्तर ताले रखता है जब तक हम ROLLBACK
या COMMIT
आदेश निष्पादित नहीं करते हैं।
फिर दो स्क्रिप्ट के बीच क्या अंतर है?
कौन सा उपयोग करने के लिए बेहतर है?
यहाँ दो स्क्रिप्ट के बारे में मैं बात कर रहा हूँ कर रहे हैं:
-- Script 1: Uses FOR UPDATE OF
declare
cursor cur_emp
is
select employee_id,department_id from employees where department_id = 90 for update of salary;
begin
for rec in cur_emp
loop
update Employees
set salary = salary*10
where current of cur_emp;
end loop;
end;
--Script 2: Does the same thing like script 1 but FOR UPDATE OF is not used here
declare
cursor cur_emp
is
select employee_id,department_id from employees where department_id = 90;
begin
for rec in cur_emp
loop
update Employees
set salary = salary*10
where Employee_ID = rec.employee_id;
end loop;
end;
मैंने पाया कि ओरेकल दोनों ही मामलों पर पंक्ति स्तर ताले हासिल कर ली। तो, FOR UPDATE OF
का उपयोग करने का क्या फायदा है और कोडिंग का बेहतर तरीका कौन सा है?
भूलें: अगर कर्मचारी == एमआरपी फिर वेतन निर्धारित करें + = 100000 – stark