0
안녕과 행을 업데이트하는,하지만이 테이블 정보를 가지고 있으며,이 정보는이 절차 저장트리거 정보 난 테이블의 정보를 업데이트하는 트리거를 할 노력하고있어 모든 사람에게
create or replace procedure insertar (new_bod int, new_arti int, cant int)
BEGIN
INSERT INTO bod_arti (bod_id, arti_id, cant)
VALUES (new_bod , new_arti, new_cant);
END
을의에서 온다 이 프로 시저 bod_id는 BOD 테이블의 PK이고 arti_id는 프로 시저를 호출하는 값을 삽입하려고 할 때 ARTI 테이블의 PK입니다. 이는 오류가 있으며 이는 PK가 동일하기 때문에 발생합니다. 테이블에 캔트 (cant) 만 삽입하고 정보를 추가하려면 어떻게해야합니까? 나는이 트리거를
create trigger myfirsttrigger BEFORE INSERT ON bod_arti
FOR EACH ROW
UPDATE bod_arti SET cant = cant + NEW.cant WHERE bod_id = NEW.bod_id AND arti_id = NEW.arti_id
이 있고 난 이미 내가이 오류
1442이 삽입 한 값으로 다시 프로 시저를 호출 할 때 - 저장 기능에 테이블 'bod_arti'을 업데이트 할 수 없습니다를/트리거가 있기 때문에 이 저장 함수/트리거를 호출 한 문에 의해 이미 사용되었습니다.
어떻게해야합니까? 감사합니다!
오라클 PLSQL에서
업데이트 할 것을 테이블? –
트리거를 사용하여 삽입하는 동안 자체 테이블에서 테이블을 업데이트 할 수 없습니다. –
저장 프로 시저를 사용하여 대신 트리거 내부를 업데이트 할 수 있습니다. –