2013-03-13 9 views

답변

1

여기에는 두 개의 별개의 경우가 있습니다. 하나는 사본을 포함해야하고 다른 하나는 포인터를 포함해야합니다.

당신이 언급 한 경우 사본이 만들어집니다. 다음과 같이 테스트 할 수 있습니다.

create function test_test(inout test test) returns test as 
$$ 
begin 
    $1.test := $1.test + 1; 
    return; 
end; 
$$ language plpgsql; 

select (test_test(t)).test, (test_test(t)).test from test t; 

여기서 test.test는 정수입니다. 숫자는 같을거야.

두 번째는 트리거에 있으며 NEW 수정은 다음 트리거로 전달됩니다. 이들은 참조로 전달되어야합니다.

+0

대단히 감사합니다! – JoshuaBoshi