Open utterances-bot opened 4 years ago
Hola yo tengo el siguiente enunciado y siguiendo esta pagina el codigo ahora lo tengo de esta manera
2) Modificar el trigger per a que inserti una fila a la taula audit_table abans de modificar el salari d’un o més empleats. L’action que ha d’afegir a la taula ha de ser “Updating”.
CREATE OR REPLACE TRIGGER max_salary AFTER update OF salary ON EMPLOYEES DECLARE salari_maxim employees.salary%TYPE; BEGIN
SELECT MAX(salary) INTO salari_maxim
FROM EMPLOYEES;
DBMS_OUTPUT.PUT_LINE(' El salary maxim es: ' ||salari_maxim);
END;
4) Modificació de l’exercici 2.
Afegir a la taula audit_table un camp per a guardar l’id de l’empleat.
ALTER TABLE AUDIT_TABLE ADD EMP_ID NUMBER(10);
Si l’acció que es realitza és una actualització, el trigger ha de d’afegir una fila a la taula amb l’id o l’acció “Updating”, abans de modificar el salari d’un o més empleats; si s’elimina un empleat, l’acció ha de ser “deleting”, i si s’afegeix un empleat, ‘Inserted’ .
CREATE TRIGGER max_salary AFTER INSERT OR DELETE OR UPDATE ON audit_table FOR EACH ROW BEGIN IF INSERTING THEN INSERT INTO audit_table VALUES ('Inserted',:NEW.employee_id); ELSIF DELETING THEN INSERT INTO audit_table VALUES ('Deleted',:OLD.employee_id); ELSIF UPDATING THEN INSERT INTO audit_table VALUES (UPDATING || ' is updating' || ' old employee_id: ' || :OLD.employee_id|| ' new employee_id ' || :NEW.employee_id); END IF; END;
Dándome esto como resultado. Que debería arreglar para que me saliese lo que me pide? Gracias,
ORA-04081: el disparador 'MAX_SALARY' ya existe ORA-06512: en "SYS.WWV_DBMS_SQL_APEX_200100", línea 581 ORA-06512: en "SYS.DBMS_SYS_SQL", línea 1658 ORA-06512: en "SYS.WWV_DBMS_SQL_APEX_200100", línea 567 ORA-06512: en "APEX_200100.WWV_FLOW_DYNAMIC_EXEC", línea 2127
Hola, siento molestar. Pero estoy intentando hacer un trigger compuesto. Lo que no sé muy bien es como hacer una comparación a nivel de tabla con un trigger update on table; con un update de esa misma tabla.
Hola, siento molestar. Pero estoy intentando hacer un trigger compuesto. Lo que no sé muy bien es como hacer una comparación a nivel de tabla con un trigger update on table; con un update de esa misma tabla.
Hola, lamento decirte que hace muchos años que no escribo nada de SQL :-(. Espero que encuentres solucion
Déjelo al final consegui aprobar y obtener el grado superior.
El mié., 7 abr. 2021 14:53, Alejandro Alcalde @.***> escribió:
Hola, siento molestar. Pero estoy intentando hacer un trigger compuesto. Lo que no sé muy bien es como hacer una comparación a nivel de tabla con un trigger update on table; con un update de esa misma tabla.
Hola, lamento decirte que hace muchos años que no escribo nada de SQL :-(. Espero que encuentres solucion
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/elbaulp/elbaulp.github.io/issues/28#issuecomment-814889256, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGCYEQWPVPCCJ5VZVP72B4DTHRIU5ANCNFSM4NIO6NDQ .
PL/SQL. Disparadores o Triggers
Blog en el que publico todo lo que aprendo. Principalmente interesado en seguridad, Machine Learning, criptografía, ciencia de datos y desarrollo software.
https://elbauldelprogramador.com/plsql-disparadores-o-triggers/