2017-12-17 25 views
1

Questionnaire 플러그인 무들의 일부인 여러 테이블에서 데이터를 가져 오는 쿼리가 있습니다.보기의 트리거를 사용하여 기존 열을 다른 데이터로 업데이트하십시오.

그러면보기가 반환됩니다. (PHP 검색을 위해이 뷰를 다른 뷰에 결합) 같은 뷰에서 다른 열 ref_number에 복사하기 위해 참조 번호가 삽입 된 app_ref 열에 대해 설명합니다.

ref_number|app_ref 
      1234 
      2345 

내가 검색 좀하고 내가 트리거를 사용할 필요가 이해하지만 트리거/건설 일 (학습 PostgreSQL을)를 사용한 적이 그래서 PostgreSQL site에 읽은대로 잘 모르겠어요, 것 트리거 실행 이전 또는 이후?

답변

0

정확하게 이해하면 둘 이상의 표에서 선택하기 때문에 업데이트 할 수없는보기를 업데이트하려고합니다. 그런 다음 대신 "업데이트"의 함수를 실행하기 위해 뷰를 말할과 같이 할 수

CREATE OR REPLACE FUNCTION my_view_update() 
    RETURNS trigger AS 
$BODY$ 
BEGIN 

-- Here comes your SQL to handle your ref_number and app_ref issue 
-- use NEW.app_ref or OLD.app_ref to access values 

RETURN NEW; 
END 
$BODY$ 

:

CREATE TRIGGER my_update 
    INSTEAD OF UPDATE 
    ON my_view 
    FOR EACH ROW 
    EXECUTE PROCEDURE my_view_update; 

첫째, 당신은 당신이 원하는 업데이트를 실행하는 프로 시저를 작성 할 수 있습니다