error tablas mutantes en pl sql
Publicado por justhaku (1 intervención) el 09/01/2019 18:14:30
Hola a todos!
Hace poco me adentré en el maravilloso mundo de los triggers y me he topado con que me da un error de tabla mutante, he estado investigando por mi cuenta y no he sacado nada en claro.
Para poneros en contexto, la idea es recibir en la variable el numero de veces que se repite el componente para luego poder hacer un condicional y cambiar el estado en la tabla del componente si no está repetido.
El trigger en cuestión sería este:
Hace poco me adentré en el maravilloso mundo de los triggers y me he topado con que me da un error de tabla mutante, he estado investigando por mi cuenta y no he sacado nada en claro.
Para poneros en contexto, la idea es recibir en la variable el numero de veces que se repite el componente para luego poder hacer un condicional y cambiar el estado en la tabla del componente si no está repetido.
El trigger en cuestión sería este:
1
2
3
4
5
6
7
8
9
create or replace TRIGGER TRIGGER1
BEFORE DELETE ON TDE_DISENYO_ESTR
FOR EACH ROW
DECLARE
n INTEGER;
BEGIN
SELECT COUNT(t1.ID_COMPONENTE) INTO n FROM TDE_DISENYO_ESTR t1 INNER JOIN TDE_COMPONENTE t2 ON t1.ID_COMPONENTE = t2.ID_COMPONENTE WHERE t1.ID_COMPONENTE = :OLD.ID_COMPONENTE;
DBMS_OUTPUT.PUT_LINE('Hay ' || n || ' componentes iguales.');
END;
Valora esta pregunta


0