DROP AGGREGATE — 집계 함수 제거
DROP AGGREGATE — 집계 함수 제거
DROP AGGREGATE 문으로 기존 **집계 함수(aggregate function)**를 제거합니다. 실행하려면 현재 사용자가 그 집계 함수의 소유자여야 해요. 집계 함수는 같은 이름이라도 인자 타입이 다르면 여러 개가 공존할 수 있어서, 삭제할 때 인자 시그니처를 함께 지정해야 합니다.
출처: PostgreSQL 문서
본문
개요 (Synopsis)
DROP AGGREGATE [ IF EXISTS ] name ( aggregate_signature ) [, ...] [ CASCADE | RESTRICT ]
여기서 aggregate_signature는:
* |
[ argmode ] [ argname ] argtype [ , ... ] |
[ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ]
설명 (Description)
DROP AGGREGATE는 기존 집계 함수를 제거해요. 이 명령을 실행하려면 현재 사용자가 그 집계 함수의 소유자여야 합니다.
매개변수 (Parameters)
- IF EXISTS — 집계 함수가 없어도 오류를 내지 않아요. 이 경우 알림(notice)이 발행됩니다.
- name — 기존 집계 함수의 이름(선택적으로 스키마로 한정)이에요.
- argmode — 인자의 모드로, IN 또는 VARIADIC이에요. 생략하면 기본값은 IN이에요.
- argname — 인자의 이름이에요. DROP AGGREGATE는 집계 함수의 정체를 결정하는 데 인자 데이터 타입만 필요하기 때문에 인자 이름은 실제로 신경 쓰지 않는다는 점을 알아두세요.
- argtype — 집계 함수가 동작하는 입력 데이터 타입이에요. 인자가 없는 집계 함수를 참조하려면 인자 지정 목록 자리에
*를 쓰세요. 순서 집합(ordered-set) 집계 함수를 참조하려면 직접(direct) 인자 지정과 집계(aggregated) 인자 지정 사이에 ORDER BY를 씁니다. - CASCADE — 집계 함수에 의존하는 객체(그것을 쓰는 뷰 등)와, 그 객체들에 의존하는 모든 객체를 자동으로 삭제해요(5.15절 참고).
- RESTRICT — 집계 함수에 의존하는 객체가 있으면 삭제를 거부해요. 이것이 기본값이에요.
참고 사항 (Notes)
순서 집합 집계를 참조하는 대안 구문은 ALTER AGGREGATE 아래에 설명되어 있어요.
예시 (Examples)
integer 타입용 집계 함수 myavg 제거하기:
DROP AGGREGATE myavg(integer);
임의의 정렬 컬럼 목록과 그에 대응하는 직접 인자 목록을 받는 가설 집합(hypothetical-set) 집계 함수 myrank 제거하기:
DROP AGGREGATE myrank(VARIADIC "any" ORDER BY VARIADIC "any");
한 명령으로 여러 집계 함수 제거하기:
DROP AGGREGATE myavg(integer), myavg(bigint);
호환성 (Compatibility)
SQL 표준에는 DROP AGGREGATE 문이 없어요.
함께 보기 (See Also)
- ALTER AGGREGATE — 집계 함수 변경
- CREATE AGGREGATE — 새 집계 함수 정의
더 알아보기 (Learn more)
- CREATE AGGREGATE — 집계 함수를 만드는 명령이에요.
- ALTER AGGREGATE — 기존 집계 함수 이름·소유자 변경
- 집계 함수 — 내장 집계 함수 목록