2013-07-12 3 views
0

TRIGEER -> 값을 삽입 할 때 한 테이블에서 다른 테이블로 열 값을 가져 오려면? 두 테이블 (customer_detailsloan_balance)이 있습니다. 내가 필요한 것은 loan_balance 테이블에 데이터를 삽입 할 때 loan_balance 테이블에 customer_details 테이블의 열 (custid)을 가져와야합니다. 이것은 내 검색어의 전체 설정입니다. SQL FIDDLEPostgreSQL에서 트리거를 만드는 방법?

그래서 트리거를 발생시켜야하며 데이터는 custid의 동적 삽입없이 자동으로 업데이트되어야합니다.

  1. 가 여기에 기능을

을 실행의 트리거를 만들 NEW 행 기록

  • 을 입력 trigger 반환하는 함수를 만들고 반환 :

  • +0

    온라인 문서를 읽으셨습니까? 너 뭐 해봤 니? – Bohemian

    답변

    0

    포스트 그레스 작성, 트리거의 틀에 얽매이지 않는 방법이있다 필요한 코드 :

    CREATE FUNCTION synch_custid_proc() 
    RETURNS trigger AS $$ 
    BEGIN 
        NEW.custid = (
         select max(custid) 
         from customer_details 
         where creditid = NEW.creditid 
        ); 
        RETURN NEW; 
    END; 
    $$ LANGUAGE plpgsql 
    
    CREATE TRIGGER synch_custid_trig 
    BEFORE INSERT ON loan_amount 
    FOR EACH ROW 
    EXECUTE PROCEDURE synch_custid_proc(); 
    

    일치하는 행이 여러 개인 경우 값을 찾을 때 간단히 custid이 아닌 max(custid)을 선택했습니다. 이 논리를 데이터에 맞게 조정해야 할 수도 있습니다.

    live demo on SQLFiddle

    관련 문제