DROP PROCEDURE 명령
DROP PROCEDURE 명령을 사용하여 기존의 스토어드 프로시저를 데이터베이스에서 제거합니다.
요약
DROP PROCEDURE <name> (<arguments>)
입력
DROP PROCEDURE 명령의
입력은 다음과 같습니다.
| 입력 | 설명 |
|---|---|
| 이름 | 삭제(drop)하려는 스토어드 프로시저의 이름입니다. 프로시저가 연결된 데이터베이스에
정의되어 있어야 합니다. 여러 스키마를 지원하는 시스템의 경우, schema.procedure 형식으로 이름을 지정하여 현재 데이터베이스의 다른 스키마에서 프로시저를 삭제(drop)할 수 있습니다. 다른 데이터베이스의 프로시저는 삭제(drop)할 수 없습니다. |
| 인수 | 스토어드 프로시저를 고유하게 식별하는 입력 인수 목록입니다. |
출력
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();