Ich versuche einen Auslöser zu erstellen, um ein Feld zu ändern, wenn ein anderes aktualisiert wird. Dies ist mein aktueller Trigger, es funktioniert derzeit, wenn ich nur eine Zeile aktualisiere, aber wenn ich mehrere aktualisiere, funktioniert es nicht. Wie kann ich das beheben?PL/SQL kann nicht mehrere zu aktualisierende Zeilen erhalten, wenn ein Auslöser ausgelöst wird
Ich benutze Orakel übrigens.
Create or replace trigger br_change
after update on employees
Declare
cursor pls_work is
select e.employeeID, e.departmentID, ep.billrate, jobrank, salary
from employees e full join employeeproject ep on e.employeeID
= ep.employeeID full join jobtypes jt on jt.jobname = e.title;
empID number(3);
dpID number(1);
br number(4);
jr number(1);
s number(12);
BEGIN
open pls_work;
fetch pls_work into empID, dpID, br, jr, s;
update employeeproject set billrate = ((s/2000)+(jr*10)) where empID = employeeID;
dbms_output.put_line('Updating billrate to match changes');
END;
/
„Es funktioniert nicht“ ist nicht hilfreich. Sagen Sie uns, was tatsächlich passiert - ein Fehler, falsche Ergebnisse? Ich kann mir vorstellen, dass Sie den falschen Rechnungswert haben. Es kann hilfreich sein, Beispieldaten und aktuelle/erwartete Ergebnisse einzubeziehen. –