내가 변경 (업데이트 또는 삭제) 할 때마다 이전 데이터를 새 템플릿 (동일한 템플릿 포함)으로 복사해야하는 트리거를 만들고 싶습니다.postgresql- 트리거를 사용하여 화재
create table restrictions(ID int,name text);
insert into restrictions values(122,'suresh');
select * from restrictions;
create table restrictions_deleted(ID int,name text);// this is my duplicate table for keeping information of all updations.
CREATE OR REPLACE FUNCTION moveDeleted() RETURNS trigger AS $$
BEGIN
INSERT INTO restrictions_deleted VALUES(OLD.ID, OLD.name);
RETURN OLD;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER moveDeleted
BEFORE DELETE ON restrictions
FOR EACH ROW
EXECUTE PROCEDURE moveDeleted();
delete from restrictions where ID=122;
select * from restrictions_deleted;
이 코드는 중복 테이블에있는 모든 삭제 된 데이터를 기록 할 수 있습니다 :
나는이 코드를 시도했다. 그러나 나는 또한 업데이트를 위해서도 똑같이하고 싶다.의견이나 제안이 있으십니까?
그리고 당신은 당신이 업데이트 작업에 전체 table_을 _replicate 하시겠습니까있어? 당신이 알아야 할 역사적인 정보를 기록한 데이터 모델을 사용 해본 적이 있습니까? –
@ClassStacker 현재 트리거는 ** 전체 ** 테이블을 복제하지 않습니다. 현재 행을 처리 할 것입니다. –
@IgorRomanchenko 물론입니다. 내 잘못. –