DROP PROCEDURE 명령

DROP PROCEDURE 명령을 사용하여 기존의 스토어드 프로시저를 데이터베이스에서 제거합니다.

요약

DROP PROCEDURE <name> (<arguments>)

입력

DROP PROCEDURE 명령의 입력은 다음과 같습니다.
표 1. DROP PROCEDURE 입력
입력 설명
이름 삭제(drop)하려는 스토어드 프로시저의 이름입니다. 프로시저가 연결된 데이터베이스에 정의되어 있어야 합니다.

여러 스키마를 지원하는 시스템의 경우, schema.procedure 형식으로 이름을 지정하여 현재 데이터베이스의 다른 스키마에서 프로시저를 삭제(drop)할 수 있습니다. 다른 데이터베이스의 프로시저는 삭제(drop)할 수 없습니다.

인수 스토어드 프로시저를 고유하게 식별하는 입력 인수 목록입니다.

출력

DROP PROCEDURE 명령의 출력은 다음과 같습니다.
테이블 2. DROP PROCEDURE 출력
출력 설명
DROP PROCEDURE 명령에 성공하면 시스템에서 리턴되는 메시지입니다.
ERROR: DROP PROCEDURE: permission denied 사용자에게 삭제(drop) 권한이 없습니다.
ERROR: RemoveFunction: 함수'NAME(ARGS)'이 존재하지 않습니다 지정된 프로시저 서명이 데이터베이스에 없음을 나타내는 메시지입니다.
ERROR: Name: No such stored procedure 지정된 스토어드 프로시저가 현재 데이터베이스에 없는 경우 시스템에서 리턴되는 메시지입니다.
ERROR: RemoveFunction: 기존 UDX NAME(ARGS)의 문자열/숫자 인자 크기가 다릅니다 이 오류는 해당 이름의 스토어드 프로시저가 있지만 문자열 또는 숫자 인수에 다른 크기가 지정되었음을 나타냅니다.

스토어드 프로시저를 삭제(drop)하려면 정확한 인수 유형 목록을 올바른 크기로 지정하는지 확인하십시오.

설명

활성 쿼리에서 현재 사용 중인 스토어드 프로시저는 삭제(drop)할 수 없습니다. 활성 쿼리에 대한 트랜잭션이 완료되면 Netezza Performance Server 시스템이 DROP PROCEDURE 명령을 처리합니다. 스토어드 프로시저가 현재 데이터베이스에 정의되어 있어야 합니다.

DROP PROCEDURE 명령에는 다음과 같은 특성이 있습니다.
권한 필요
스토어드 프로시저를 삭제(drop)하려면 다음 기준 중 하나를 충족해야 합니다.
  • PROCEDURE 오브젝트에 대한 삭제(drop) 특권이 있어야 합니다.
  • 특정 스토어드 프로시저에 대한 삭제(drop) 특권이 있어야 합니다.
  • 스토어드 프로시저를 소유해야 합니다.
  • 사용자가 데이터베이스 관리 사용자이거나 현재 데이터베이스 또는 여러 스키마를 지원하는 시스템의 현재 스키마를 소유해야 합니다.
일반 태스크
DROP PROCEDURE 명령을 사용하여 기존의 스토어드 프로시저를 데이터베이스에서 삭제(drop)합니다.

사용량

mycalc()라는 샘플 스토어드 프로시저를 삭제(drop)하려면 다음을 입력하십시오.
   system(admin)=> DROP PROCEDURE mycalc();