삭제 와이즈 토토

DROP PROCEDURE — 프로시저 제거

시놉시스

삭제 와이즈 토토 [존재하는 경우]이름 [ ( [ [ argmode ] [ argname ] argtype[, ...] ] ) ] [, ...]
    [ 캐스케이드 | 제한 ]

설명

삭제 와이즈 토토하나 이상의 기존 프로시저 정의를 제거합니다. 이 명령을 실행하려면 사용자가 프로시저의 소유자여야 합니다. 동일한 이름과 다른 인수 목록을 가진 여러 다른 프로시저가 존재할 수 있으므로 일반적으로 프로시저에 대한 인수 유형을 지정해야 합니다.

매개변수

존재하는 경우

프로시저가 존재하지 않으면 오류를 발생시키지 마십시오. 이 경우 통지가 발행됩니다.

이름

기존 절차의 이름(선택적으로 스키마 한정).

argmode

인수의 모드:IN, 아웃, INOUT, 또는VARIADIC. 생략하면 기본값은IN(그러나 아래 참조).

argname

인수의 이름. 참고하세요삭제 와이즈 토토인수 데이터 유형만이 프로시저의 ID를 결정하는 데 사용되므로 실제로 인수 이름에 전혀 주의를 기울이지 않습니다.

argtype

프로시저 인수(선택적으로 스키마 한정)의 데이터 유형(있는 경우). 자세한 내용은 아래를 참조하세요.

캐스케이드

프로시저에 의존하는 개체를 자동으로 삭제하고 해당 개체에 의존하는 모든 개체를 삭제합니다(참조와이즈 토토 : 문서 : 16 : 5.14. 의존성 추적).

제한

객체가 의존하는 경우 프로시저 삭제를 거부하십시오. 이것이 기본값입니다.

참고

주어진 이름의 프로시저가 하나만 있는 경우 인수 목록을 생략할 수 있습니다. 이 경우에도 괄호를 생략합니다.

PostgreSQL, 입력을 나열하는 것으로 충분합니다(INOUT) 인수, 동일한 이름의 두 루틴이 동일한 입력 인수 목록을 공유할 수 없기 때문입니다. 게다가,드롭명령은 실제로 다음 유형을 작성했는지 확인하지 않습니다.OUT인수는 정확합니다. 따라서 명시적으로 표시된 모든 인수는OUT그냥 소음일 뿐이에요. 그러나 해당 항목과의 일관성을 위해 작성하는 것이 좋습니다.만들기명령.

SQL 표준과의 호환성을 위해 모든 인수 데이터 유형을 쓸 수도 있습니다(다음의 데이터 유형 포함아웃인수) 없음argmode마커. 이 작업이 완료되면 프로시저의 유형은밖으로인수할 것이다명령에 대해 확인됩니다. 이 조항은 인수 목록에 no가 포함되어 있다는 점에서 모호성을 만듭니다.argmode마커, 어떤 규칙이 의도된 것인지 확실하지 않습니다.드롭명령은 양방향으로 조회를 시도하며, 두 개의 서로 다른 절차가 발견되면 오류를 발생시킵니다. 이러한 모호함의 위험을 피하려면 다음과 같이 작성하는 것이 좋습니다.IN마커를 기본값으로 설정하지 않고 명시적으로 지정하여 기존 방식을 강제합니다.PostgreSQL해석이 사용됩니다.

방금 설명한 조회 규칙은 다음과 같은 기존 절차에 작용하는 다른 명령에서도 사용됩니다.변경 와이즈 토토그리고와이즈 토토에 대한 의견.

프로시저가 하나만 있는 경우do_db_maintenance, 이 명령으로 삭제하기에 충분합니다.

삭제 와이즈 토토 do_db_maintenance;

이 와이즈 토토 정의에 따르면:

CREATE PROCEDURE do_db_maintenance(IN target_schema 텍스트, OUT 결과 텍스트) ...

다음 명령 중 하나를 사용하면 삭제할 수 있습니다.

삭제 와이즈 토토 do_db_maintenance(IN target_schema 텍스트, OUT 결과 텍스트);
삭제 와이즈 토토 do_db_maintenance(IN 텍스트, OUT 텍스트);
삭제 와이즈 토토 do_db_maintenance(IN text);
삭제 와이즈 토토 do_db_maintenance(text);
삭제 와이즈 토토 do_db_maintenance(text, text);  -- 잠재적으로 모호함

그러나 마지막 예는 다음과 같은 경우에도 모호할 것입니다.

CREATE PROCEDURE do_db_maintenance(IN target_schema 텍스트, IN 옵션 텍스트) ...

호환성

이 명령은 SQL 표준을 준수합니다.포스트그레SQL확장:

  • 표준에서는 명령당 하나의 프로시저만 삭제하도록 허용합니다.

  • 존재하는 경우옵션은 확장입니다.

  • 인수 모드와 이름을 지정하는 기능은 확장이며 모드가 지정되면 조회 규칙이 달라집니다.

수정 사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.