ALTER PROCEDURE — 프로시저 정의 변경
변경 토토 캔이름[ ( [ [argmode] [인수이름]argtype[, ...] ] ) ]액션[ ... ] [ 제한 ] 변경 토토 캔이름[ ( [ [argmode] [인수이름]argtype[, ...] ] ) ] 다음으로 이름 바꾸기:new_name변경 토토 캔이름[ ( [ [argmode] [인수이름]argtype[, ...] ] ) ] 의 소유자new_owner| CURRENT_USER | SESSION_USER이름[ ( [ [argmode] [argname]argtype[, ...] ] ) ] 스키마 설정new_schema변경 토토 캔이름[ ( [ [argmode] [argname]argtype[, ...] ] ) ] 연장에 따라 다름확장_이름어디에서액션다음 중 하나입니다:[ 외부 ] 보안 호출자 | [ 외부 ] 보안 정의자 설정구성_매개변수받는 사람 | =값| 기본값 설정configuration_parameter현재부터 재설정구성_매개변수모두 재설정
변경 토토 캔프로시저의 정의를 변경합니다.
사용하려면 토토 캔를 소유해야 합니다.변경 토토 캔. 프로시저의 스키마를 변경하려면 다음도 있어야 합니다.만들기새 스키마에 대한 권한. 소유자를 변경하려면 새 소유 역할의 직접 또는 간접 구성원이어야 하며 해당 역할에는 다음이 있어야 합니다.만들기프로시저의 스키마에 대한 권한. (이러한 제한 사항은 소유자를 변경해도 프로시저를 삭제하고 다시 생성하여 수행할 수 없는 작업을 수행하지 않도록 강제합니다. 그러나 수퍼유저는 어쨌든 모든 프로시저의 소유권을 변경할 수 있습니다.)
이름기존 절차의 이름(선택적으로 스키마 한정). 인수 목록이 지정되지 않은 경우 이름은 해당 스키마에서 고유해야 합니다.
argmode인수의 모드:IN또는VARIADIC. 생략하면 기본값은IN.
인수이름인수의 이름. 참고하세요변경 토토 캔프로시저의 ID를 결정하려면 인수 데이터 유형만 필요하기 때문에 실제로 인수 이름에는 전혀 주의를 기울이지 않습니다.
argtype프로시저 인수(선택적으로 스키마 한정)의 데이터 유형(있는 경우).
new_name프로시저의 새로운 이름입니다.
new_owner프로시저의 새로운 소유자. 토토 캔가 표시된 경우 참고보안 정의자, 이후에 새 소유자로 실행됩니다.
new_schema프로시저에 대한 새로운 스키마.
확장명_이름프로시저가 의존하는 확장의 이름.
[ 외부] 보안 호출자[ 외부] 보안 정의자프로시저가 보안 정의자인지 여부를 변경합니다. 핵심어외부SQL 적합성에 대해서는 무시됩니다. 참조프로시저 생성이 기능에 대한 자세한 내용을 확인하세요.
configuration_parameter값프로시저가 호출될 때 구성 매개변수에 할당될 할당을 추가하거나 변경합니다. 만일값is기본값또는 동등하게,리셋을 사용하면 프로시저-로컬 설정이 제거되어 프로시저가 해당 환경에 있는 값으로 실행됩니다. 사용모두 재설정모든 토토 캔-로컬 설정을 삭제합니다.현재부터 설정다음의 경우 현재 매개변수 값을 저장합니다.변경 토토 캔프로시저 진입시 적용되는 값으로 실행됩니다.
참조SET그리고배트맨 토토 : 문서 : 11 : 19 장. 서버 구성허용되는 매개변수 이름 및 값에 대한 자세한 내용을 확인하세요.
제한SQL 표준 준수로 인해 무시됩니다.
프로시저 이름을 바꾸려면insert_data두 가지 인수 유형정수에insert_record:
ALTER PROCEDURE insert_data(정수, 정수) RENAME TO insert_record;
프로시저의 소유자를 변경하려면insert_data두 가지 인수 유형정수에조:
변경 토토 캔 insert_data(정수, 정수) 소유자가 joe;
프로시저의 스키마를 변경하려면insert_data두 가지 인수 유형정수에회계:
ALTER PROCEDURE insert_data(정수, 정수) SET SCHEMA 계정;
토토 캔를 표시하려면insert_data(정수, 정수)확장 프로그램에 종속됨myext:
변경 토토 캔 insert_data(정수, 정수)는 확장 프로그램 myext에 따라 다릅니다.
토토 캔에 대해 자동으로 설정된 검색 경로를 조정하려면:
변경 토토 캔 check_password(text) SET search_path = admin, pg_temp;
자동 설정을 비활성화하려면검색_경로토토 캔의 경우:
변경 토토 캔 check_password(text) RESET search_path;
이제 호출자가 사용하는 검색 경로에 관계없이 프로시저가 실행됩니다.
이 명령문은 다음과 부분적으로 호환됩니다.변경 토토 캔SQL 표준의 문입니다. 표준에서는 프로시저의 더 많은 속성을 수정할 수 있지만 프로시저 이름 바꾸기, 프로시저를 보안 정의자로 만들기, 구성 매개변수 값을 프로시저에 연결하기, 프로시저의 소유자, 스키마 또는 변동성을 변경하는 기능은 제공하지 않습니다. 표준에는 또한 다음이 필요합니다.제한키워드, 선택사항임포스트그레SQL.