ALTER ROUTINE
ALTER ROUTINE
ALTER ROUTINE은 루틴(routine)의 정의를 바꾸는 명령이에요. 루틴은 집계 함수, 일반 함수, 프로시저 중 하나일 수 있어요.
출처: PostgreSQL 문서
본문
문법 (Synopsis)
ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
action [ ... ] [ RESTRICT ]
ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
RENAME TO new_name
ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
SET SCHEMA new_schema
ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
[ NO ] DEPENDS ON EXTENSION extension_name
where action is one of:
IMMUTABLE | STABLE | VOLATILE
[ NOT ] LEAKPROOF
[ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER
PARALLEL { UNSAFE | RESTRICTED | SAFE }
COST execution_cost
ROWS result_rows
SET configuration_parameter { TO | = } { value | DEFAULT }
SET configuration_parameter FROM CURRENT
RESET configuration_parameter
RESET ALL
설명 (Description)
ALTER ROUTINE은 루틴의 정의를 변경해요. 루틴은 집계 함수, 일반 함수, 프로시저 중 하나일 수 있어요. 파라미터 설명, 더 많은 예제, 추가 세부사항은 ALTER AGGREGATE, ALTER FUNCTION, ALTER PROCEDURE 아래를 참고하세요.
예제 (Examples)
integer 타입의 루틴 foo를 foobar로 이름을 바꾸려면:
ALTER ROUTINE foo(integer) RENAME TO foobar;
이 명령은 foo가 집계 함수든 함수든 프로시저든 관계없이 동작해요.
호환성 (Compatibility)
이 문은 SQL 표준의 ALTER ROUTINE 문과 부분적으로 호환돼요. 자세한 내용은 ALTER FUNCTION과 ALTER PROCEDURE 아래를 참고하세요. 루틴 이름이 집계 함수를 가리키는 것을 허용하는 것은 PostgreSQL 확장 기능이에요.
더 알아보기 (Learn more)
ALTER ROUTINE은 집계 함수·함수·프로시저 모두에 동작해요.- 실제로는 주로
ALTER AGGREGATE·ALTER FUNCTION·ALTER PROCEDURE의 편의용 래퍼로 쓰여요. - 루틴 이름이 집계 함수를 가리키는 것은 PostgreSQL 확장 기능이에요.