[postgresql] 아무것도 반환하지 않는 함수를 만드는 방법

나는 함수를 작성하고 싶다 pl/pgsql. 내가 사용하고 PostgresEnterprise 관리자 V3를 하고 기능을하는 쉘을 사용하지만, 쉘에서 나는 반환 형식을 정의해야합니다. 반환 유형을 정의하지 않으면 함수를 만들 수 없습니다.

결과를 반환하지 않고 함수, 즉 새 테이블을 생성하는 함수를 어떻게 만들 수 있습니까?



답변

RETURNS void아래와 같이 사용하십시오 .

CREATE FUNCTION stamp_user(id int, comment text) RETURNS void AS $$
    #variable_conflict use_variable
    DECLARE
        curtime timestamp := now();
    BEGIN
        UPDATE users SET last_modified = curtime, comment = comment
          WHERE users.id = id;
    END;
$$ LANGUAGE plpgsql;


답변

다음과 같은 절차를 사용할 수 있지만 함수는 항상 무언가를 반환해야합니다.

do $$

다음과 같은 정상적인 기능으로 시작하십시오.

declare
...

그러나 여전히 함수를 수행하려면 returns 뒤에 void 를 추가하십시오 .


답변