나는 함수를 작성하고 싶다 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 를 추가하십시오 .