Oracle - Error de mutating table

 
Vista:

Error de mutating table

Publicado por Fernando (1 intervención) el 11/09/2008 22:42:48
Tengo un error al actualizar una tabla con el triger.
la actualizacion es la siguiente:
update BMA_BIOMARKER_GENES set bbg_biomarker_id = 4 where bbg_id = 999999999;
y el triger es el siguiente que llama a un procedimiento.

CREATE OR REPLACE TRIGGER ALR_BMKM_NEW_RELTAR
BEFORE INSERT OR UPDATE OF "BBG_BIOMARKER_ID"
ON "BMA_BIOMARKER_GENES" FOR EACH ROW

DECLARE
v_count pls_integer;
BEGIN

select count(ttg.ttg_target_id)
into v_count
from BMA_BIOMARKER_GENES BBG, TAR_TARGET_GENES ttg
where BBG.BBG_BIOMARKER_ID=:new.BBG_BIOMARKER_ID
and ttg.ttg_gene_id = bbg.BBG_GENE_ID;

if v_count > 0 then
insert_alr_scanned_ids(change_tracking_item_id => alerts_const_pkg.ct_newBMKMRelTAR,
subsystem_id => :new.BBG_BIOMARKER_ID,
subsystem => 'BMKM');
end if;

END ALR_BMKM_NEW_RELTAR;

create or replace procedure INSERT_ALR_SCANNED_IDS (
change_tracking_item_id in pls_integer,
subsystem_id in varchar2,
subsystem in varchar2
)
AS
BEGIN

INSERT INTO alr_scanned_ids (
asi_id,
asi_change_tracking_item_id,
asi_subsystem_id,
asi_subsystem,
asi_modif_date)
VALUES (
asi_id_seq.nextval,
change_tracking_item_id,
subsystem_id,
subsystem,
SYSDATE
);

END INSERT_ALR_SCANNED_IDS;

Favor si me pueden dar una ayuda con esto.
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error de mutating table

Publicado por Rodolfo Reyes (59 intervenciones) el 12/09/2008 17:31:52
Me parece raro. A simple vista no te deberia de dar el error de mutating table.

Esto error se da cuando se crea un trigger y dentro de este trigger se hace un update, delete o insert sobre la tabla en la que esta creado el trigger, o se manda a llamar a una funcion, procedimiento, paquete u otro trigger que dentro de su codigo realice un Update, delete o insert sobre la tabla en la que esta creado el primer trigger.

Lo unico que se me ocurre es que la tabla alr_scanned_ids tenga un trigger que realice un update, insert o delete sobre la tabla BMA_BIOMARKER_GENES
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar