DROP문
DROP문은 오브젝트를 삭제합니다. 직간접적으로 해당 오브젝트에 종속되는 모든 오브젝트는 삭제되거나 작동 불능 상태가 됩니다. 오브젝트를 삭제하면, 해당 설명이 카탈로그에서 삭제되고 오브젝트를 참조하는 모든 패키지가 무효화됩니다.
호출
이 명령문은 애플리케이션 프로그램에 임베드되거나 동적 SQL문을 사용하여 실행할 수 있습니다. 이는 DYNAMICRULES 실행 동작이 패키지에 영향을 주는 경우에만 동적으로 준비될 수 있는 실행문입니다(SQLSTATE 42509).
권한 부여
- 오브젝트의 스키마에 대한 DROPIN 특권
- 오브젝트 소유자, 오브젝트에 대한 카탈로그 뷰의 OWNER 컬럼에 기록된 바와 같음
- 오브젝트에 대한 CONTROL 특권(인덱스, 인덱스 스펙, 별칭, 패키지, 테이블, 뷰에만 적용 가능)
- 사용자 정의 유형의 소유자, SYSCAT.DATATYPES 카탈로그 뷰의 OWNER 컬럼에 기록된 바와 같음(사용자 정의 유형과 연관된 메소드 삭제 시에만 적용 가능)
- 오브젝트의 스키마에 대한 SCHEMAADM 권한
- DBADM 권한
테이블 또는 뷰 계층 구조를 삭제하는 경우, 명령문의 권한 부여 ID가 보유한 특권에는 해당 계층 구조의 모든 테이블 또는 뷰에 대하여 이전에 언급된 특권 중 하나가 있어야 합니다.
감사 정책을 삭제하는 경우, 명령문의 권한 부여 ID가 보유한 특권에는 SECADM 권한이 있어야 합니다.
버퍼 풀, 데이터베이스 파티션 그룹, 스토리지 그룹 또는 테이블스페이스를 삭제하는 경우, 명령문의 권한 부여 ID가 보유한 특권에 SYSADM 또는 SYSCTRL 권한이 있어야 합니다.
데이터 유형 맵핑, 기능 맵핑, 서버 정의 또는 랩퍼를 삭제하는 경우, 명령문의 권한 부여 ID가 보유한 특권에 DBADM 권한이 있어야 합니다.
이벤트 모니터를 삭제하는 경우, 명령문의 권한 부여 ID가 보유한 특권에 SQLADM 또는 DBADM 권한이 있어야 합니다.
역할을 삭제하는 경우, 명령문의 권한 부여 ID가 보유한 특권에 SECADM 권한이 있어야 합니다.
행 권한 또는 컬럼 마스크를 삭제하는 경우, 명령문의 권한 부여 ID가 보유한 특권에 SECADM 권한이 있어야 합니다.
스키마를 삭제하는 경우, 명령문의 권한 부여 ID가 보유한 특권에 DBADM 권한이 있거나, SYSCAT.SCHEMATA 카탈로그 뷰의 OWNER 컬럼에 기록된 바와 같이 스키마 소유자여야 합니다.
보안 레이블, 보안 레이블 구성요소 또는 보안 정책을 삭제하는 경우, 명령문의 권한 부여 ID가 보유한 특권에 SECADM 권한이 있어야 합니다.
서비스 클래스, 작업 조치 세트, 작업 클래스 세트, 워크로드, 임계값 또는 막대 그래프 템플리트를 삭제할 때, 명령문의 권한 부여 ID가 보유하는 특권은 WLMADM 또는 DBADM 권한을 포함해야 합니다.
- 연관된 실행기록 테이블을 삭제하기 위한 특권
- 관리 권한
변형을 삭제하는 경우, 명령문의 권한 부여 ID가 보유한 특권에 DBADM 권한이 있거나 type-name의 소유자여야 합니다.
신뢰할 수 있는 컨텍스트를 삭제하는 경우, 명령문의 권한 부여 ID가 보유한 특권에 SECADM 권한이 있어야 합니다.
이벤트 모니터 또는 사용 목록을 삭제하는 경우, 명령문의 권한 부여 ID가 보유한 특권에 SQLADM 또는 DBADM 권한이 있어야 합니다.
사용자 맵핑을 삭제하는 경우, 명령문의 권한 부여 ID가 보유한 특권에 DBADM 권한이 있어야 합니다(해당 권한 부여 ID가 맵핑 내의 페더레이티드 데이터베이스 권한 부여 이름과 다른 경우). 그렇지 않은 경우, 권한 부여 ID 및 권한 부여 이름이 일치하면 권한이나 특권이 필요하지 않습니다.
구문
- 1 Index-name can be the name of either an index or an index specification.
- 2 For compatibility with Netezza, you can change the order of IF EXISTS and table-name.
설명
- 별명 지정자
- 별칭 별칭 이름
- 삭제할 별명을 식별합니다. alias-name은 카탈로그(SQLSTATE 42704)에서 설명된 별명을 식별해야 합니다. 지정된 별명이 삭제됩니다.
- FOR TABLE, FOR MODULE 또는 FOR SEQUENCE
- 별명에 대한 오브젝트 유형을 지정합니다.
- FOR TABLE
- 별명은 테이블, 뷰 또는 별칭용입니다.
- FOR MODULE
- 모듈에 대한 별명입니다.
- FOR SEQUENCE
- 별명은 시퀀스용입니다.
별명을 참조하는 모든 뷰 및 트리거는 사용 불가능 상태가 됩니다. 여기에는 CREATE TRIGGER문의 ON 절과 트리거 SQL문에 있는 별명 참조가 모두 포함됩니다. 별명을 참조한 모든 구체화된 쿼리 테이블 또는 스테이징 테이블이 삭제됩니다.
PUBLIC이 지정되면, alias-name은 현재 서버(SQLSTATE 42704)에 존재하는 공용 별명(SQLSTATE 428EK)을 식별해야 합니다.
별명이 행 권한 또는 컬럼 마스크의 정의에서 참조되는 경우, 별명을 삭제할 수 없습니다(SQLSTATE 42893).
- AUDIT POLICY policy-이름
- 삭제할 감사 정책을 식별합니다. policy-name은 현재 서버에 존재하는 감사 정책을 식별해야 합니다(SQLSTATE 42704). 감사 정책은 어떤 데이터베이스 오브젝트와도 연결되어서는 안됩니다(SQLSTATE 42893). 지정된 감사 정책이 카탈로그에서 삭제됩니다.
- BUFFERPOOL 버퍼 풀 이름
- 삭제할 버퍼 풀을 식별합니다. bufferpool-name은 카탈로그에 설명된 버퍼 풀을 식별해야 합니다(SQLSTATE 42704). 버퍼 풀에 지정된 테이블스페이스가 없을 수도 있습니다(SQLSTATE 42893). IBMDEFAULTBP 버퍼 풀을 삭제할 수 없습니다(SQLSTATE 42832). 버퍼 풀 메모리는 즉시 릴리스됩니다.
- 데이터베이스 파티션 그룹 db-partition-group-name
- 삭제할 데이터베이스 파티션 그룹을 식별합니다. db-partition-group-name 매개변수는
카탈로그에 설명된 데이터베이스 파티션 그룹을 식별해야 합니다(SQLSTATE 42704). 이는 한 부분의 이름입니다.
데이터베이스 파티션 그룹 삭제는 데이터베이스 파티션 그룹에 정의된 모든 테이블스페이스를 삭제합니다. 테이블스페이스의 테이블에 종속 항목이 있는 모든 기존 데이터베이스 오브젝트(예: 패키지, 참조 제한조건 등)는 삭제되거나 무효화되며(해당하는 경우), 종속 뷰 및 트리거는 작동 불능 상태가 됩니다.
IBMCATGROUP, IBMDEFAULTGROUP, IBMTEMPGROUP 데이터베이스 파티션 그룹은 삭제할 수 없습니다(SQLSTATE 42832).
DROP DATABASE PARTITION GROUP문이 현재 데이터 재배포 중인 데이터베이스 파티션 그룹에 반하여 발행되는 경우, 데이터베이스 파티션 그룹 삭제 연산은 실패하며 오류가 리턴됩니다(SQLSTATE 55038). 그러나 부분적으로 재배포된 데이터베이스 파티션 그룹은 삭제할 수 있습니다. REDISTRIBUTE DATABASE PARTITION GROUP 명령어 실행이 완료되지 않은 경우 데이터베이스 파티션 그룹이 부분적으로 재배포될 수 있습니다. 이는 오류나 FORCE APPLICATION ALL 명령에 의해 인터럽트된 경우에 발생할 수 있습니다. (부분적으로 재배포된 데이터베이스 파티션 그룹의 경우, SYSCAT.DBPARTITIONGROUPS 카탈로그의 REDISTRIBUTE_PMAP_ID는 -1이 아닙니다.)
- EVENT MONITOR 이벤트 모니터 이름
- 삭제할 이벤트 모니터를 식별합니다. event-monitor-name은 카탈로그에서 설명된 이벤트 모니터를 식별해야 합니다(SQLSTATE 42704).
식별된 이벤트 모니터가 활성이면 오류가 리턴됩니다(SQLSTATE 55034). 아니면 이벤트 모니터가 삭제됩니다. 이벤트 모니터가 SET EVENT MONITOR STATE문을 사용하여 이전에 활성화된 경우, 그리고 데이터베이스가 비활성화되어 연속적으로 재활성화된 경우, SET EVENT MONITOR STATE문을 사용하여 이벤트 모니터를 비활성화한 후 DROP문을 발행하십시오.
삭제되는 중인 WRITE TO FILE 이벤트 모니터의 대상 경로에 이벤트 파일이 있는 경우, 해당 이벤트 파일은 삭제되지 않습니다. 그러나, 동일한 대상 경로를 지정한 새 이벤트 모니터가 작성된 경우에는 이벤트 파일이 삭제됩니다.
WRITE TO TABLE 이벤트 모니터를 삭제하는 경우, 테이블 정보는 SYSCAT.EVENTTABLES 카탈로그 뷰에서 제거되나, 테이블 자체는 삭제되지 않습니다.
함수 지정자 - 삭제할
사용자 정의 함수(완전한 함수 또는 함수 템플리트)의 인스턴스를 식별합니다. 자세한 정보는 함수, 메소드 및 프로시저 지정자를 참조하십시오.지정된 함수 인스턴스는 카탈로그에 설명된 사용자 정의 함수이어야 합니다. 다음 함수는 삭제할 수 없습니다.
- CREATE TYPE문에 의해 내재적으로 생성된 함수(SQLSTATE 42917)
- SYSIBM, SYSFUN, SYSIBMADM 또는 SYSPROC 스키마의 함수(SQLSTATE 42832)
- 행 권한 또는 컬럼 마스크의 정의에서 참조된 함수(SQLSTATE 42893)
- 생성된 컬럼 표현식 또는 검사 제한조건에서 참조된 함수(SQLSTATE 42893)
- RESTRICT
- RESTRICT 키워드는 다음 종속 항목이 존재하는 경우에 함수가 삭제되지 않는다는 규칙을 적용합니다.
- 또 다른 함수는 이 함수에서 얻습니다.
- 또 다른 루틴은 이 함수를 사용합니다.
- 뷰는 이 함수를 사용합니다.
- 트리거는 이 함수를 사용합니다.
- 구체화된 쿼리 테이블은 해당 정의 내에서 이 함수를 사용합니다.
이 경우, 다음 고려사항을 적용하십시오.- 다른 오브젝트가 함수에 종속될 수 있습니다. 함수를 삭제하기 전에 이러한 모든 종속 항목을 제거해야 합니다(작동 불능이라고 표시된 패키지는 제외). 이러한
종속 항목이 있는 함수를 삭제하려는 시도는 오류를 야기합니다(SQLSTATE 42893). 이 종속성 목록에 대하여는
규칙
섹션을 참조하십시오. 함수가 삭제될 수 있는 경우라면 삭제됩니다. - 삭제할 특정 함수에 종속된 모든 패키지는 작동 불능으로 표시됩니다. 이러한 패키지는 내재적으로 리바인드되지 않습니다. BIND 또는 REBIND 명령을 사용하여 리바인드되거나, PREP 명령을 사용하여 재준비되어야 합니다.
- 함수 매핑 함수 매핑 이름
- 삭제할 함수 맵핑을 식별합니다. function-mapping-name은 카탈로그에 설명된 사용자 정의 함수 맵핑을 식별해야 합니다(SQLSTATE 42704). 함수 맵핑은 데이터베이스에서 삭제됩니다.
기본 함수 맵핑은 삭제할 수 없으나, CREATE FUNCTION MAPPING문을 사용하여 사용하지 않을 수 있습니다. 기본 함수 맵핑을 겹쳐쓰기 위해 작성했던 사용자 정의 함수 맵핑을 삭제하면 기본 함수 맵핑이 복구됩니다.
삭제된 함수 맵핑에 종속되어있던 패키지는 무효화됩니다.
- 막대 그래프 템플리트 template-name
- 삭제할 막대 그래프 템플리트를 식별합니다. template-name은 현재 서버에 존재하는 막대 그래프 템플리트를 식별해야 합니다(SQLSTATE 42704). template-name은 SYSDEFAULTHISTOGRAM이 될 수 없습니다(SQLSTATE 42832). 서비스 클래스 또는 작업 조치가 막대 그래프 템플리트에 종속된 경우, 막대 그래프 템플리트를 삭제할 수 없습니다(SQLSTATE 42893). 지정된 막대 그래프 템플리트가 카탈로그에서 삭제됩니다.
- INDEX index-name
- 삭제할 인덱스 또는 인덱스 스펙을 식별합니다. index-name은 카탈로그에 설명된 인덱스
또는 인덱스 스펙을 식별해야 합니다(SQLSTATE 42704). 기본 키 또는 고유 제한조건, 복제된 구체화된 쿼리 테이블, 또는 XML
컬럼에 대한 시스템에 필요한 것은 인덱스가 될 수 없습니다(SQLSTATE 42917). 지정된 인덱스 또는 인덱스 스펙이 삭제됩니다.
시스템 인덱스로 분류되더라도 수정 상태 인덱스(mod 상태 인덱스로도 알려짐)를 삭제할 수 있습니다. 이전 수정팩 레벨로 쉽게 롤백하기 위해 수정 상태 인덱스의 삭제가 지원됩니다. 수정 상태 인덱스가 존재하는 경우 테이블에서 마지막 사용자 인덱스를 삭제하면 수정 상태 인덱스가 내재적으로 삭제됩니다.
삭제된 인덱스 또는 인덱스 스펙에 종속된 패키지는 무효화됩니다.
- 인덱스 확장 인덱스 확장 이름 제한
- 삭제할 인덱스 확장자를 식별합니다. index-extension-name은 카탈로그에서 설명된 인덱스 확장을 식별해야 합니다(SQLSTATE 42704). RESTRICT 키워드는 인덱스는 해당 인덱스 확장자 정의에 따라 정의될 수 없다는 규칙을 적용합니다(SQLSTATE 42893).
- 마스크 마스크 이름
- 삭제할 컬럼 마스크를 식별합니다. 현재 서버에 존재하는 컬럼 마스크를 식별해야 합니다(SQLSTATE 42704). 메소드 지정자
- 삭제할
메소드 본문을 식별합니다. 자세한 정보는 함수, 메소드 및 프로시저 지정자를 참조하십시오. 지정된 메소드 본문은
카탈로그에 설명된 메소드여야 합니다(SQLSTATE 42704). CREATE TYPE문에 의하여 내재적으로
생성된 메소드 본문은 삭제할 수 없습니다.
DROP METHOD는 메소드의 본문을 삭제하나, 메소드 스펙(서명)은 주제 유형의 정의 중 일부로 남습니다. 메소드의 본문을 삭제한 후, ALTER TYPE DROP METHOD를 통해 메소드 스펙을 주제 유형 정의에서 제거할 수 있습니다.
- RESTRICT
- RESTRICT 키워드는 다음 종속 항목이 존재하는 경우에는 메소드가 삭제되지 않는다는 규칙을 적용합니다.
- 함수는 이 메소드에서 얻습니다.
- 또 다른 루틴은 이 메소드를 사용합니다.
- 뷰는 이 메소드를 사용합니다.
- 트리거는 이 메소드를 사용합니다.
- 구체화된 쿼리 테이블은 해당 정의 내에서 이 메소드를 사용합니다.
이 경우, 다음 고려사항을 적용하십시오.- 다른 오브젝트가 메소드에 종속될 수 있습니다. 메소드를 삭제하기 전에 이러한 모든 종속 항목을 제거해야 합니다(삭제가 성공한 경우 작동 불능이라고 표시된 패키지는 제외). 이러한 종속 항목이 있는 메소드를 삭제 하려는 시도는 오류를 야기합니다(SQLSTATE 42893). 메소드가 삭제될 수 있는 경우라면 삭제됩니다.
- 삭제할 특정 메소드에 종속된 모든 패키지는 작동 불능으로 표시됩니다. 이러한 패키지는 내재적으로 리바인드되지 않습니다. BIND 또는 REBIND 명령을 사용하여 리바인드되거나, PREP 명령을 사용하여 재준비되어야 합니다.
삭제할 특정 메소드가 또 다른 메소드를 겹쳐쓰는 경우, 겹쳐써진 메소드(및 삭제할 특정 메소드의 수퍼 유형에 있는 이 메소드를 겹쳐쓰는 메소드)에 종속된 모든 패키지는 무효화됩니다.
- 모듈 module-name
- 삭제할 모듈을 식별합니다. module-name은 현재 서버에 존재하는
모듈을 식별해야 합니다(SQLSTATE 42704). 지정된 이름은
모듈에 대한 별명이 아니어야 합니다(SQLSTATE 560CT). 이 지정된 모듈은 스키마에서 삭제되며 여기에는 모든 모듈 오브젝트가
포함됩니다. 모듈의 모든 특권도 삭제됩니다.
모듈이 행 권한 또는 컬럼 마스크의 정의에 참조된 경우, 모듈을 삭제할 수 없습니다(SQLSTATE 42893).
- 별칭 별칭
- 삭제할 별칭을 식별합니다. 별칭은 카탈로그에 나열되어야 합니다(SQLSTATE 42704). 별칭이 데이터베이스에서 삭제됩니다.
별칭과 연관된 컬럼 및 인덱스에 대한 모든 정보가 카탈로그에서 삭제됩니다. 별칭에 종속된 모든 구체화된 쿼리 테이블이 삭제됩니다. 별칭에 종속된 모든 인덱스 스펙이 삭제됩니다. 별칭에 종속된 모든 뷰는 작동 불능 상태가 됩니다. 삭제된 인덱스 스펙 또는 작동 불능 뷰에 종속된 모든 패키지는 무효화됩니다. 별칭이 참조하는 데이터 소스 테이블은 영향을 받지 않습니다.
SQL 함수 또는 메소드가 별칭에 종속적이면 해당 별칭은 삭제할 수 없습니다(SQLSTATE 42893).
- 패키지 package-name
- 삭제할 패키지를 식별합니다. 패키지는 카탈로그에
설명된 패키지를 식별해야 합니다(SQLSTATE 42704). 지정된 패키지가 삭제됩니다. 삭제 중인 패키지가
package-name이 식별한 패키지에만 해당하는 경우(즉, 다른 버전이 없는 경우), 패키지의 모든 특권이 삭제됩니다.
- 버전 version-id
- 삭제할 패키지 버전을 식별합니다. 값이 지정되지 않으면, 버전이 비어 있는 문자열의 기본값으로 설정됩니다. 다중 패키지에 동일한 패키지 이름이 있으나 다른 버전이 존재하는 경우,
DROP문 호출 당 하나의 패키지 버전만 삭제할 수 있습니다. 다음의 경우, 버전 ID를 큰따옴표로 구분합니다.
- VERSION(AUTO) 프리컴파일러 옵션에서 생성
- 숫자로 시작함
- 소문자를 포함하거나 대소문자를 혼용함
- 권한 권한 이름
- 삭제할 행 권한을 식별합니다. 이름은 현재 서버에 존재하는 행 권한을 식별해야 합니다(SQLSTATE 42704). 이름은 데이터베이스 관리자에 의하여 내재적으로 작성됐던 기본 행 권한을 식별해서는 안됩니다(SQLSTATE 42917). 프로시저 지정자
- 삭제할
프로시저의 인스턴스를 식별합니다. 자세한 정보는 함수, 메소드 및 프로시저 지정자를 참조하십시오. 지정된 프로시저 인스턴스는
카탈로그에 설명된 프로시저이어야 합니다. SYSIBM, SYSFUN, SYSIBMADM,
또는 SYSPROC 스키마에 있는 프로시저는 삭제할 수 없습니다(SQLSTATE 42832).
- RESTRICT
- RESTRICT 키워드는 트리거 정의 또는 SQL 루틴 정의에 프로시저를 식별하는 CALL이 있는 경우
프로시저가 삭제되는 것을 예방합니다.다음 조건이 충족되는 경우, 제한 규칙은 버전 9.5의 경우와 같이 동일한 종속 항목에 대하여 기본적으로 적용됩니다.
- auto_reval 데이터베이스 구성 매개변수가 사용 안함으로 설정되었습니다.
- 인라인 트리거 정의, 인라인 SQL 함수 정의 또는 인라인 SQL 메소드 정의에 프로시저를 식별하는 CALL문이 있는 경우
SYSIBM, SYSFUN 또는 SYSPROC 스키마에 있는 프로시저는 삭제할 수 없습니다(SQLSTATE 42832).
- ROLE 역할 이름
- 삭제할 역할을 식별합니다. role-name은 현재 서버에 이미 존재하는 역할을 식별해야
합니다(SQLSTATE 42704). 역할에 루틴에 대한 EXECUTE 특권이나 시퀀스에 대한 USAGE 특권이 있고,
패키지가 아닌 SQL 오브젝트가 루틴 또는 시퀀스에 종속정인 경우,
role-name 은 role-name이 포함된 역할을
식별하면 안됩니다(SQLSTATE 42893). SQL 오브젝트의 소유자는
authorization-name이거나
authorization-name의 멤버인 사용자입니다. 여기서
authorization-name은 역할입니다. 삭제할 역할에 대하여 다음 조건 중 하나라도 참인 경우, DROP ROLE문은 실패합니다(SQLSTATE 42893).
- 연결 속성 SESSION_USER ROLE에 대한 값 중 하나가 role-name인 워크로드가 존재하는 경우
- role-name을 사용하는 신뢰할 수 있는 컨텍스트가 존재하는 경우
지정된 역할이 카탈로그에서 삭제된 경우
- 스키마 스키마 이름 제한
- 삭제할 특정 스키마를 식별합니다. schema-name은
카탈로그에 설명된 스키마를 식별해야 합니다(SQLSTATE 42704).
- RESTRICT
- RESTRICT 키워드는 데이터베이스에서 삭제할 스키마에 대해 지정된 스키마에 오브젝트를 정의할 수 없다는 규칙을 적용합니다(SQLSTATE 42893).
- 보안 레이블 security-label-name
- 삭제할 보안 레이블을 식별합니다. 이름은 보안 정책으로 자격이 부여되어야 하며(SQLSTATE 42704) 현재 서버에 존재하는 보안 레이블을 식별해야 합니다(SQLSTATE 42704).
- RESTRICT
- 기본값인 이 옵션은 다음 종속 항목 중 하나라도 존재하는 경우 보안 레이블이 삭제되는 것을
예방합니다(SQLSTATE 42893).
- 하나 또는 여러 authorization IDs가 읽기 액세스에 대한 보안 레이블을 현재 보유한 경우
- 하나 또는 여러 authorization IDs가 쓰기 액세스에 대한 보안 레이블을 현재 보유한 경우
- 보안 레이블이 하나 또는 여러 컬럼을 보호하기 위해 사용되는 중인 경우
- 보안 레이블 구성요소 sec-label-comp-name
- 삭제할 보안 레이블 구성요소를 식별합니다. sec-label-comp-name은 카탈로그에 설명된 보안 레이블 구성요소를 식별해야 합니다(SQLSTATE 42704).
- RESTRICT
- 기본값인 이 옵션은 다음 종속 항목 중 하나라도 존재하는 경우 보안 레이블 구성요소가 삭제되는 것을 예방합니다(SQLSTATE 42893).
- 보안 레이블 구성요소를 포함하는 하나 또는 여러 보안 정책이 현재 정의됨
- 보안 정책 security-policy-name
- 삭제할 보안 정책을 식별합니다. security-policy-name 은 현재 서버에 존재하는 보안 정책을 식별해야 합니다(SQLSTATE 42704).
- RESTRICT
- 기본값인 이 옵션은 다음 종속 항목 중 하나라도 존재하는 경우 보안 정책이 삭제되는 것을 예방합니다(SQLSTATE 42893).
- 하나 이상의 테이블이 이 보안 정책에 연결됨
- 하나 또는 여러 authorization IDs가 해당 보안 정책의 규칙 중 하나를 면제받는 경우
- 해당 보안 정책에 하나 또는 여러 보안 레이블이 정의된 경우
- 시퀀스 sequence-name
- 삭제할 특정 시퀀스를 식별합니다. sequence-name은 내재적 또는 명시적 스키마 이름에 따라,
현재 서버에 존재하는 시퀀스를 식별해야 합니다. 내재적 또는 명시적으로 지정된 스키마에 해당 이름으로 시퀀스가 존재하지 않으면 오류가 리턴됩니다(SQLSTATE 42704).
- RESTRICT
- RESTRICT 키워드는 다음 종속 항목 중 하나라도 존재하는 경우 시퀀스가 삭제되는 것을 예방합니다.
- 트리거 내용에서 NEXT VALUE 또는 PREVIOUS VALUE 표현식이 시퀀스를 지정하는 트리거가 존재합니다(SQLSTATE 42893).
- 루틴 본문에서 NEXT VALUE 표현식이 시퀀스를 지정하는 SQL 루틴이 존재합니다(SQLSTATE 42893).
다음 조건이 충족되는 경우, 제한 규칙은 버전 9.5의 경우와 같이 동일한 종속 항목에 대하여 기본적으로 적용됩니다.- auto_reval 데이터베이스 구성 매개변수가 사용 안함으로 설정되었습니다.
- 인라인 트리거 정의, 인라인 SQL 함수 정의 또는 인라인 SQL 메소드 정의가 시퀀스를 참조하는 경우
- SERVER 서버 이름
- 카탈로그에서 삭제될 정의의 데이터 소스를 식별합니다. server-name은 카탈로그에 설명된
데이터 소스를 식별해야 합니다(SQLSTATE 42704). 데이터 소스의 정의가
삭제됩니다.
데이터 소스에 상주하는 테이블 및 뷰에 대한 모든 별칭이 삭제됩니다. 해당 별칭에 종속된 모든 인덱스 스펙이 삭제됩니다. 삭제된 서버 정의에 종속된 모든 사용자 정의 함수 맵핑, 사용자 정의 유형 맵핑, 사용자 맵핑도 삭제됩니다. 삭제된 서버 정의, 함수 맵핑, 별칭, 인덱스 스펙에 종속된 모든 패키지가 무효화됩니다. 서버 정의에 종속된 모든 페더레이티드 프로시저도 삭제됩니다.
서비스 클래스 지정자 - SERVICE CLASS service-class-name
- 삭제할 서비스 클래스를 식별합니다. service-class-name은 카탈로그에 설명된
서비스 클래스를 식별해야 합니다(SQLSTATE 42704). 서비스 서브클래스를 삭제하려면
service-superclass-name을 UNDER 절을 사용하여 지정해야 합니다.
- UNDER 서비스 수퍼 클래스 이름
- 서비스 서브클래스 삭제 시 서비스 서브클래스의 서비스 수퍼 클래스를 지정합니다. service-superclass-name은 카탈로그에 설명된 서비스 수퍼 클래스를 식별해야 합니다(SQLSTATE 42704).
- RESTRICT
- RESTRICT 키워드는 다음 종속 항목 중 하나라도 존재하는 경우에 서비스
클래스가 삭제되지 않는다는 규칙을 적용합니다.
- 서비스 클래스가 서비스 서브클래스이며 서비스 클래스에 맵핑하는 작업 조치가 있습니다(SQLSTATE 5U031). 작업 조치를 가장 먼저 삭제해야 합니다.
- 서비스 클래스가 임계값에 있는 REMAP ACTIVITY 조치의 대상입니다(SQLSTATE 5U031). 임계값을 변경하여 다른 서비스 서브클래스가 REMAP ACTIVITY 조치의 대상이 되도록 설정하거나 임계값을 삭제하십시오.
- 서비스 클래스가 사용 안함 상태가 아닙니다(SQLSTATE 5U031). 서비스 클래스를 가장 먼저 사용 안함 상태로 설정해야 합니다.
- STOGROUP storagegroup-이름
삭제할 스토리지 그룹을 식별합니다. storagegroup-name은 현재 서버에 존재하는 스토리지 그룹을 식별해야 합니다(SQLSTATE 42704). 이는 한 부분의 이름입니다.
- RESTRICT
- RESTRICT 키워드는 해당 스토리지 그룹을 사용하는 테이블스페이스가 존재하는 경우 스토리지 그룹이 삭제되는 것을 예방합니다(SQLSTATE 42893). RESTRICT가 기본 동작입니다.
현재 기본 스토리지 그룹을 삭제할 수 없습니다(SQLSTATE 42893). ALTER STOGROUP문을 사용하여 새 기본값을 지정할 수 있습니다.
데이터베이스 파티션 서버가 추가되는 중에는 DROP STOGROUP문을 실행할 수 없습니다(SQLSTATE 55071).
- 테이블 테이블 이름
삭제할 기본 테이블, 작성된 임시 테이블 또는 선언된 임시 테이블을 식별합니다. table-name 은 카탈로그에서 설명되는 테이블을 식별해야 하거나, 선언된 임시 테이블인 경우 table-name 은 스키마 이름 SESSION으로 규정되어야 하고 애플리케이션에 존재해야 합니다 (SQLSTATE 42704). 유형이 지정된 테이블의 서브 테이블은 수퍼 테이블에 종속되어 있습니다. 서브 테이블을 모두 삭제해야 수퍼 테이블을 삭제할 수 있습니다(SQLSTATE 42893). table-name은 카탈로그 테이블(SQLSTATE 42832) 또는 시스템 기간 시간 테이블과 연결된 실행기록 테이블을 식별하면 안됩니다(SQLSTATE 42893). 지정된 테이블이 데이터베이스에서 삭제됩니다.
테이블에 정의된 모든 인덱스, 기본 키, 외부 키, 행 권한(기본 행 권한 포함), 컬럼 마스크, 검사 제한조건, 구체화된 쿼리 테이블, 스테이징 테이블이 삭제됩니다. 테이블을 참조한 모든 뷰 및 트리거가 작동 불능 상태가 됩니다. 여기에는 CREATE TRIGGER문의 ON 절에서 참조된 테이블과 트리거 SQL문에서 참조된 모든 테이블이 포함됩니다. 삭제되거나 작동 불능 상태로 표시된 오브젝트에 종속되는 모든 패키지는 유효하지 않음으로 표시됩니다. 여기에는 계층 구조에서 서브 테이블 위에 수퍼 테이블에 종속된 패키지가 포함됩니다. 삭제된 테이블이 참조 범위로 정의된 모든 참조 컬럼은 범위가 지정되지 않은 상태가 됩니다.
패키지는 선언된 임시 테이블에 종속되지 않으므로 테이블 삭제될 때 무효화되지 않습니다. 그러나 패키지는 작성된 임시 테이블에 종속되며 테이블이 삭제되면 무효화됩니다.
페더레이티드 시스템의 경우, 투명성 DDL을 사용하여 작성됐던 원격 테이블은 삭제할 수 있습니다. 원격 테이블을 삭제하면 해당 테이블과 연결된 별칭도 삭제되며 해당 별칭에 종속된 모든 패키지가 무효화됩니다.
서브 테이블이 테이블 계층에서 삭제되면, 컬럼 수와 행 크기에 대한 한계를 계속 준수하더라도 서브 테이블과 연관된 컬럼에 더 이상 액세스할 수 없습니다. 서브 테이블을 삭제하면 서브 테이블 모든 행이 서브 테이블에서 삭제됩니다. 이로 인해 수퍼 테이블에 정의된 트리거나 참조 무결성 제한조건이 활성화될 수 있습니다.
작성된 임시 테이블 또는 선언된 임시 테이블이 삭제되고 해당 작성이 활성 작업 단위나 세이브포인트를 앞세우면, 테이블이 기능적으로 삭제되고 애플리케이션이 테이블에 액세스할 수 없게 됩니다. 그러나, 작업 단위가 커미트되거나 세이브포인트가 종료될 때까지, 테이블은 테이블스페이스에 공간을 계속 보유하게 되고 USER TEMPORARY 테이블스페이스가 삭제되지 않도록 예방하거나 USER TEMPORARY 테이블스페이스의 데이터베이스 파티션 그룹이 재분배되지 않도록 예방하게 됩니다. 작성된 임시 테이블 또는 선언된 임시 테이블을 삭제하면 DROP이 커미트되거나 롤백되는지 여부와 관계없이 테이블의 데이터가 파괴됩니다.
table-name이 시스템 기간 시간 테이블인 경우, 연관된 실행기록 테이블과 실행기록 테이블 에 정의된 모든 인덱스도 삭제됩니다. 시스템 기간 시간 테이블을 삭제하려면, 특권 설정에 실행기록 테이블을 삭제할 권한이 있어야 합니다(SQLSTATE 42501).
시스템 기간 시간 테이블과 연결된 실행기록 테이블은 DROP문을 사용하여 명시적으로 삭제할 수 없습니다(SQLSTATE 42893). 연관된 시스템 기간 시간 테이블이 삭제되면 실행기록 테이블이 내재적으로 삭제됩니다.
테이블은 RESTRICT ON DROP 속성이 있을 때는 삭제할 수 없습니다.
새로 분리된 테이블은 처음에는 액세스가 불가능합니다. 이는 MQT를 증분적으로 새로 고침 하거나 외부 키 제한조건 처리를 완료하기 위해 SET INTEGRITY문이 실행될 때까지 테이블을 읽거나 수정하거나 삭제되는 것을 예방하기 위함입니다. SET INTEGRITY문이 모든 종속 테이블에 대해 실행되면 테이블에 완전히 액세스할 수 있으며 테이블의 분리된 속성이 재설정되고 테이블을 삭제할 수 있게 됩니다.
테이블이 삭제되면 기본 행 권한을 포함한 행 권한과 테이블에 작성된 컬럼 마스크도 모두 삭제됩니다.
테이블이 행 권한 또는 컬럼 마스크의 정의에서 참조되는 경우, 테이블을 삭제할 수 없습니다(SQLSTATE 42893).
- IF EXISTS
- 지정된 테이블 이름이 현재 데이터베이스 및 스키마에 존재하지 않는 경우 오류 메시지가 표시되지 않도록 지정합니다.
- 테이블 계층 구조 root-table-name
- 삭제할 유형이 지정된 테이블 계층 구조를 식별합니다. root-table-name은 유형이 지정된 테이블
계층 구조에서 루트 테이블인 유형이 지정된 테이블을 식별해야 합니다(SQLSTATE 428DR). root-table-name이 식별한 유형이 지정된
테이블 및 모든 서브 테이블이 데이터베이스에서 삭제됩니다.
삭제된 테이블을 참조하는 모든 인덱스, 구체화된 쿼리 테이블, 스테이징 테이블, 기본 키, 외부 키, 검사 제한조건이 삭제됩니다. 삭제된 테이블을 참조하는 모든 뷰 및 트리거는 작동 불능 상태가 됩니다. 삭제되거나 작동 불능 상태로 표시된 오브젝트에 종속되는 모든 패키지는 무효화됩니다. 삭제된 테이블 중 하나가 참조 범위로 정의된 모든 참조 컬럼은 범위가 지정되지 않은 상태가 됩니다.
단일 서브 테이블 삭제와 다르게, 테이블 계층 삭제는 계층 구조에 있는 테이블의 트리거 삭제의 활성화를 야기하지도, 삭제된 행을 로그하지도 않습니다.
- TABLESPACE 또는 TABLESPACES tablespace-name
- 삭제할 테이블스페이스를 식별합니다. tablespace-name은 카탈로그에
설명된 테이블스페이스를 식별해야 합니다(SQLSTATE 42704). 이는 한 부분의 이름입니다. tablespace-name은 연관된 시스템 기간 시간 테이블도 삭제하지 않는 한 실행기록
테이블을 포함한 테이블스페이스를 식별하면 안됩니다(SQLSTATE 42893).
삭제되는 테이블스페이스에 한 부분이라도 저장한 테이블이 있고, 삭제되지 않은 다른 테이블스페이스에 하나 또는 여러 부분이 있는 경우(이 테이블을 먼저 삭제해야 함), 또는 테이블스페이스에 상주하는 테이블에 RESTRICT ON DROP 속성이 있는 경우, 해당 테이블스페이스는 삭제되지 않습니다(SQLSTATE 55024).
이름에 'SYS'가 앞에 붙은 오브젝트는 내장 오브젝트이며, 여기에 SYSTOOLSPACE 및 SYSTOOLSTMPSPACE 테이블스페이스가 있으면 삭제할 수 없습니다(SQLSTATE 42832).
SYSTEM TEMPORARY 테이블스페이스가 데이터베이스에 존재하는 유일한 임시 테이블스페이스인 경우, 이를 삭제할 수 없습니다(SQLSTATE 55026). 작성된 임시 테이블의 인스턴스가 있거나 그 안에 작성된 선언 임시 테이블이 있는 경우 USER TEMPORARY 테이블스페이스를 삭제할 수 없습니다(SQLSTATE 55039). 작성된 임시 테이블이 삭제되더라도 USER TEMPORARY 테이블스페이스는 작성된 임시 테이블의 모든 인스턴스가 삭제될 때까지 계속 사용 중인 것으로 간주됩니다. 작성된 임시 테이블의 인스턴스는 세션이 종료되거나 작성된 임시 테이블이 세션에 참조될 때 삭제됩니다. 작성된 임시 테이블이 삭제되더라도 USER TEMPORARY 테이블스페이스는 DROP TABLE문을 포함하는 작업 단위가 커미트될 때까지 계속 사용 중인 것으로 간주됩니다.
테이블스페이스를 삭제하면 테이블스페이스에 정의된 모든 오브젝트가 삭제됩니다. 테이블스페이스의 테이블에 종속 항목이 있는 모든 기존 데이터베이스 오브젝트(예: 패키지, 참조 제한조건 등)는 삭제되거나 무효화되며(해당하는 경우), 종속 뷰 및 트리거는 작동 불능 상태가 됩니다.
사용자가 작성한 컨테이너는 삭제되지 않습니다. CREATE TABLESPACE 실행 중 데이터베이스 관리자에 의하여 작성된 컨테이너 이름의 경로에 있는 디렉토리가 삭제됩니다. 데이터베이스 디렉토리 아래에 있는 모든 컨테이너가 삭제됩니다. DROP TABLESPACE문이 커미트되면, 가능한 경우 지정된 테이블스페이스에 대한 DMS 파일 컨테이너나 SMS 컨테이너가 삭제됩니다. 컨테이너가 삭제될 수 없는 경우(예를 들어 다른 에이전트에 의하여 열린 상태여서), 파일은 0 길이로 잘립니다. 모든 연결이 종료되거나 DEACTIVATE DATABASE 명령이 발행되면 해당 0 길이 파일이 삭제됩니다.
- 임계값 임계값 이름
- 삭제할 임계값을 식별합니다. threshold-name은 현재 서버에 존재하는 임계값을 식별해야 합니다(SQLSTATE 42704). 이는 한 부분의 이름입니다. 큐가 있는 임계값(예: TOTALSCPARTITIONCONNECTIONS 및 CONCURRENTDBCOORDACTIVITIES)은 삭제 전에 사용하지 않는 상태여야 합니다(SQLSTATE 5U025). 지정된 임계값이 카탈로그에서 삭제됩니다.
- 트리거 트리거 이름
- 삭제할 트리거를 식별합니다. trigger-name은 카탈로그에서 설명된 트리거를 식별해야 합니다(SQLSTATE 42704). 지정된 트리거가 삭제됩니다.
트리거를 삭제하면 일부 패키지가 유효하지 않음으로 표시됩니다.
trigger-name이 뷰에서 INSTEAD OF 트리거를 지정한 경우, 다른 트리거는 뷰에 대한 갱신을 통해 해당 트리거에 종속됩니다.
- type-name 에 대해 모두 변환
- 사용자 정의 데이터 유형 type-name에 정의된
모든 변형 그룹이 삭제됨을 표시합니다. 해당 그룹에 참조된 변형 함수가 삭제됩니다. 동적 SQL문에서 CURRENT SCHEMA 특수 레지스터는 규정되지 않은 오브젝트 이름의 규정자로서 사용됩니다. 정적 SQL문의 경우, QUALIFIER 프리컴파일 또는 바인드 옵션은 내재적으로 규정되지 않은 오브젝트 이름의 규정자를 지정합니다. type-name은
카탈로그에 설명된 사용자 정의 유형을 식별해야 합니다(SQLSTATE 42704).
type-name에 대해 정의된 변형이 없는 경우, 오류가 리턴됩니다(SQLSTATE 42740).
DROP TRANSFORM은 CREATE TRANSFORM의 반대 개념입니다. 이는 제공된 데이터 유형에 대해 변형 함수를 일부 그룹에 연결하여 정의되지 않도록 합니다. 이러한 그룹과 이전에 연결된 함수는 계속 존재하며 명시적으로 계속 호출될 수 있으나, 더 이상 변형 특성은 가질 수 없고 호스트 언어 환경과 값을 교환하기 위해 내재적으로 호출될 수 없습니다.
사용자 정의 유형 type-name에 대해 정의된 그룹의 변형 함수 중에 종속 항목이 있는 SQL이 아닌 언어로 작성된 사용자 정의 함수(또는 메소드)가 있는 경우, 변형 그룹이 삭제되지 않습니다(SQLSTATE 42893). 이러한 함수에는 유형 type-name에 대해 정의된 참조된 변형 그룹과 연결된 변형 함수에 종속 항목이 있습니다. 이름 지정된 변형 그룹과 연결된 변형 함수에 종속된 패키지는 작동 불능으로 표시됩니다.
- 변환 group-name FOR type-name
- 사용자 정의 데이터 유형 type-name에 지정된 변형 그룹이 삭제됨을 표시합니다. 해당 그룹에 참조된 변형 함수는 삭제되지 않습니다. 동적 SQL문에서 CURRENT SCHEMA 특수 레지스터는 규정되지 않은 오브젝트 이름의 규정자로서 사용됩니다. 정적 SQL문의 경우, QUALIFIER 프리컴파일 또는 바인드 옵션은 내재적으로 규정되지 않은 오브젝트 이름의 규정자를 지정합니다. type-name은 카탈로그에 설명된 사용자 정의 유형을 식별해야 하며(SQLSTATE 42704), group-name은 type-name에 대한 기존 변형 그룹을 식별해야 합니다.
- 트리거 트리거 이름
- 삭제할 트리거를 식별합니다. trigger-name은 카탈로그에서 설명된 트리거를 식별해야 합니다(SQLSTATE 42704). 지정된 트리거가 삭제됩니다.
트리거를 삭제하면 일부 패키지가 유효하지 않음으로 표시됩니다.
trigger-name이 뷰에서 INSTEAD OF 트리거를 지정한 경우, 다른 트리거는 뷰에 대한 갱신을 통해 해당 트리거에 종속됩니다.
- TRUSTED CONTEXT 컨텍스트 이름
- 삭제할 신뢰할 수 있는 컨텍스트를 식별합니다. context-name은 현재 서버에 존재하는 신뢰할 수 있는 컨텍스트를 식별해야 합니다(SQLSTATE 42704). 신뢰할 수 있는 컨텍스트가 해당 컨텍스트에 대한 신뢰할 수 있는 연결 중 삭제된 경우, 이 연결은 종료되거나 다음 재사용이 시도될 때까지 신뢰할 수 있음으로 남습니다. 해당 신뢰할 수 있는 연결에 대하여 사용자를 전환하는 시도를 하면 오류가 리턴됩니다(SQLSTATE 42517). 지정된 신뢰할 수 있는 컨텍스트가 카탈로그에서 삭제됩니다.
- TYPE 유형 이름
- 삭제할 사용자 정의 유형을 식별합니다. 동적 SQL문에서 CURRENT SCHEMA 특수 레지스터는 규정되지 않은 오브젝트 이름의 규정자로서 사용됩니다. 정적 SQL문에서 QUALIFIER 프리컴파일 또는 바인드 옵션은 내재적으로 규정되지 않은 오브젝트 이름의
규정자를 지정합니다. 구조화된 유형의 경우, 연관된
참조 유형도 삭제됩니다. type-name은 카탈로그에 설명된
사용자 정의 유형을 식별해야 합니다.
- RESTRICT
- 다음 조건이 참인 경우, 유형이 삭제됩니다(SQLSTATE 42893).
- 유형이 테이블 또는 뷰의 컬럼 유형으로 사용됩니다.
- 유형에 부속 유형이 있습니다.
- 유형이, 유형이 지정된 테이블 또는 유형이 지정된 뷰의 데이터 유형으로 구조화된 유형입니다.
- 유형이 다른 구조화된 유형의 속성입니다.
- 유형이 type-name의 인스턴스를 포함할 수 있는 테이블의 컬럼이 존재합니다. 이는 type-name이 칼럼의 유형이거나 칼럼의 연관된 자료형 계층 내 다른 곳에서 사용되는 경우에 발생할 수 있습니다. 더욱 형식적으로, 모든 유형 T의 경우, 유형이 직간접적으로 type-name을 사용하는 테이블의 칼럼이 존재하는 경우, T를 삭제할 수 없습니다.
- 유형은 테이블 또는 뷰의 참조 유형 컬럼의 대상 유형이거나 다른 구조화된 유형의 참조 유형 속성입니다.
- 유형 또는 유형에 대한 참조는 함수 또는 메소드의 매개변수 유형 또는 리턴 값 유형입니다.
- 유형은 매개변수 유형이거나 SQL 프로시저의 본문에 사용됩니다.
- 유형 또는 유형에 대한 참조는 SQL 함수의 본문에 사용되나, 매개변수 유형 또는 리턴 값 유형은 아닙니다.
- 유형은 검사 제한조건, 트리거, 뷰 정의 또는 인덱스 확장에 사용됩니다.
RESTRICT가 지정되지 않은 경우, 동작은 RESTRICT와 같습니다(유형을 사용하는 함수 및 메소드의 경우는 제외).
제한 규칙은 auto_reval 데이터베이스 구성 매개변수가 사용 안함으로 설정된 경우 버전 9.5와 동일한 종속성에 대해 기본적으로 적용됩니다.
유형을 사용하는 함수: 사용자 정의 유형이 삭제될 수 있어 모든 함수는 F(특정 이름이 있는 경우는 SF)이고, 삭제할 유형의 매개변수나 리턴 값 또는 삭제할 유형에 대한 참조를 가지는 경우, 다음 DROP FUNCTION문이 효과적으로 실행됩니다.DROP SPECIFIC FUNCTION SF이 명령문으로 종속 함수를 연속으로 삭제할 수도 있습니다. 사용자 정의 유형의 종속성으로 인하여 이러한 함수도 모두 삭제 목록에 있는 경우, 사용자 정의 유형의 삭제가 성공합니다(또는 SQLSTATE 42893로 인하여 실패함).
유형을 사용하는 메소드: 사용자 정의 유형이 삭제될 수 있어 모든 메소드는 유형 T1의 M(특정 이름이 있는 경우는 SM)이고, 삭제할 유형의 매개변수나 리턴 값 또는 삭제할 유형에 대한 참조를 가지는 경우, 다음 명령문이 효과적으로 실행됩니다.
이러한 메소드에 종속적인 오브젝트가 존재하면 DROP TYPE 연산이 실패할 수도 있습니다.DROP SPECIFIC METHOD SM ALTER TYPE T1 DROP SPECIFIC METHOD SM삭제할 유형의 수퍼 유형에 정의된 메소드에 종속적이며 겹쳐쓰기 가능한 모든 패키지는 무효화됩니다.
유형이 행 권한 또는 컬럼 마스크의 정의에 참조된 경우, 유형을 삭제할 수 없습니다(SQLSTATE 42893).
- 유형 맵핑 type-mapping-name
- 삭제할 사용자 정의 데이터 유형 맵핑을 식별합니다. type-mapping-name은 카탈로그에서 설명된 데이터 유형 맵핑을 식별해야 합니다(SQLSTATE 42704). 데이터 유형 맵핑이 데이터베이스에서 삭제됩니다.
추가적인 오브젝트는 삭제되지 않습니다.
- USAGE LIST 사용 목록 이름
- 삭제할 사용 목록을 식별합니다. usage-list-name은 카탈로그에 설명된 사용 목록을 식별해야 하며, 여기에는 내재적 또는 명시적 규정자가 포함됩니다(SQLSTATE 42704). 사용 목록에 할당된 메모리가 릴리스되며 이는 트랜잭션 제어가 불가능합니다.
- | USER SERVER server-name 에 대한 사용자 맵핑
- 삭제할 사용자 맵핑을 식별합니다. 이 맵핑은 페더레이티드 데이터베이스를 액세스하기 위해 사용되는
권한 부여 이름과 데이터 소스를 액세스하기 위해 사용되는 권한 부여 이름을 연결합니다. 이 두 권한 부여 이름 중 첫 번째 것은
authorization-name으로 식별되거나 특수 레지스터 USER로 참조됩니다. server-name은 두 번째
권한 부여 이름이 액세스에 사용되는 데이터 소스를 식별합니다.
authorization-name은 카탈로그에 나열되어야 합니다(SQLSTATE 42704). server-name은 카탈로그에 설명된 데이터 소스를 식별해야 합니다(SQLSTATE 42704). 사용자 맵핑이 삭제됩니다.
추가적인 오브젝트는 삭제되지 않습니다.
- VARIABLE 변수 이름
- 삭제할 전역 변수를 식별합니다. variable-name은 현재
서버에 존재하는 전역 변수를 식별해야 합니다(SQLSTATE 42704).
변수가 행 권한 또는 컬럼 마스크의 정의에서 참조되는 경우, 변수를 삭제할 수 없습니다(SQLSTATE 42893).
- RESTRICT
- RESTRICT 키워드는 전역 변수가 SQL 루틴 정의, 트리거 정의 또는 뷰 정의에서 참조되는 경우
전역 변수가 삭제되는 것을 예방합니다(SQLSTATE 42893).다음 조건이 충족되는 경우, 제한 규칙은 버전 9.5의 경우와 같이 동일한 종속 항목에 대하여 기본적으로 적용됩니다.
- auto_reval 데이터베이스 구성 매개변수가 사용 안함으로 설정되었습니다.
- 인라인 트리거 정의, 인라인 SQL 함수 정의, 인라인 SQL 메소드 정의 또는 뷰가 변수를 참조하는 경우
- 보기 view-name
- 삭제할 뷰를 식별합니다. view-name은 카탈로그에
설명된 뷰를 식별해야 합니다(SQLSTATE 42704). 유형이 지정된 뷰의 서브 테이블은
수퍼 테이블에 종속되어 있습니다. 서브 뷰를 모두 삭제해야 수퍼 뷰를 삭제할 수 있습니다(SQLSTATE 42893).
지정된 뷰가 삭제됩니다. 해당 뷰에 직간접적으로 종속된 뷰 또는 트리거의 정의는 작동 불능으로 표시됩니다. 작동 불능으로 표시된 뷰에 종속된 구체화된 쿼리 테이블 또는 스테이징 테이블이 삭제됩니다. 삭제되거나 작동 불능 상태로 표시된 뷰에 종속되는 패키지가 무효화됩니다. 여기에는 계층 구조에서 서브 뷰 위에 수퍼 뷰에 종속된 패키지가 포함됩니다. 삭제된 뷰가 참조 범위로 정의된 참조 컬럼은 범위가 지정되지 않은 상태가 됩니다.
뷰가 행 권한 또는 컬럼 마스크의 정의에 참조된 경우, 뷰를 삭제할 수 없습니다(SQLSTATE 42893).
- 보기 계층 구조 root-view-name
- 삭제할 유형이 지정된 뷰 계층 구조를 식별합니다. root-view-name은 유형이
지정된 뷰 계층 구조에서 루트 뷰인 유형이 지정된 뷰를 식별해야 합니다(SQLSTATE 428DR). root-view-name이 식별한 유형이 지정된
뷰 및 모든 서브 뷰가 데이터베이스에서 삭제됩니다.
삭제된 뷰에 직간접적으로 종속된 뷰 또는 트리거의 정의는 작동 불능으로 표시됩니다. 삭제되거나 작동 불능으로 표시된 뷰 또는 트리거에 종속되는 패키지가 무효화됩니다. 삭제된 뷰 또는 작동 불능으로 표시된 뷰가 참조 범위로 정의된 참조 컬럼은 범위가 지정되지 않은 상태가 됩니다.
- 작업 조치 세트 work-action-set-name
- 삭제할 작업 조치 세트를 식별합니다. work-action-set-name은 현재 서버에 존재하는 작업 조치 세트를 식별해야 합니다(SQLSTATE 42704). work-action-set-name에 포함되는 작업 조치도 모두 삭제됩니다.
- 작업 클래스 세트 work-class-set-name
- 삭제할 작업 클래스 세트를 식별합니다. work-class-set-name은 현재 서버에 존재하는 작업 클래스 세트를 식별해야 합니다(SQLSTATE 42704). work-class-set-name에 포함되는 작업 클래스도 모두 삭제됩니다.
- 워크로드 워크로드 이름
- 삭제할 워크로드를 식별합니다. 이는 한 부분의 이름입니다. workload-name은 현재 서버에 존재하는 워크로드를 식별해야 합니다(SQLSTATE 42704). SYSDEFAULTUSERWORKLOAD 또는 SYSDEFAULTADMWORKLOAD는 삭제할 수 없습니다(SQLSTATE 42832). 워크로드가 삭제될 수 있기 전에, 워크로드를 사용하지 않는 상태여야 하며 이와 연결된 활성 워크로드 어커런스가 없어야 합니다(SQLSTATE 5U023). 워크로드를 연관된 임계값(SQLSTATE 5U031)과 함께 삭제하려면 먼저 임계값을 삭제해야 합니다. 지정된 워크로드가 카탈로그에서 삭제됩니다.
- 랩퍼 wrapper-name
- 삭제할 랩퍼를 식별합니다. wrapper-name은 카탈로그에 설명된 트리거를
식별해야 합니다(SQLSTATE 42704). 랩퍼가 삭제됩니다.
삭제된 랩퍼에 종속된 모든 서버 정의, 사용자 정의 함수 맵핑, 사용자 정의 데이터 유형 맵핑이 삭제됩니다. 삭제된 서버 정의에 종속된 모든 사용자 정의 함수 맵핑, 별칭, 사용자 정의 데이터 유형 맵핑, 사용자 맵핑도 삭제됩니다. 삭제된 별칭에 종속된 인덱스 스펙, 이 별칭에 종속된 뷰가 작동 불능으로 표시됩니다. 삭제된 오브젝트 및 작동 불능 뷰에 종속된 모든 패키지가 무효화됩니다. 삭제된 서버 정의에 종속된 모든 페더레이티드 프로시저도 삭제됩니다.
- XSROBJECT xsrobject-name
- 삭제할 XSR 오브젝트를 식별합니다. xsrobject-name은 카탈로그에서 설명된 XSR 오브젝트를 식별해야 합니다(SQLSTATE 42704).
XSR 오브젝트를 참조하는 검사 제한조건이 삭제됩니다. XSR 오브젝트를 참조하는 모든 트리거 및 뷰가 작동 불능으로 표시됩니다. 삭제된 XSR 오브젝트에 종속된 패키지가 무효화됩니다.
파티션된 데이터베이스 환경에서, 파티션에 연결하여 XSR 오브젝트에 대해 이 명령문을 발행할 수 있습니다.
규칙
- R
- 제한 시맨틱. 기본 오브젝트에 종속된 오브젝트가 존재하는 동안에는 기본 오브젝트를 삭제할 수 없습니다.
- C
- 계단식 시맨틱. 기본 오브젝트를 삭제하면 여기에 종속된 오브젝트(종속 오브젝트)도 삭제됩니다. 그러나 종속 오브젝트에 다른 오브젝트에 대한 제한 종속 항목이 있어 이를 삭제할 수 없는 경우, 기본 오브젝트가 삭제되지 않습니다.
- X
- 작동 불능 시맨틱. 기본 오브젝트를 삭제하면 여기에 종속된 오브젝트는 작동 불능 상태가 됩니다. 이는 사용자가 명시적 조치를 취할 때까지 계속됩니다.
- A
- 자동 유효하지 않음 및 재유효화 시맨틱. 기본 오브젝트를 삭제하면 여기에 종속된 오브젝트는 무효하게 됩니다. 데이터베이스 관리자는
유효하지 않은 오브젝트를 재유효화하려고 노력합니다.
루틴이 MODIFIES SQL DATA로 정의되는 경우, 함수나 메소드가 사용하거나 함수나 메소드에서 직간접적으로 호출되는 프로시저가 사용하는 패키지만 자동으로 재유효화됩니다. 루틴이 MODIFIES SQL DATA가 아닌 경우, 오류가 리턴됩니다(SQLSTATE 56098).
일반적으로, 데이터베이스 관리자는 올바르지 않은 오브젝트를 재유효화하여 다음 번에 해당 오브젝트를 사용할 수 있도록 노력합니다. 그러나 auto_reval이(가) IMMEDIATE로 설정된 상황에서 영향을 받는 종속 오브젝트는 유효하지 않게 되는 즉시 유효성을 다시 확인합니다. 이와 같은 경우는 다음과 같습니다.- ALTER TABLE ... ALTER COLUMN
- ALTER TABLE ... DROP COLUMN
- ALTER TABLE ... RENAME COLUMN
- ALTER TYPE ... ADD ATTRIBUTE
- ALTER TYPE ... DROP ATTRIBUTE
OR REPLACE
를 지정하는 CREATE문
A(자동 무효화/유효성 다시 확인 시맨틱) 로 변경됩니다. 표 2 는 영향을 받는 종속 오브젝트를 요약한 것입니다.
명령문컬럼에 나열된 해당 명령문이 실행되면
영향받는 종속 오브젝트컬럼에 나열된 오브젝트가 무효화됩니다.
- EVENT MONITOR, PACKAGE, PROCEDURE, SCHEMA, TYPE MAPPING, USER MAPPING DROP문에 오브젝트 종속 항목이 없습니다.
- 별명, 버퍼 풀, 분산 키, 특권, 프로시저 오브젝트 유형에 DROP문 종속 항목이 없습니다.
- 지정된 작업 단위(UOW)의 DROP SERVER, DROP FUNCTION MAPPING 또는 DROP TYPE
MAPPING문이 다음 조건 중 하나가 되면 처리되지 않습니다.
- 명령문이 단일 데이터 소스를 참조하며, 작업 단위에 이미 해당 데이터 소스 내에서 테이블 또는 뷰의 별칭을 참조하는 SELECT문이 있습니다(SQLSTATE 55006).
- 명령문이 데이터 소스의 카테고리(예를 들어, 특정 유형 및 버전의 모든 데이터 소스)를 참조하며, 작업 단위에 이미 해당 데이터 소스 내에서 테이블 또는 뷰의 별칭을 참조하는 SELECT문이 있습니다(SQLSTATE 55006).
| 명령문 | 오브젝트 유형 | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
C
o n s t r a i n t |
기능
|
F
u n c t i o n m a p p i n g |
G
L O B A L V A R I A B L E |
표시 (
N D E ) |
N D E X E X T E N S I O N |
분 (
A S ) |
목 (
E ) 목 ( O ) |
N
i c k n a m e |
D
B 파 티 션 그 룹 |
P
a c k a g e31 |
P
R M I S S I O N |
보기 (
E R V E R) |
서비스
등급 |
A B L E |
T
a b l e s p a c e |
토 (
H R ) 어 ( H O L ) |
트리거
|
페이지 (
Y P ) |
T
Y P E M A P P I N G |
사용자
목록 |
사용자
매핑 |
I E W |
작업
행동 |
작업
액션 세트 |
업무량
|
X
S R O B J E C T |
|
| ALTER FUNCTION | - | - | - | - | - | - | - | - | - | - | A | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| ALTER METHOD | - | - | - | - | - | - | - | - | - | - | A | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| ALTER NICKNAME, 로컬 이름 또는 로컬 유형 변경 | R33 | R | - | - | - | - | - | R | - | - | A | - | - | - | R | - | - | - | - | - | - | - | R | - | - | - | - |
| ALTER NICKNAME, 컬럼 옵션 또는 별칭 옵션 변경 | - | - | - | - | - | - | - | - | - | - | A | - | - | - | R | - | - | - | - | - | - | - | - | - | - | - | - |
| ALTER NICKNAME, 제한조건 추가, 변경 또는 삭제 | - | - | - | - | - | - | - | - | - | - | A | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| ALTER PROCEDURE | - | - | - | - | - | - | - | - | - | - | A | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| ALTER SERVER | - | - | - | - | - | - | - | - | - | - | A | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| ALTER TABLE ALTER COLUMN | - | A | - | A | - | - | R | - | - | - | A | - | - | - | - | - | - | A | - | - | - | - | A | - | - | - | X34 |
| ALTER TABLE DROP COLUMN | C | C | - | C | C | - | R | - | - | - | - | R | - | - | - | - | - | C | - | - | - | - | C | - | - | - | X34 |
| ALTER TABLE DROP CONSTRAINT | C | - | - | - | - | - | - | - | - | - | A1 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| ALTER TABLE DROP PARTITIONING KEY | - | - | - | - | - | - | - | - | - | R20 | A1 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| ALTER TYPE ADD ATTRIBUTE | - | - | - | - | - | R | - | - | - | - | A23 | - | - | - | R24 | - | - | - | - | - | - | - | R14 | - | - | - | - |
| ALTER TYPE ALTER METHOD | - | - | - | - | - | - | - | - | - | - | A | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| ALTER TYPE DROP ATTRIBUTE | - | - | - | - | - | R | - | - | - | - | A23 | - | - | - | R24 | - | - | - | - | - | - | - | R14 | - | - | - | - |
| ALTER TYPE ADD METHOD | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| ALTER TYPE DROP METHOD | - | - | - | - | - | - | - | R27 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| CREATE METHOD | - | - | - | - | - | - | - | - | - | - | A28 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| CREATE TYPE | - | - | - | - | - | - | - | - | - | - | A29 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| DROP ALIAS | - | R | - | R | - | - | R | - | - | - | A3 | R | - | - | C3 | - | - | X 3 | - | - | - | - | X 3 | - | - | - | - |
| DROP BUFFERPOOL | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | R | - | - | - | - | - | - | - | - | - | - | - |
| DROP DATABASE PARTITION GROUP | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | C | - | - | - | - | - | - | - | - | - | - | - |
| DROP FUNCTION | R | R7 | R | R | - | R | R | R7 | - | - | X | R | - | - | R | - | - | R | - | - | - | - | R | - | - | - | - |
| DROP FUNCTION MAPPING | - | - | - | - | - | - | - | - | - | - | A | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| DROP INDEX | R | - | - | - | - | - | - | - | - | - | A | - | - | - | - | - | - | - | - | - | C37 | - | R17 | - | - | - | - |
| DROP INDEX EXTENSION | - | R | - | R | R | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| DROP MASK | - | - | - | - | - | - | - | - | - | - | A39 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| DROP METHOD | R | R7 | R | R | - | R | - | R | - | - | X, A30 |
- | - | - | R | - | - | R | - | - | - | - | R | - | - | - | - |
| DROP NICKNAME | - | R | - | R | C | - | - | R | - | - | A | - | - | - | C11 | - | - | - | - | - | - | - | X16 | - | - | - | - |
| DROP PERMISSION | - | - | - | - | - | - | - | - | - | - | 40 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| DROP PROCEDURE | - | R7 | - | R | - | - | - | R7 | - | - | A | - | - | - | - | - | - | R | - | - | - | - | - | - | - | - | - |
| DROP SEQUENCE | - | R | - | - | - | - | - | R | - | - | A | - | - | - | - | - | - | R | - | - | - | - | - | - | - | - | - |
| DROP SERVER | - | C21 | C19 | - | - | - | - | - | C | - | A | - | - | - | - | - | - | - | - | C19 | - | C | - | - | - | - | - |
| DROP SERVICE CLASS | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | R35 | - | - | - | - | - | - | R35 | - | R35 | - |
| DROP STOGROUP | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | R | - | - | - | - | - | - | - | - | - | - | - |
| DROP TABLE32 | C | R | - | R | C | - | R | - | - | - | A9 | R | - | - | R, C11 |
- | - | X16 | - | - | C37 | - | X16 | - | - | - | X34 |
| DROP TABLE HIERARCHY | C | R | - | R | C | - | - | - | - | - | A9 | - | - | - | R, C11 |
- | - | X16 | - | - | - | - | X16 | - | - | - | - |
| DROP TABLESPACE | - | - | - | - | C6 | - | - | - | - | - | - | - | - | - | C, R6 |
- | - | - | - | - | - | - | - | - | - | - | - |
| DROP TRANSFORM | - | R | - | - | - | - | - | - | - | - | X | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| DROP TRIGGER | - | - | - | - | - | - | - | - | - | - | A1 | - | - | - | - | - | - | X26 | - | - | - | - | - | - | - | - | - |
| DROP TYPE | R13 | R5 | - | R | - | R | - | - | - | - | A12 | - | - | - | R18 | - | - | R13 | R4 | - | - | - | R14 | - | - | - | - |
| DROP VARIABLE | - | - | R | R | - | - | R | R | - | - | A | R | - | - | - | - | - | R | - | - | - | - | R | - | - | - | - |
| DROP VIEW | - | R | - | R | - | - | R | - | - | - | A2 | R | - | - | - | - | - | X16 | - | - | - | - | X15 | - | - | - | - |
| DROP VIEW HIERARCHY | - | R | - | R | - | - | - | - | - | - | A2 | - | - | - | - | - | - | X16 | - | - | - | - | X16 | - | - | - | - |
| DROP WORK CLASS SET | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | R36 | - | - |
| DROP WRAPPER | - | - | C | - | - | - | - | - | - | - | - | - | C | - | - | - | - | - | - | C | - | - | - | - | - | - | - |
| DROP XSROBJECT | C | - | - | - | - | - | - | - | - | - | A | - | - | - | - | - | - | X | - | - | - | - | X | - | - | - | - |
| REVOKE 특권10 | - | C, R25 |
- | - | - | - | R38 | C, R25 |
- | - | A1 | R38 | - | - | C, X8 |
- | - | X | - | - | - | - | X8 | - | - | - | - |
- 1
- 이 종속 항목은 이러한 제한조건, 트리거 또는 분산 키가 있는 테이블에 내재적으로 종속되어 있습니다. 2
- 패키지에 뷰에서 작동하는 INSERT, UPDATE 또는 DELETE문이 있으면 패키지에
뷰의 기본 테이블에 대한 삽입, 갱신 또는 삭제 사용이 있습니다. UPDATE의 경우,
패키지에 UPDATE로 수정한 기본 테이블의 각 컬럼에 대한 갱신 사용이
있습니다.
패키지에 유형이 지정된 뷰에서 작동하는 명령문이 있는 경우, 동일한 뷰 계층 구조에서 뷰를 작성하거나 삭제하면 패키지가 무효화됩니다.
3 - 패키지, 구체화된 쿼리 테이블, 스테이징 테이블, 뷰 또는 트리거가 별명을 사용하는 경우,
이는 별명과 별명이 참조하는 오브젝트 모두에 종속됩니다. 별명이 체인에 있는 경우,
종속 항목이 체인의 각 별명에 작성됩니다.
별명 자체는 무엇에도 종속되지 않습니다. 존재하지 않는 오브젝트에 정의될 별명의 경우에는 가능합니다.
4 - T가 다음과 같은 경우, 사용자 정의 유형 T는 다른 사용자 정의 유형 B에 종속될 수 있습니다.
- B를 속성의 데이터 유형으로 이름 지정한 경우
- REF(B)의 속성을 포함한 경우
- B를 수퍼 유형으로 포함한 경우
5 - 사용자 정의 유형이 함수 매개변수 유형 또는 리턴 유형으로 참조되면 유형이 삭제되며 루틴 매개변수 종속성으로 인하여 해당 유형의 카탈로그 데이터는 유지됩니다. SYSCAT.DATATYPES 카탈로그 뷰의 VALID 컬럼에 있는 값 'X'는 이 삭제된 유형을 표시합니다. DROP FUNCTION문도 이 유형의 마지막 루틴 매개변수 종속 항목을 삭제한 경우, 카탈로그 데이터가 DROP FUNCTION문에 의하여 삭제되거나 동일한 스키마 이름, 모듈 이름, 유형 이름이 있는 CREATE TYPE문에 의하여 삭제됩니다. 사용자 정의 유형이 구조화된 유형인 경우 해당 유형과 연결된 메소드도 삭제됩니다. 6
- 테이블스페이스나 테이블스페이스의 목록을 삭제하면 제공된 테이블스페이스나 목록에 완전히 포함된 모든 테이블이 삭제됩니다. 그러나 테이블이 테이블스페이스(다른 테이블스페이스의 인덱스, Long 컬럼 또는 데이터 파티션)에 걸쳐있고 해당 테이블스페이스가 삭제된 목록에 없는 경우, 테이블이 존재하는 동안에는 테이블스페이스를 삭제할 수 없습니다. 7
- 종속 함수가 SOURCE 절의 기본 함수의 이름을 지정하는 경우 함수는 다른 특정 함수에 종속될 수 있습니다. 종속 루틴이 SQL로 작성되고 본문의 기본 루틴을 사용하는 경우, 함수나 메소드도 다른 특정 함수나 메소드에 종속될 수 있습니다. 구조화된 유형 매개변수 또는 리턴 유형이 있는 외부 메소드 또는 외부 함수도 하나 또는 여러 변형 함수에 종속될 수 있습니다. 8
- SELECT 특권을 잃은 경우에만 구체화된 쿼리 테이블이 삭제되거나 뷰가 작동 불능 상태가 됩니다. 작동 불능 상태가 된 뷰가 유형이 지정된 뷰 계층 구조에 포함되는 경우, 모든 서브 뷰도 작동 불능 상태가 됩니다. 9
- 패키지에 테이블 T 에서 활동하는 INSERT, UPDATE, DELETE문이
있는 경우, 그 패키지는 T에서 삽입, 갱신 또는 삭제를 사용할 수
있습니다. UPDATE의 경우, 이것으로 수정된 기초가 되는
기본 테이블 T의 각 컬럼에서 갱신을 사용할 수 있습니다.
패키지에 유형이 지정된 테이블에서 작동하는 명령문이 있는 경우, 동일한 테이블 계층 구조의 테이블을 작성하거나 삭제하면 패키지가 무효화됩니다.
10
- 컬럼에 대한 특권을 개별적으로 권한 취소할 수 없으므로 컬럼 레벨에 종속 항목이 존재하지 않습니다.
패키지, 트리거 또는 뷰의 FROM절에 OUTER(Z)가 사용되는 경우, Z의 모든 서브테이블 또는 서브뷰에 대한 SELECT 특권에 대한 종속성이 있습니다. 마찬가지로 패키지, 트리거 또는 뷰에서 DEREF(Y)를 사용하는 경우(여기서 Y는 대상 테이블 또는 Z 뷰가 있는 참조 유형임), Z의 모든 서브테이블 또는 서브뷰에 대한 SELECT 특권에 대한 종속성이 있습니다.
11 - 구체화된 쿼리 테이블은 기본 테이블 또는 테이블 정의의 fullselect에서 지정된
별칭에 종속됩니다.
계단식 시맨틱이 종속 구체화된 쿼리 테이블에 적용됩니다.
서브 테이블이 루트 테이블에 따라 해당 수퍼 테이블에 종속됩니다. 수퍼 테이블은 모든 서브 테이블을 삭제할 때까지 삭제할 수 없습니다.
실행기록 테이블은 연관된 시스템 기간 시간 테이블에 종속됩니다. 종속된 시스템 기간 시간 테이블이 삭제되면 계단식 시맨틱이 실행기록 테이블에 적용됩니다.
12 - TYPE 술어 또는 서브유형 처리 표현식(TREAT
expression AS data-type)을 사용하면
패키지가 구조화된 유형에 종속될 수 있습니다. 패키지에 TYPE 술어의 우측 또는 TREAT 표현식의
우측에 지정된 각 구조화된 유형의 서브유형에 대한 종속 항목이 있습니다. 패키지가 종속된 서브유형을
변경한 구조화된 유형을 삭제 또는 작성하면 무효화됩니다.
삭제할 유형의 수퍼 유형에 정의된 메소드에 종속적이며 겹쳐쓰기 가능한 모든 패키지는 무효화됩니다.
13 - 유형이 제한조건 또는 트리거 어디에나 사용되는 경우, 검사 제한조건 또는 트리거가 유형에 종속됩니다. 검사 제한조건 또는 트리거 내에서 TYPE 술어에 사용되는 구조화된 유형의 서브유형에 종속 항목이 없습니다. 14
- 유형이 뷰 정의 어디에나 사용되는 경우, 검사 제한조건 또는 뷰가 유형에 종속되며, 여기에는 유형이 지정된 뷰도 포함됩니다. 보기 정의 내에서 TYPE 술어에 사용되는 구조화된 유형의 서브유형에 종속 항목이 없습니다. 15
- 서브 뷰가 루트 뷰에 따라 해당 수퍼 뷰에 종속됩니다. 수퍼 뷰는 모든 서브 뷰를 삭제할 때까지 삭제할 수 없습니다. 추가적인 뷰 종속 항목에 대해서는 16을 참조하십시오. 16
- 트리거 또는 뷰도 비참조 연산의 대상 테이블 또는 대상 뷰 또는 DEREF 함수에 종속됩니다. OUTER(Z)를 포함하는 FROM 절이 있는 트리거 또는 뷰는 트리거나 뷰가 작성될 때 존재했던 Z의 모든 서브 테이블 또는 서브 뷰에 종속됩니다. 17
- 유형이 지정된 뷰는 고유 인덱스의 존재에 종속되어 오브젝트 ID 컬럼의 고유성을 확인할 수 있습니다. 18
- 유형이 다음과 같으므로, 테이블이 사용자 정의 데이터 유형(구별 또는 구조화된)에 종속될 수 있습니다.
- 컬럼의 유형으로 사용됨
- 테이블의 유형으로 사용됨
- 테이블 유형의 속성으로 사용됨
- 테이블의 컬럼 유형이거나 테이블의 유형 속성인 참조 유형의 대상 유형으로 사용됨
- 테이블의 컬럼인 유형에 의하여 직간접적으로 사용됨
19 - 서버 연쇄를 삭제하여 해당 이름 서버에 작성된 함수 맵핑 및 유형 맵핑을 삭제합니다. 20
- 분산 키가 다중 파티션 데이터베이스 파티션 그룹의 테이블에 정의된 경우, 분산 키가 필요합니다. 21
- 종속 OLE DB 테이블 함수에 "R" 종속 오브젝트가 있으면(DROP FUNCTION 참조), 서버를 삭제할 수 없습니다. 22
- SQL 함수 또는 메소드는 해당 본문에 의하여 참조된 오브젝트에 종속될 수 있습니다. 23
- type-name T의 TA의 속성 A가 삭제되면 다음
DROP문이 효과적으로 실행됩니다.
Mutator method: DROP METHOD A (TA) FOR T Observer method: DROP METHOD A () FOR T ALTER TYPE T DROP METHOD A(TA) DROP METHOD A()24 - 다음의 경우, 테이블이 사용자 정의 구조화된 데이터 유형의 속성에 종속될 수 있습니다.
- 테이블은 type-name 또는 해당 서브유형에 기반한 유형이 지정된 테이블입니다.
- 테이블에 type-name을 직간접적으로 나타내는 기존의 유형 컬럼이 있습니다.
25 - SQL문 함수의 본문이나 메소드 본문에 사용되는 테이블 또는 뷰에 대한 SELECT 특권을 REVOKE하면, 정의된 함수나 메소드 본문에 더 이상 SELECT 특권이 포함되지 않도록 함수 또는 메소드 본문의 삭제를 시도하게 됩니다. 이러한 함수 또는 메소드 본문이 뷰, 트리거, 함수 또는 메소드 본문에 사용되는 경우, 이를 삭제할 수 없으며 REVOKE가 결과로 제한됩니다. 또는 REVOKE가 이러한 함수를 펼치고 삭제합니다. 26
- 트리거가, INSTEAD OF 트리거가 정의된 뷰를 수정하면 트리거가 INSTEAD OF 트리거에 종속되고 INSTEAD OF 트리거가 실행됩니다. 27
- 다른 메소드로 겹쳐써진 원래 메소드의 메소드 선언은 삭제할 수 없습니다(SQLSTATE 42893). 28
- 작성 중인 메소드 본문의 메소드가 다른 메소드를 겹쳐쓰도록 선언된 경우, 겹쳐써진 메소드 및 작성 중인 메소드의 수퍼 유형에 있는 이 메소드를 겹쳐쓰는 메소드에 종속된 모든 패키지는 무효화됩니다. 29
- 기존 유형의 새 서브 유형이 작성되는 경우, 작성 중인 유형의 수퍼 유형에 정의된 메소드에 종속적이며 겹쳐쓰기 가능한(예를 들어, 변경자 또는 관찰자가 없는) 모든 패키지는 무효화됩니다. 30
- 삭제 중인 메소드 본문의 특정 메소드가 다른 메소드를 겹쳐쓰도록 선언된 경우, 겹쳐써진 메소드 및 삭제 중인 특정 메소드의 수퍼 유형에 있는 이 메소드를 겹쳐쓰는 메소드에 종속된 모든 패키지는 무효화됩니다. 31
- 캐시된 동적 SQL에 동일한 시맨틱이 패키지로 포함되어 있습니다. 32
- DROP TABLE문으로 원격 기본 테이블을 삭제한 경우, 별칭과 해당 원격 기본 테이블 모두 삭제됩니다. 33
- 외부 키로 참조되지 않은 기본 키 또는 고유 키는 별칭 로컬 이름이나 로컬 유형의 변경을 제한하지 않습니다. 34
- 분해의 XML 스키마와 연결된 테이블로 변경하면, XSROBJECT은 분해에 대하여 작동 불능 상태가 될 수 있습니다. 분해에 영향을 줄 수 있는 변경은 테이블 삭제나 테이블 컬럼 삭제 또는 테이블 컬럼 변경입니다. XML 스키마의 분해 상태는 ALTER XSROBJECT문을 발행하여 XML 스키마의 분해를 가능 또는 불가능하게 함으로써 재설정할 수 있습니다. 35
- 워크로드가 맵핑된 경우 서비스 클래스를 삭제할 수 없습니다(SQLSTATE 5U031).
- 작업 조치가 맵핑된 경우 서비스 서브 클래스를 삭제할 수 없습니다(SQLSTATE 5U031).
- 임계값 REMAP 조치의 대상인 경우 서비스 서브클래스를 명시적으로 삭제할 수 없습니다(SQLSTATE 5U031).
36- 정의된 작업 조치 세트를 삭제하지 않으면 작업 클래스 세트를 삭제할 수 없습니다. 37
- 인덱스 또는 테이블이 삭제되면 해당 사용 목록이 카탈로그에서 무효화됩니다. 다음 번에 목록을 활성화할 때 재유효화가 실시되거나, 프로시저 ADMIN_REVALIDATE_DB_OBJECTS를 사용하면 명시적으로 재유효화됩니다. 38
- 특권을 권한 취소하면 오브젝트가 삭제되거나 무효화되고 권한이나 마스크가 종속되므로 이는 제한됩니다. 예를 들어, 테이블에 종속된 뷰가 있고 뷰를 참조하는 권한이나 마스크가 있는 경우, 테이블의 REVOKE SELECT는 뷰를 무효화하지만 오류를 야기합니다. 39
- 사용 가능한 권한이 정의된 테이블에 활성화된 행 레벨 액세스 제어가 있는 경우 패키지가 무효화됩니다. 사용하지 않거나 행 액세스 제어가 비활성화된 테이블에 정의된 권한을 삭제하면 패키지는 영향을 받지 않습니다. 40
- 사용 가능한 권한이 정의된 테이블에 활성화된 행 레벨 액세스 제어가 있는 경우 패키지가 무효화됩니다. 사용하지 않거나 행 액세스 제어가 비활성화된 테이블에 정의된 권한을 삭제하면 패키지는 영향을 받지 않습니다.
| 명령문 | 영향 받는 종속 오브젝트 |
|---|---|
| ALTER NICKNAME(로컬 이름 또는 로컬 유형 변경) | 앵커 유형, 함수, 메소드, 프로시저, 사용자 정의 유형, 변수, 뷰 |
| ALTER TABLE ALTER COLUMN | 앵커 유형, 함수, 메소드, 프로시저, 트리거4, 사용자 정의 유형, 변수, 뷰, XSROBJECT |
| ALTER TABLE DROP COLUMN2 | 앵커 유형, 함수, 메소드, 인덱스, 프로시저, 트리거 4, 사용자 정의 유형, 변수, 뷰, XSROBJECT |
| ALTER TABLE RENAME COLUMN1, 3 | 앵커 유형, 함수, 메소드, 인덱스, 프로시저, 트리거 4, 사용자 정의 유형, 변수, 뷰, XSROBJECT |
| ALTER TYPE ADD ATTRIBUTE | 보기 |
| ALTER TYPE DROP ATTRIBUTE | 보기 |
| DROP ALIAS | 앵커 유형, 함수, 메소드, 프로시저, 트리거, 사용자 정의 유형, 변수, 뷰 |
| DROP FUNCTION (ALTER MODULE DROP FUNCTION) | 함수, 함수 맵핑, 인덱스 확장자, 메소드, 프로시저, 트리거, 변수, 뷰 |
| DROP METHOD | 함수, 함수 맵핑, 인덱스 확장자, 메소드, 프로시저, 트리거, 변수, 뷰 |
| DROP NICKNAME | 앵커 유형, 함수, 메소드, 프로시저, 트리거, 사용자 정의 유형, 변수, 뷰 |
| DROP PROCEDURE (ALTER MODULE DROP PROCEDURE) | 함수, 메소드, 프로시저, 트리거 |
| DROP SEQUENCE | 함수, 메소드, 프로시저, 트리거, 변수, 뷰 |
| DROP TABLE | 앵커 유형, 함수, 메소드, 프로시저, 트리거 4, 사용자 정의 유형, 변수, 뷰, XSROBJECT |
| DROP TABLE HIERARCHY | 함수, 메소드, 프로시저, 트리거, 변수, 뷰 |
| DROP TRIGGER | 트리거 |
| DROP TYPE (ALTER MODULE DROP TYPE) | 앵커 유형, 커서 유형, 함수, 메소드, 프로시저, 인덱스 확장자, 트리거, 사용자 정의 유형, 변수, 뷰 |
| DROP VARIABLE (ALTER MODULE DROP VARIABLE) | 앵커 유형, 함수, 함수 맵핑, 메소드, 프로시저, 트리거, 사용자 정의 유형, 변수, 뷰 |
| DROP VIEW | 앵커 유형, 함수, 메소드, 프로시저, 트리거 4, 사용자 정의 유형, 변수, 뷰 |
| DROP VIEW HIERARCHY | 함수, 프로시저, 트리거, 변수, 뷰 |
| DROP XSROBJECT | 트리거, 뷰 |
| RENAME TABLE | 앵커 유형, 함수, 메소드, 프로시저, 트리거 4, 사용자 정의 유형, 변수, 뷰, XSROBJECT |
| REVOKE a privilege | 함수, 메소드, 프로시저, 트리거, 변수, 뷰 |
| CREATE OR REPLACE ALIAS1 | 함수, 트리거, 프로시저, 변수, 뷰 |
| CREATE OR REPLACE VIEW1 | 앵커 유형, 함수, 메소드, 프로시저, 트리거4, 사용자 정의 유형, 변수, 뷰 |
| CREATE OR REPLACE FUNCTION1 | 함수, 함수 맵핑, 인덱스 확장자, 메소드, 프로시저, 변수, 뷰 |
| CREATE OR REPLACE PROCEDURE1 | 함수, 메소드, 프로시저, 트리거 |
| CREATE OR REPLACE NICKNAME1 | 함수, 메소드, 프로시저, 변수, 뷰 |
| CREATE OR REPLACE SEQUENCE1 | 함수, 메소드, 프로시저, 트리거, 변수, 뷰 |
| CREATE OR REPLACE VARIABLE1 | 함수, 메소드, 프로시저, 트리거, 사용자 정의 유형, 변수, 뷰 |
| CREATE OR REPLACE TRIGGER1 | 트리거 |
- 1
- auto_reval 데이터베이스 구성 매개변수의 설정에 상관없이 해당 명령문에 대해 즉시 유효성 재확인 시맨틱이 적용됩니다(CREATE문의 경우, OR REPLACE가 지정된 경우에만). 2
- 나열된 종속 오브젝트는 다음 번에 사용할 때 재유효화됩니다(명령문의 일부로 즉시 유효화되는 다음 오브젝트는 제외).
- ANCHOR TYPE
- CURSOR TYPE
- VIEW(선택 목록이 SELECT *만 구성하며 명시적으로 정의된 뷰 컬럼은 포함하지 않는 경우).
3 - 나열된 종속 오브젝트는 다음 번에 사용할 때 재유효화됩니다(명령문의 일부로 즉시 유효화되는 다음 오브젝트는 제외).
- 사용자 정의 유형
- VIEW(선택 목록이
SELECT *로만 구성되고 명시적으로 정의된 뷰 컬럼은 포함하지 않는 경우).
4 - 트리거가 테이블 또는 뷰에 정의되어 종속 항목이 존재하는 경우, 작동 불능 시맨틱이 테이블 1에서 계속 적용됩니다. 트리거 내용이 테이블 또는 뷰를 참조하여 종속 항목이 존재하는 경우, 자동 무효화 및 재유효화 시맨틱이 적용됩니다.
데이터베이스 파티션 서버 요청이 보류 중이거나 진행 중인 경우에는 DROP DATABASE PARTITION GROUP문이 실패할 수 있습니다(SQLSTATE 55071). 새 데이터베이스 파티션 서버가 온라인으로 인스턴스에 추가되며 일부 애플리케이션이 새 데이터베이스 파티션 서버를 인식하지 못하는 경우에도 이 명령문이 실패할 수도 있습니다(SQLSTATE 55077).
참고
- 사용 중에 사용자 정의 함수 삭제가 유효합니다. 또한, 커서는 사용자 정의 함수에 대한 참조를 포함하는 명령문 위에 열릴 수 있으며 이 커서가 열린 동안에는 함수가 커서 페치 실패를 유발하지 않고 삭제될 수 있습니다.
- 사용자 정의 함수에 종속된 패키지가 실행 중인 경우 패키지가 현재 작업 단위를 완료할 때까지 다른 권한 부여 ID는 해당 함수를 삭제할 수 없습니다. 패키지가 작업 단위를 완료하면 함수가 삭제되고 패키지는 작동 불능 상태가 됩니다. 이 패키지에 대해 또 요청하면 패키지가 명시적으로 리바인드되어야 한다는 오류가 표시됩니다.
- 함수 내용을 제거하면(이는 함수를 삭제하는 것과는 매우 다름) 함수 내용이 필요한 애플리케이션을 실행하는 중에 오류가 발생합니다. 이는 함수 내용이 명령문을 대신한 데이터베이스 관리자에 의하여 계속 스토리지에 로드되어야 하는지 여부에 따라 명령문이 실패할 수도 있고 성공할 수도 있습니다.
- 명시적으로 지정된 UDF에 기록된 종속 항목과 더불어, 변형이 명시적으로
필요한 경우 다음 종속 항목이 기록됩니다.
- 구조화된 입력 매개변수 또는 함수나 메소드의 결과에 변형이 필요할 때, 요구된 TO SQL 또는 FROM SQL 변형 함수의 함수 또는 메소드에 대해 종속 항목이 기록됩니다.
- 패키지에 포함된 SQL문에 변형 함수가 필요할 때, 지정된 TO SQL 또는 FROM SQL 변형 함수의 패키지에 대해 종속 항목이 기록됩니다.
이는 변형의 내재적 호출로 인해 종속 항목이 기록된 경우만 설명하므로, 함수, 메소드 또는 패키지가 아닌 오브젝트는 내재적으로 호출된 변형 함수에 대해 종속 항목을 포함할 수 있습니다. 반면, 변형 함수에의 명시적 호출(예: 뷰 및 트리거에서)은 변형 함수에 대하여 이러한 다른 유형의 오브젝트의 일반적인 종속 항목을 발생시킵니다. 그 결과, 삭제 중인 변형에 대한 오브젝트의 "명시적" 유형 종속 항목으로 인하여 DROP TRANSFORM문도 실패할 수 있습니다(SQLSTATE 42893).
- 종속 항목 카탈로그가 변형으로서의 함수의 종속 항목인지 명시적 함수 호출에 의한 함수의 종속 항목인지 구별하지 않으므로, 변형 함수에의 명시적 호출을 작성하지 않는 것이 좋습니다. 이러한 인스턴스에서는 함수의 변형 특성을 삭제할 수 없거나 패키지가 작동 불능 상태로 표시됩니다. SQL 표현식에 명시적 호출이 포함되어 있기 때문입니다.
- IDENTITY 컬럼에 대해 시스템이 작성한 시퀀스는 DROP SEQUENCE문을 사용하여 삭제할 수 없습니다.
- 시퀀스가 삭제되면 시퀀스에 대한 모든 특권도 삭제되며 시퀀스에 대한 패키지는 무효화됩니다.
- 관계 별칭의 경우, 지정된 작업 단위의 DROP NICKNAME문이 다음 조건 중 하나가 되면 처리되지 않습니다(SQLSTATE 55007).
- 이 명령문에서 참조된 별칭에는 동일한 UOW에서 열린 커서가 있음
- INSERT, DELETE 또는 UPDATE문 중 하나가 이 명령문에서 참조된 별칭에 대해 동일한 UOW에서 이미 실행됨
- 비관계 별칭의 경우, 지정된 작업 단위의 DROP NICKNAME문이 다음 조건 중 하나가 되면 처리되지 않습니다(SQLSTATE 55007).
- 이 명령문에서 참조된 별칭에는 동일한 UOW에서 열린 커서가 있음
- 이 명령문에서 참조된 별칭은 동일한 UOW에서 SELECT문으로 이미 참조됨
- INSERT, DELETE 또는 UPDATE문 중 하나가 이 명령문에서 참조된 별칭에 대해 동일한 UOW에서 이미 실행됨
- 지정된 작업 단위의 DROP SERVER(SQLSTATE 55006) 또는 DROP FUNCTION
MAPPING이나 DROP TYPE
MAPPING문(SQLSTATE 55007)이 다음 조건 중 하나가 되면 처리되지 않습니다.
- 명령문이 단일 데이터 소스를 참조하며, 작업 단위에 이미 다음 항목 중 하나가 있습니다.
- 이 데이터 소스 내 테이블이나 뷰에 대한 별칭을 참조하는 SELECT문
- 이 데이터 소스 내 테이블이나 뷰에 대한 별칭의 열린 커서
- 이 데이터 소스 내 테이블이나 뷰에 대한 별칭에 대해 실행된 INSERT, DELETE 또는 UPDATE문 중 하나
- 명령문이 데이터 소스의 카테고리(예를 들어, 특정 유형 및 버전의 모든
데이터 소스)를 참조하며, 작업 단위에 이미 다음 항목 중 하나가 있습니다.
- 이 데이터 소스 내 테이블이나 뷰에 대한 별칭을 참조하는 SELECT문
- 이 데이터 소스 내 테이블이나 뷰에 대한 별칭의 열린 커서
- 이 데이터 소스 내 테이블이나 뷰에 대한 별칭에 대해 실행된 INSERT, DELETE 또는 UPDATE문 중 하나
- 명령문이 단일 데이터 소스를 참조하며, 작업 단위에 이미 다음 항목 중 하나가 있습니다.
- DROP WORKLOAD문은 명령문을 발행하는 연결에서조차도 명령문이 커미트되지 않는 이상 효력이 발생하지 않습니다.
- 애플리케이션에 의하여, 한 번에 이 명령문들 중 하나만 발행될 수 있으며,
이 명령문들 중 하나만 작업 단위 내에서 허용됩니다. 이 명령문들 중 다른 하나를 발행하기
전에 각 명령문 다음에 COMMIT 또는 ROLLBACK문이 있어야 합니다(SQLSTATE 5U021).
- CREATE HISTOGRAM TEMPLATE, ALTER HISTOGRAM TEMPLATE 또는 DROP(HISTOGRAM TEMPLATE)
- CREATE SERVICE CLASS, ALTER SERVICE CLASS 또는 DROP(SERVICE CLASS)
- CREATE THRESHOLD, ALTER THRESHOLD 또는 DROP(THRESHOLD)
- CREATE WORK ACTION, ALTER WORK ACTION 또는 DROP(WORK ACTION)
- CREATE WORK CLASS, ALTER WORK CLASS 또는 DROP(WORK CLASS)
- CREATE WORKLOAD, ALTER WORKLOAD 또는 DROP(WORKLOAD)
- GRANT(워크로드 특권) 또는 REVOKE(워크로드 특권)
- 소프트 무효: 다음 명령어로 데이터베이스 오브젝트를 삭제
또는 변경하면 액세스가 완료될 때까지 삭제되거나 변경된 오브젝트에 대한 활성 액세스가 계속됩니다.
- ALTER FUNCTION
- ALTER MODULE ... DROP FUNCTION
- ALTER MODULE ... DROP VARIABLE
- ALTER TABLE ... DETACH PARTITION
- ALTER VIEW
- DROP ALIAS
- DROP FUNCTION
- DROP TRIGGER
- DROP VARIABLE
- DROP VIEW
- 모든 CREATE OR REPLACE문(CREATE OR REPLACE SEQUENCE 제외).
- 구문 대체: 다음 구문 대체는 이전 버전의 Db2® 및 기타 데이터베이스 제품과의 호환성을 위해 지원됩니다. 이러한 대체는 비표준이므로 사용하지 않아야 합니다.
- DATABASE PARTITION GROUP 대신 NODEGROUP을 지정할 수 있음
- TYPE type-name 대신 DISTINCT TYPE type-name을 지정할 수 있음
- TYPE type-name 대신 DATA TYPE type-name을 지정할 수 있음
- SYNONYM을 ALIAS 자리에 지정할 수 있습니다.
- PACKAGE 대신 PROGRAM을 지정할 수 있음
- 행 권한 또는 컬럼 마스크 삭제 후 패키지 및 동적으로 캐시된 명령문 무효화: 행 레벨 액세스 제어가 테이블에 활성화된 경우, 해당 테이블에 정의된 사용 가능한 행 권한을 삭제하면 해당 테이블과 동일한 테이블을 참조하는 모든 패키지 및 동적으로 캐시된 명령문이 무효화됩니다. 컬럼 레벨 액세스 제어가 테이블에 활성화된 경우, 해당 테이블에 정의된 사용 가능한 컬럼 마스크를 삭제하면 해당 테이블과 동일한 테이블을 참조하는 모든 패키지 및 동적으로 캐시된 명령문이 무효화됩니다. 사용하지 않는 마스크 또는 권한은 삭제해도 무효화되지 않습니다.
- 순환 종속 항목: 다음 예제에 순환 종속 항목이 존재합니다.
RP1은(는) T2에 종속되고 RP2은(는) T1에 종속되므로CREATE PERMISSION RP1 ON T1 FOR ROWS WHERE C1>(SELECT MAX(C1) FROM T2) ENFORCED FOR ALL ACCESS ENABLE; CREATE PERMISSION RP2 ON T2 FOR ROWS WHERE C1>(SELECT MAX(C1) FROM T1) ENFORCED FOR ALL ACCESS ENABLEDROP TABLE T1및DROP TABLE T2문은 실패합니다. SECADM 권한이 있는 사용자는 행 권한 중 하나를 먼저 삭제한 후 DROP TABLE문을 발행해야 합니다.
예:
- 테이블 TDEPT를 삭제하십시오.
DROP TABLE TDEPT - 뷰 VDEPT를 삭제하십시오.
DROP VIEW VDEPT - 권한 부여 ID HEDGES가 별명을 삭제하려고 시도합니다.
별명 HEDGES.A1이 카탈로그에서 제거됩니다.DROP ALIAS A1 - Hedges가 별명을 삭제하려고 시도하지만 별명 이름으로 T1을 지정합니다. 여기서
T1은 기존 테이블의 이름입니다(별명의 이름이 아님).
이 명령문은 실패합니다(SQLSTATE 42809).DROP ALIAS T1 - BUSINESS_OPS
데이터베이스 파티션 그룹을 삭제하십시오. 데이터베이스 파티션 그룹을 삭제하려면 데이터베이스 파티션 그룹에 있는
두 테이블스페이스(ACCOUNTING 및 PLANS)를 먼저 삭제해야 합니다.
DROP TABLESPACE ACCOUNTING DROP TABLESPACE PLANS DROP DATABASE PARTITION GROUP BUSINESS_OPS - Pellow가 자신의 PELLOW 스키마에서 작성한 CENTER 함수를,
삭제할 함수 인스턴스를 식별하기 위한 시그니처를 사용하여
삭제하려고 합니다.
DROP FUNCTION CENTER (INT,FLOAT) - McBride가 삭제할 함수 인스턴스를 식별하기 위해
특정 이름을 사용하여 PELLOW 스키마에서 작성한 FOCUS92 함수를
삭제하려고 합니다.
DROP SPECIFIC FUNCTION PELLOW.FOCUS92 - CHEM 스키마에서 함수 ATOMIC_WEIGHT를 삭제하십시오. 여기서
해당 이름의 함수는 하나만 있습니다.
DROP FUNCTION CHEM.ATOMIC_WEIGHT - 지정된 조건 하의 직원이 급여에 대한 보너스를 받도록 하는
트리거 SALARY_BONUS를 삭제하십시오.
DROP TRIGGER SALARY_BONUS - shoesize라는 Distinct 데이터 유형을 현재 사용하는 중이 아니면
삭제하십시오.
DROP TYPE SHOESIZE - SMITHPAY 이벤트 모니터를 삭제하십시오.
DROP EVENT MONITOR SMITHPAY - RESTRICT를 사용하여 CREATE SCHEMA에 있는 예 2에서 스키마를 삭제하십시오. PART라는 테이블을 먼저 삭제해야 합니다.
DROP TABLE PART DROP SCHEMA INVENTRY RESTRICT - Macdonald가
삭제할 프로시저를 식별하기 위해 시스템 카탈로그에서 찾은
특정 이름을 사용하여 EIGLER 스키마에서 작성한 DESTROY 프로시저를
삭제하려고 합니다.
DROP SPECIFIC PROCEDURE EIGLER.SQL100506102825100 - BIOLOGY 스키마에서 프로시저 OSMOSIS를 삭제하십시오. 여기서
해당 이름의 프로시저는 하나만 있습니다.
DROP PROCEDURE BIOLOGY.OSMOSIS - 사용자 SHAWN이 하나의 권한 부여 ID를 사용하여 페더레이티드 데이터베이스에
액세스했으며 다른 ID를 사용하여 ORACLE1이라는 Oracle 데이터 소스에 있는 데이터베이스에
액세스했습니다. 두 권한 부여 사이에 맵핑이 작성되었으나 SHAWN은 더 이상 데이터 소스를 액세스할 필요가 없습니다. 맵핑을 삭제합니다.
DROP USER MAPPING FOR SHAWN SERVER ORACLE1 - 별칭이 참조하는 데이터 소스 테이블의 인덱스가
삭제되었습니다. 작성됐던 인덱스 스펙을 삭제하여 옵티마이저가
이 인덱스에 대해 알도록 하십시오.
DROP INDEX INDEXSPEC - MYSTRUCT1 변환 그룹을 삭제하십시오.
DROP TRANSFORM MYSTRUCT1 FOR POLYGON - PERSONNEL 스키마의 EMP 데이터 유형에 대한 메소드 BONUS를 삭제하십시오.
DROP METHOD BONUS (SALARY DECIMAL(10,2)) FOR PERSONNEL.EMP - 제한사항을 설정하여 시퀀스 ORG_SEQ를 삭제하십시오.
DROP SEQUENCE ORG_SEQ - 원격 테이블 EMPLOYEE가 투명성 DDL을 사용하여 페더레이티드 시스템에서
작성되었습니다. 더 이상 필요하지 않은 테이블에 액세스하십시오. 원격 테이블 EMPLOYEE를 삭제하십시오.
DROP TABLE EMPLOYEE - 함수 맵핑 BONUS_CALC를 삭제하고 기본 함수 맵핑(있는 경우)을
복구하십시오.
DROP FUNCTION MAPPING BONUS_CALC - 보안 레이블 구성요소 LEVEL을 삭제하십시오.
DROP SECURITY LABEL COMPONENT LEVEL - 보안 정책 DATA_ACCESS의 보안 레이블 EMPLOYEESECLABEL을
삭제하십시오.
DROP SECURITY LABEL DATA_ACCESS.EMPLOYEESECLABEL - 보안 정책 DATA_ACCESS를 삭제하십시오.
DROP SECURITY POLICY DATA_ACCESS - 보안 레이블 구성요소 GROUPS를 삭제하십시오.
DROP SECURITY LABEL COMPONENT GROUPS - SQL 스키마 HR에 있는 XML 스키마 EMPLOYEE를 삭제하십시오.
DROP XSROBJECT HR.EMPLOYEE - 서비스 수퍼 클래스 PETSALES 아래에 있는 서비스 서브클래스 DOGSALES를 삭제하십시오.
DROP SERVICE CLASS DOGSALES UNDER PETSALES - 사용자 정의 서비스 서브클래스가 없는 서비스 수퍼 클래스 PETSALES를
삭제하십시오. 서비스 클래스 PETSALES에 대한 기본 서브 클래스는 자동으로 삭제됩니다.
DROP SERVICE CLASS PETSALES - DROP 권한 P1.
DROP PERMISSION P1 - DROP 마스크 M1.
DROP MASK M1 - TEST_SG라는
스토리지 그룹을 삭제하십시오.
DROP STOGROUP TEST_SG - 사용 목록
MON_PAYROLL을 삭제하십시오.
DROP USAGE LIST MON_PAYROLL
