DROP sentencia
La sentencia DROP elimina un objeto del servidor actual. A excepción de los grupos de almacenamiento, los objetos que dependen directa o indirectamente de dicho objeto también se eliminan. Siempre que se descarta un objeto, su descripción se suprime del catálogo en el servidor actual y los paquetes que hacen referencia al objeto se invalidan.
Invocación para DROP
Esta sentencia puede incorporarse en un programa de aplicación o emitirse de forma interactiva. Es una instrucción ejecutable que puede prepararse dinámicamente solo si el comportamiento DYNAMICRULES RUN está en vigor. Para más información, consulte ID de autorización y SQL dinámico.
Autorización para DROP
Para eliminar los siguientes objetos, el conjunto de privilegios debe incluir al menos una de las autoridades o privilegios enumerados:
- Tabla, espacio de tabla o índice:
- Propiedad del objeto (para un índice, el propietario es el propietario de la tabla o índice)
- Autorización DBADM
- Autorización SYSADM o SYSCTRL
- DBADM del sistema
Autoridad de instalación SYSOPR (cuando el SQLID actual del proceso está configurado como SYSINSTL)
- Base de datos:
- El privilegio DROP en la base de datos
- Autoridad DBADM o DBCTRL para la base de datos
- Autorización SYSADM o SYSCTRL
- DBADM del sistema
Autoridad de instalación SYSOPR (cuando el SQLID actual del proceso está configurado como SYSINSTL)
Grupo de almacenamiento:

- Propiedad del objeto
- Autorización SYSADM o SYSCTRL
Autoridad de instalación SYSOPR (cuando el SQLID actual del proceso está configurado como SYSINSTL)

- Vista:
- Propiedad del objeto
- Autorización SYSADM o SYSCTRL
- Autorización DBADM del sistema
- Alias para una tabla o vista:
- Propiedad del objeto
- Autorización SYSADM o SYSCTRL
- DBADM del sistema
- Alias para una secuencia:
- Propiedad del objeto
- El privilegio DROPIN en el esquema
- Autorización SYSADM o SYSCTRL
- DBADM del sistema
- Paquete:
- Propiedad del paquete
- El privilegio BINDAGENT otorgado por el propietario del paquete
- Autorización PACKADM para la colección o todas las colecciones
- Autorización SYSADM o SYSCTRL
- Sinónimo:
- Propiedad del sinónimo
- Función o contexto de confianza:
- Propiedad del objeto
- Autorización SYSADM o SYSCTRL
- SECADM
- Permiso de fila o máscara de columna:
- Al menos autoridad SECADM
Tipo definido por el usuario, variable global, secuencia, procedimiento almacenado, activador o función definida por el usuario:
- Propiedad del objeto 1
- El privilegio DROPIN en el esquema
- Autorización SYSADM o SYSCTRL
- DBADM del sistema
Autoridad de instalación SYSOPR (cuando el SQLID actual del proceso está configurado como SYSINSTL)
Conjunto de privilegios:
Si la sentencia está incrustada en un programa de aplicación, el conjunto de privilegios son los privilegios que tiene el propietario del plan o paquete. Si el estado se prepara dinámicamente, el conjunto de privilegios es la unión de los conjuntos de privilegios que posee cada ID de autorización del proceso. Si se ejecuta en un contexto de confianza con un rol, el conjunto de privilegios también incluye aquellos privilegios que posee el rol asociado con el ID de autorización principal. Sin embargo, la coincidencia de esquema implícita no se aplica al rol al determinar si se tiene el privilegio de esquema DROPIN.
Sintaxis para DROP
alias-designador:
Tipo de parámetro:
- 1 AS LOCATOR solo se puede especificar para un tipo de datos LOB o un tipo distinto basado en un tipo de datos LOB.
Tipo de datos:
tipo integrado:
descripción para DROP
- designador-alias
- PUBLIC
- Especifica que el alias que se va a eliminar es un alias público. El alias debe identificar un alias que exista en el esquema SYSPUBLIC.
Si se especifica la palabra clave PUBLIC, alias-name debe identificar un alias público que exista en el servidor actual.
- ALIAS nombre-alias
- Identifica el alias que se eliminará. El alias debe identificar un alias que exista en el servidor actual.
Eliminar un alias de una tabla o vista no tiene ningún efecto en ninguna vista, tabla de consulta materializada o sinónimo que se haya definido utilizando el alias. Si se hace referencia al alias en la definición de un permiso de fila o una máscara de columna, no se puede eliminar.
Eliminar un alias de una secuencia no tiene ningún efecto en ninguna vista o tabla de consulta materializada que se haya definido utilizando el alias. Si se hace referencia al alias en la definición de una función SQL en línea, no se puede eliminar. Cuando se elimina un alias de una secuencia, todos los paquetes que hacen referencia al alias de la secuencia se invalidan.
Si se hace referencia al alias en la definición de un permiso de fila o una máscara de columna, el alias no se puede eliminar.
- FOR TABLE
- Especifica que el alias que se va a eliminar es para una tabla o vista. Eliminar un alias de una tabla no tiene ningún efecto en ninguna vista, tabla de consulta materializada o sinónimo que se haya definido utilizando el alias.
- FOR SEQUENCE
- Especifica que el alias que se va a eliminar es para una secuencia. Eliminar un alias de una secuencia no tiene ningún efecto en ninguna vista ni en ninguna tabla de consulta materializada que se haya definido utilizando el alias.
- DATABASE nombre-base-datos
- Identifica la base de datos que se va a eliminar. El nombre debe identificar una base de datos que exista en el servidor actual. DSNDB04 o DSNDB06 no deben especificarse. El conjunto de privilegios debe incluir la autoridad SYSADM.
Cada vez que se elimina una base de datos, también se eliminan todos sus espacios de tabla, tablas, espacios de índice e índices. También se eliminan los cambios pendientes en las definiciones de los espacios de tabla y los índices de la base de datos.
Puede eliminar una base de datos que contenga una tabla de historial solo si la base de datos también contiene la tabla temporal de período de sistema asociada. Puede soltar una base de datos que contenga una tabla temporal de período de sistema cuando la tabla de historial asociada esté en otra base de datos. En este caso, la acción se extiende en cascada para eliminar la tabla de historial en la otra base de datos.
Solo puede eliminar una base de datos que contenga una tabla de archivo si la base de datos también contiene la tabla asociada habilitada para archivo. Puede soltar una base de datos que contenga una tabla habilitada para archivo cuando la tabla de archivo asociada esté contenida en otra base de datos. En este caso, la acción se extiende en cascada para soltar la tabla de archivo en la otra base de datos.
La base de datos no se puede eliminar si está asociada a una tabla de solo acelerador.
- FUNCTION o SPECIFIC FUNCTION
- Identifica la función que se va a eliminar. La función debe existir en el servidor actual y debe haberse definido con la instrucción CREATE FUNCTION. La función concreta puede identificarse por su nombre, su firma de función o su nombre específico.
La definición de función especificada se elimina del esquema.
Las funciones que se generan implícitamente mediante la sentencia CREATE TYPE no se pueden eliminar con la sentencia DROP. Se eliminan implícitamente cuando se elimina el tipo distinto.
Como indica la palabra clave predeterminada RESTRICT, la función no se elimina si existe alguna de las siguientes dependencias:
- Otra función tiene su origen en la propia función.
- Una vista utiliza la función.
- Un paquete de desencadenantes utiliza la función.
- La definición de una tabla de consulta materializada utiliza la función.
- La definición de un permiso de fila o una máscara de columna utiliza la función.
Cuando se elimina una función, también se eliminan todos los privilegios sobre la función. Cualquier paquete que dependa de la función eliminada queda inoperativo. Todas las copias de paquetes también están marcadas como VALID='NO'.
Si la función es una función escalar SQL compilada, también se elimina el paquete asociado a la función.
Se eliminan todas las versiones de una función escalar SQL compilada. Para eliminar una versión específica de una función escalar SQL compilada, utilice una instrucción ALTER FUNCTION (función escalar SQL compilada) con la cláusula DROP VERSION.
- FUNCTION nombre-función
- Identifica la función por su nombre. El nombre de la función debe identificar exactamente una función. La función puede tener cualquier número de parámetros definidos para ella. Si hay más de una función del nombre especificado en el esquema especificado o implícito, se devuelve un error.
- FUNCTION nombre-función (tipo-parámetro,...)
- Identifica la función por su firma de función, que identifica la función de forma única. El nombre de la función (tipo de parámetro, etc.) debe identificar una función con la firma de función especificada. Los parámetros especificados deben coincidir con los tipos de datos en la posición correspondiente que se especificaron cuando se creó la función. El número de tipos de datos y la concatenación lógica de los tipos de
datos se utiliza para identificar la instancia de función específica
que se debe eliminar. Los sinónimos de tipos de datos se consideran una coincidencia.
Si la función se definió con un parámetro de tabla (la cláusula LIKE TABLE name AS LOCATOR se especificó en la instrucción CREATE FUNCTION para indicar que uno de los parámetros de entrada es una tabla de transición), la firma de la función no puede utilizarse para identificarla de forma única. En su lugar, utilice una de las otras variaciones de sintaxis para identificar la función con su nombre de función, si es único, o su nombre específico.
Si se especifica function-name (), la función identificada debe tener cero parámetros.
- nombre-función
- Identifica el nombre de la función.
- (tipo de parámetro,...)
- Identifica los parámetros de la función.
Si se especifica un nombre de tipo distinto no cualificado, Db2 busca en la ruta SQL para resolver el nombre de esquema para el tipo distinto.
Para los tipos de datos que tienen un atributo de longitud, precisión o escala, utilice uno de los siguientes:
- Los paréntesis vacíos indican que el administrador de la base de datos ignora el atributo al determinar si los tipos de datos coinciden. Por ejemplo, DEC() se considerará una coincidencia para un parámetro de una función definida con un tipo de datos de DEC(7,2). De manera similar, DECFLOAT() se considerará una coincidencia para DECFLOAT(16) o DECFLOAT(34). Sin embargo, FLOAT no puede especificarse con paréntesis vacíos porque su valor de parámetro indica un tipo de datos específico (REAL o DOUBLE).
- Si se especifica un valor concreto para un atributo de longitud, precisión o escala, el valor debe coincidir exactamente con el valor que se especificó (implícita o explícitamente) en la instrucción CREATE FUNCTION. Si el tipo de datos es FLOAT, la precisión no tiene que coincidir exactamente con el valor especificado porque la coincidencia se basa en el tipo de datos (REAL o DOUBLE).
- Si no se especifica explícitamente la longitud, la precisión o la escala, y no se especifican paréntesis vacíos, se dan por supuestos los atributos predeterminados del tipo de datos. La longitud implícita debe coincidir exactamente con el valor que se especificó (implícita o explícitamente) en la instrucción CREATE FUNCTION.
Para los tipos de datos con un subtipo o un atributo de esquema de codificación, es opcional especificar la cláusula FOR subtype DATA o la cláusula CCSID. La omisión de cualquiera de las cláusulas indica que Db2 ignora el atributo al determinar si los tipos de datos coinciden. Si especifica cualquiera de las cláusulas, debe coincidir con el valor que se especificó implícita o explícitamente en la instrucción CREATE FUNCTION.
- AS LOCATOR
- Especifica que la función está definida para recibir un localizador para este parámetro. Si se especifica AS LOCATOR, el tipo de datos debe ser un LOB o un tipo distinto basado en un LOB.
- SPECIFIC FUNCTION nombre-específico
- Identifica la función por su nombre específico. El nombre específico debe identificar una función específica que exista en el servidor actual.
- INDEX nombre-índice
- Identifica el índice que se va a eliminar. El nombre debe identificar un índice definido por el usuario que exista en el servidor actual, pero no debe identificar un índice poblado en una tabla auxiliar o un índice que se haya creado implícitamente para una tabla que contenga una columna XML. (Para obtener más información sobre la eliminación de índices definidos por el usuario en tablas de catálogo, consulte Instrucciones SQL permitidas en el catálogo ) Un índice poblado en una tabla auxiliar solo se puede eliminar eliminando la tabla base. El nombre no debe identificar una tabla auxiliar para un objeto que esté involucrado en una relación de clonación.
Si el índice que se elimina se creó especificando la cláusula ENDING AT para definir los límites de las particiones, la tabla se convierte para utilizar la partición controlada por tabla. La clave de límite alto para la última partición se establece en el valor más alto posible para las columnas de clave ascendente o en el valor más bajo posible para las columnas de clave descendente.
Siempre que se elimina un índice directa o indirectamente, también se elimina su espacio de índice. El nombre de un espacio de índice eliminado no se puede reutilizar hasta que se realice una operación de confirmación. También se descartan los cambios pendientes en las definiciones del índice.
Si el índice es un índice único utilizado para aplicar una restricción única (clave primaria o única), la restricción única debe eliminarse antes de que se pueda eliminar el índice. Además, si una restricción única admite una restricción referencial, el índice no se puede eliminar a menos que se elimine la restricción referencial.
Sin embargo, un índice único (para una clave única solamente) puede eliminarse sin eliminar primero la restricción de clave única si la clave única se creó en una versión de Db2 anterior a la versión 7 y si la restricción de clave única no tiene restricciones referenciales asociadas. Para obtener información sobre la eliminación de restricciones, consulte la instrucción ALTER TABLE.
Si el índice se utiliza para la clave externa de una restricción referencial temporal, la restricción referencial debe eliminarse antes de poder eliminar el índice.
Si el espacio de la tabla se crea explícitamente y se elimina un índice único y ese índice se definió en una columna ROWID que se define como GENERATED BY DEFAULT, la tabla aún se puede utilizar, pero no se pueden insertar filas en esa tabla.
Si el espacio de la tabla se crea implícitamente, el índice no se puede eliminar si está definido en una columna ROWID que está definida como GENERATED BY DEFAULT.
Si se elimina un índice vacío en una tabla auxiliar, la tabla base se marca como incompleta. Si el espacio de la tabla base se crea implícitamente, no se puede eliminar el índice de una tabla auxiliar.
El índice de eliminación dará lugar a la supresión de filas en las tablas de catálogo SYSCOLDIST y SYSCOLDISTATS si ningún otro índice de la tabla tiene el mismo grupo de columnas en el prefijo de la secuencia de claves.
- MASK nombre-máscara
- Identifica la máscara de columna que se debe descartar. El nombre debe identificar una máscara de columna que exista en el servidor actual.
- PACKAGE collection-id.package-name
- Identifica la versión del paquete que se debe entregar. El nombre más el identificador de versión especificado implícita o explícitamente deben identificar una versión del paquete que exista en el servidor actual. La omisión del identificador de versión es una especificación implícita de la versión nula.
El nombre no debe identificar un paquete de activación o un paquete asociado a una rutina SQL. Un paquete desencadenante solo puede eliminarse si se elimina la tabla de desencadenantes o de sujetos asociada. Un paquete asociado a un procedimiento SQL nativo solo se puede eliminar con una instrucción ALTER PROCEDURE con una cláusula DROP VERSION que especifique la versión concreta que se va a eliminar, o con una instrucción DROP PROCEDURE si es la única versión definida para el procedimiento.
Especifique esta cláusula para eliminar un paquete que se crea como resultado de un comando BIND COPY utilizado para implementar una versión de un procedimiento nativo de SQL.
Si un paquete tiene copias actuales, anteriores y originales, la declaración DROP eliminará todas las copias.
- VERSION version-id
- version-id es el identificador de versión que se asignó al DBRM del paquete cuando se creó el DBRM. Si no se especifica el identificador de versión, se utiliza una versión nula como identificador de versión.
Delimite el identificador de versión cuando:
- Se genera mediante la opción del precompilador VERSION(AUTO)
- Comienza con un dígito
- Contiene minúsculas o mayúsculas y minúsculas
Para más información sobre los identificadores de versión, consulte la información sobre la preparación de un programa de aplicación para su ejecución en Creación de una versión de paquete.
- PERMISSION nombre-permiso
- Identifica el permiso de fila que se debe descartar. El nombre debe identificar un permiso de fila que exista en el servidor actual. El nombre no debe identificar el permiso predeterminado de fila que fue creado implícitamente por Db2.
- PROCEDURE nombre-del-procedimiento
- Identifica el procedimiento almacenado que se va a eliminar. El nombre debe identificar un procedimiento almacenado que se definió con la instrucción CREATE PROCEDURE en el servidor actual.
La definición de procedimiento especificada se elimina del esquema. También se eliminan todos los privilegios del procedimiento y se marcan como no válidos todos los paquetes que dependen del procedimiento. Si el procedimiento es un procedimiento SQL, también se elimina el paquete asociado al procedimiento.
Como indica la palabra clave por defecto RESTRICT, el procedimiento no se abandona si existe alguna de las siguientes dependencias:

- Una definición de activador contiene una instrucción CALL que identifica el procedimiento.
- Una definición de rutina SQL contiene una instrucción CALL que identifica el procedimiento.

Se eliminan todas las versiones de un procedimiento SQL nativo. Para eliminar una versión específica de un procedimiento SQL nativo, utilice una sentencia ALTER PROCEDURE (SQL - procedimiento nativo) con la cláusula DROP VERSION.
Utilice una sentencia DROP PACKAGE para eliminar un paquete para una versión de un procedimiento SQL nativo que se crea utilizando el comando BIND COPY.
- ROLE nombre-rol
- Identifica el rol que se va a eliminar. nombre-rol debe identificar un rol que exista en el servidor actual.
Cuando se elimina un rol, se revocan todos los privilegios y autorizaciones que se le habían concedido previamente. Si el rol que se elimina es el propietario de las sentencias en la caché de sentencias dinámica, las sentencias almacenadas en caché se invalidan.
La función no se elimina si se encuentra alguna restricción REVOKE. Las restricciones de REVOCACIÓN incluyen las siguientes:- Restricciones que se encuentran cuando se incluyen privilegios dependientes cuando se revocan los privilegios de un rol.
- El rol es el otorgante de cualquier privilegio o autoridad que utilizó la autoridad ACCESSCTRL o SECADM para realizar la concesión.
Si se especifica RESTRICT, el rol no se elimina si existe alguna de las siguientes relaciones:
- El rol está asociado a cualquier contexto de confianza o a cualquier usuario en un contexto de confianza.
- El rol está asociado a un hilo en ejecución.
- El rol es el propietario de cualquiera de los siguientes objetos:
Object Object - Alias
- Tipo de matriz
- Máscara de columna
- Base de datos
- Tipo diferenciado
- Variable global
- Índice
- Archivo JAR
- Tabla de consultas materializadas
- Paquete
- Rol
- Permiso de fila
- Secuencia
- Grupo de almacenamiento
- Procedimiento almacenado
- Tabla
- Espacio de tabla
- Desencadenante
- Contexto de confianza
- Función definida por el usuario
- Vista
- SEQUENCE nombre-secuencia
- Identifica la secuencia de entrega. El nombre debe identificar una secuencia existente en el servidor actual.
sequence-name no debe ser el nombre de un objeto de secuencia interna que sea utilizado por Db2 (incluida una secuencia generada implícitamente para una columna de tipo " DB2_GENERATED_DOCID_FOR_XML "). Las secuencias generadas por el sistema para columnas de identidad o bases de datos creadas implícitamente no pueden eliminarse mediante la instrucción DROP SEQUENCE. Un objeto de secuencia para una columna de identidad se elimina implícitamente cuando se elimina la tabla que contiene la columna de identidad.
La palabra clave predeterminada RESTRICT indica que la secuencia no se elimina si existe alguna de las siguientes dependencias:
- Existe un desencadenante que utiliza la secuencia en una expresión de VALOR SIGUIENTE o VALOR ANTERIOR.
- Existe una función SQL en línea que utiliza las secuencias en una expresión NEXT VALUE o PREVIOUS VALUE.
Siempre que se elimina una secuencia, también se eliminan todos los privilegios de la secuencia y se invalidan los paquetes que hacen referencia a la secuencia. El abandono de una secuencia, incluso si el proceso de abandono se revierte, da como resultado la pérdida de los valores de caché aún no asignados para la secuencia.
- STOGROUP nombre del grupo de tiendas
- Identifica el grupo de almacenamiento que se va a eliminar. El nombre debe identificar un grupo de almacenamiento que exista en el servidor actual, pero no un grupo de almacenamiento que sea utilizado por cualquier espacio de tabla o espacio de índice.
Para obtener información sobre el efecto de eliminar el grupo de almacenamiento predeterminado de una base de datos, consulte Eliminación de un grupo de almacenamiento predeterminado.
- SYNONYM sinónimo
- Identifica el sinónimo que se debe eliminar. En una declaración estática DROP SYNONYM, el nombre debe identificar un sinónimo que sea propiedad del propietario del plan o paquete. En una sentencia DROP SYNONYM dinámica, el nombre debe identificar un sinónimo que sea propiedad del ID de autorización SQL. Por lo tanto, utilizando SQL interactivo, un usuario con autoridad SYSADM puede eliminar cualquier sinónimo estableciendo primero CURRENT SQLID al propietario del sinónimo.
La eliminación de un sinónimo invalida los paquetes dependientes y la caché dinámica de sentencias. La eliminación de un sinónimo no afecta a ninguna vista, tabla de consulta materializada o alias que se haya definido utilizando el sinónimo.
Si se hace referencia al sinónimo en la definición de un permiso de fila o una máscara de columna, no se puede eliminar.
- TABLE nombre-tabla o nombre-alias
- Identifica la tabla que se va a eliminar. El nombre debe identificar una tabla que exista en el servidor actual. No debe identificar ninguno de los siguientes tipos de tablas:
- Una tabla de catálogo
Una tabla de directorios
FL 506 Una tabla en un espacio de tabla particionado (no UTS)
- Una tabla que se crea implícitamente para una columna XML
- Una tabla auxiliar rellenada
Una tabla en un espacio de tabla particionado (no UTS) sólo puede eliminarse eliminando el espacio de tabla.
Una tabla auxiliar poblada o una tabla creada implícitamente para una columna XML sólo puede eliminarse eliminando la tabla base asociada.Si se especifica alias-nombre, la tabla real se elimina como si se hubiera especificado tabla-nombre. Sin embargo, el alias no se elimina. Se puede eliminar mediante la instrucción DROP ALIAS.
Cuando se elimina una tabla directa o indirectamente, también se eliminan los siguientes elementos:- Todos los privilegios sobre la mesa
- Todas las restricciones referenciales en las que la tabla es principal o dependiente
- Todos los sinónimos, vistas e índices que se definen en la tabla
- Todos los permisos de fila (incluido el permiso de fila predeterminado)
- Todas las máscaras de columna que se crean para la tabla
FL 506 Si el espacio de tabla para la tabla es un espacio de tabla universal, un espacio de tabla LOB o creado implícitamente, también se elimina. Sin embargo, si la base de datos contenedora se creó de forma implícita, no se elimina. También se elimina cualquier cambio pendiente en las definiciones del espacio de tabla y los índices eliminados.
Para obtener más información, consulte Eliminación de una base de datos creada implícitamente.
Cuando se elimina una tabla directa o indirectamente, también se eliminan todas las tablas de consulta materializadas que están definidas en la tabla. Cuando se elimina directa o indirectamente una tabla de consulta materializada, también se eliminan los siguientes elementos:
- Todos los privilegios en la tabla de consulta materializada
- Todos los sinónimos, vistas e índices que se definen en la tabla de consulta materializada
Cualquier alias que esté definido en la tabla de consulta materializada no se elimina. Todos los paquetes que dependen de la tabla de consulta materializada eliminada se marcan como no válidos.
No puede utilizar DROP TABLE para eliminar una tabla clonada. Debe utilizar la instrucción ALTER TABLE con la cláusula DROP CLONE para eliminar una tabla clonada. Si se elimina una tabla base que está involucrada en una relación de clonación, también se elimina la tabla de clonación asociada. No se puede eliminar una mesa auxiliar para un objeto que está involucrado en una relación de clonación.
La tabla no se puede eliminar si está definida como una tabla de historial para una tabla temporal de período de sistema.
La tabla no se puede eliminar si se hace referencia a ella en la definición de un permiso de fila o una máscara de columna.
Para eliminar una tabla temporal de período del sistema, el conjunto de privilegios también debe contener la autorización necesaria para eliminar la tabla de historial. La tabla de historial se elimina cuando se elimina una tabla temporal de período de sistema.
Si se elimina una tabla con columnas LOB, también se eliminan las tablas auxiliares asociadas a la tabla y los índices de las tablas auxiliares.
FL 506 Db2 también elimina los espacios de tabla LOB que contienen las tablas auxiliares, independientemente de si los espacios de tabla LOB se crearon implícita o explícitamente.
Si se suprime una tabla con columnas XML, también se suprimen todos los objetos creados implícitamente para todas las columnas XML.
Si se elimina una tabla auxiliar vacía, la definición de la tabla base se marca como incompleta. Si el espacio de la tabla base se crea implícitamente, la tabla auxiliar no se puede eliminar.
Si la tabla tiene una columna de etiqueta de seguridad, el ID de autorización principal de la sentencia DROP debe tener una etiqueta de seguridad válida, y la clase SECLABEL de RACF® s debe estar activa.
Si se elimina una tabla que utiliza una organización hash, se limpian todas las entradas del catálogo para la organización hash.
Si se elimina una tabla habilitada para archivo, también se eliminan la tabla de archivo y los índices que estén definidos en la tabla de archivo. Para eliminar una tabla habilitada para archivo, el conjunto de privilegios también debe contener la autorización necesaria para eliminar la tabla de archivo. Una tabla de archivo no se puede eliminar explícitamente mediante la instrucción DROP.
- TABLESPACE database-name.table-space-name
- Identifica el espacio de la tabla que se va a eliminar. El nombre debe identificar un espacio de tabla que exista en el servidor actual.
El nombre de la base de datos no debe ser DSNDB01 ni DSNDB06.
La omisión del nombre de la base de datos es una especificación implícita de DSNDB04. table-space-name no debe identificar un espacio de tabla que se crea implícitamente para una columna XML.Siempre que se descarte directa o indirectamente un espacio de mesa, también se descartan todas las mesas del espacio de mesa. El nombre de un espacio de tabla eliminado no se puede reutilizar hasta que se realice una operación de confirmación. También se descartan los cambios pendientes en las definiciones del espacio de tabla y sus índices.
Un espacio de mesa LOB solo puede eliminarse si no contiene una mesa auxiliar. Si el espacio de la tabla LOB se crea de forma implícita, no se puede eliminar.
Siempre que se elimina un espacio de tabla base que contiene tablas con columnas LOB, también se eliminan todas las tablas auxiliares y los índices de esas tablas auxiliares que están asociados con el espacio de tabla base.
Siempre que se elimina un espacio de tabla base que contiene tablas con columnas XML, también se eliminan todos los objetos creados implícitamente para todas las columnas XML.
El espacio de tabla no se puede eliminar si contiene una tabla de historial, una tabla de archivo o está asociada a una tabla de solo acelerador.
- TRIGGER nombre-activador
- Identifica el desencadenante para abandonar. El nombre debe identificar un desencadenante que exista en el servidor actual.
Siempre que se elimine un desencadenante, ya sea directa o indirectamente, también se eliminan todos los privilegios sobre el desencadenante y se libera el paquete de desencadenantes asociado. El nombre de ese paquete desencadenante es el mismo que el nombre del desencadenante y el ID de la colección es el nombre del esquema.
Cuando se elimina un desencadenante INSTEAD OF, se revoca el privilegio asociado a cualquier persona que posea el privilegio como resultado de una concesión implícita que se produjo cuando se creó el desencadenante.
El descarte de activadores hace que algunos paquetes se marquen como no válidos. Por ejemplo, si trigger-name especifica un disparador INSTEAD OF en una vista V, otro disparador podría depender de trigger-name a través de una actualización de la vista V, y ese paquete de disparadores se invalida.
Si un desencadenador tiene copias actuales, anteriores y originales, la instrucción DROP eliminará todas las copias.
Para un disparador avanzado, se descartan todas las versiones del disparador. Utilice una sentencia ALTER TRIGGER con la cláusula DROP VERSION para eliminar una versión específica de un disparador.
- TRUSTED CONTEXT nombre_contexto
- Identifica el contexto de confianza que se va a eliminar. El nombre de contexto debe identificar un contexto de confianza que exista en el servidor actual. Cuando se elimina un contexto de confianza, se eliminan todas las asociaciones a atributos (direcciones IP, nombres de trabajo) y asociaciones a usuarios del contexto de confianza. Si el contexto de confianza se elimina mientras las conexiones de confianza para el contexto están activas, las conexiones permanecen activas hasta que finalizan o se realiza el siguiente intento de reutilización.
- TIPO nombre-tipo
- Identifica el tipo definido por el usuario que se va a eliminar. El nombre debe identificar un tipo definido por el usuario que exista en el servidor actual. La palabra clave predeterminada RESTRICT indica que el tipo definido por el usuario no se elimina si existe alguna de las siguientes dependencias:
- La definición de una columna de una tabla utiliza el tipo definido por el usuario.
- La definición de un parámetro de entrada o resultado de una función definida por el usuario utiliza el tipo definido por el usuario.
- La definición de un parámetro de un procedimiento almacenado utiliza el tipo definido por el usuario.
- La definición de un índice extendido utiliza una función de conversión que se genera implícitamente para el tipo definido por el usuario.
- La definición de una variable SQL en un procedimiento o función utiliza el tipo definido por el usuario.
- La definición de un permiso de fila o una máscara de columna utiliza el tipo definido por el usuario.
- Existe una secuencia cuyo tipo de datos es el tipo definido por el usuario.
- Existe una de las siguientes dependencias en una de las funciones generadas para el tipo definido por el usuario:
- Otra función se obtiene de una de las funciones de reparto
- Una vista utiliza una de las funciones de reparto
- Un paquete de activación utiliza una de las funciones de reparto
- La definición de una tabla de consulta materializada utiliza una de las funciones de reparto
Siempre que se elimina un tipo definido por el usuario, también se eliminan todos los privilegios sobre el tipo distinto. Además, las funciones de conversión que se generaron cuando se creó el tipo definido por el usuario y los privilegios sobre esas funciones de conversión también se eliminan.
- VARIABLE nombre variable
- Identifica la variable global que se va a eliminar. El nombre debe identificar una variable global que exista en el servidor actual. El nombre no debe identificar una variable global incorporada. La palabra clave predeterminada RESTRICT indica que la variable global no se elimina si existe alguna de las siguientes dependencias:
- La definición de una función, un desencadenador o una vista depende de la variable global
Los paquetes que dependen de la variable global se marcan como no válidos cuando se elimina la variable global. Si una instrucción que está en la caché de instrucciones dinámicas depende de la variable global y la variable global se elimina, la instrucción en la caché de instrucciones dinámicas se invalidará si no está en uso.
- VIEW nombre-de-vista o nombre-de-alias
- Identifica la vista que se va a eliminar. El nombre debe identificar una vista que exista en el servidor actual.
Siempre que se elimina una vista directa o indirectamente, también se eliminan todos los privilegios sobre la vista y todos los sinónimos y vistas que se definen en la vista. Siempre que se elimine una vista directa o indirectamente, también se eliminarán todas las tablas de consulta materializadas definidas en la vista.
Si se especifica alias-nombre, la vista real se eliminará como si se hubiera especificado vista-nombre. Sin embargo, el alias no se elimina y puede eliminarse utilizando la instrucción DROP ALIAS.
Si la vista se menciona en la definición de un permiso de fila o una máscara de columna, no se puede eliminar.
Notas para DROP
- Restricciones en DROP:
- DROP está sujeto a estas restricciones:
- DROP DATABASE no puede realizarse mientras una utilidad de desfragmentación ( Db2 ) tenga control de cualquier parte de la base de datos.
- DROP INDEX no se puede realizar mientras una utilidad de control de errores ( Db2 ) tiene el control del índice o de su espacio de tabla asociado.
- DROP INDEX no se puede realizar si el índice es un índice único que está definido en una columna ROWID que está definida como GENERATED BY DEFAULT y hay cambios pendientes en la definición del espacio de tablas o en cualquier objeto dentro del espacio de tablas que se crea explícitamente.
- DROP INDEX no se puede realizar si el índice es un índice vacío en una tabla auxiliar que reside en un espacio de tabla LOB creado explícitamente y hay cambios pendientes en la definición del espacio de tabla base o en cualquier objeto dentro del espacio de tabla base.
- DROP INDEX no se puede realizar si el índice es el índice de desbordamiento de hash para una tabla que utiliza organización hash.
- DROP TABLE no se puede realizar mientras una utilidad de control de espacio ( Db2 ) tiene el control del espacio de tabla que contiene la tabla.
- DROP TABLE no se puede realizar si la tabla es una tabla auxiliar vacía y hay cambios pendientes en la definición del espacio de la tabla base o en cualquier objeto dentro del espacio de la tabla base.
- DROP TABLESPACE no se puede realizar mientras una utilidad de Db2 tiene el control del espacio de tabla.
En un entorno de intercambio de datos, también se aplican las siguientes restricciones:- Si algún miembro tiene una tabla de especificación de límite de recursos (RLST) activa, no puede eliminar la base de datos o el espacio de tabla que contiene la tabla, la tabla en sí misma o cualquier índice de la tabla.
- Si el miembro que ejecuta la eliminación no puede acceder a los conjuntos de datos gestionados por Db2, solo se eliminan las entradas de catálogo y directorio de esos conjuntos de datos.
Los objetos que tienen ciertas dependencias no se pueden soltar. Para más información sobre estas restricciones, véase el cuadro 3. - Recreación de objetos:
- Después de eliminar un índice o espacio de tabla, se debe realizar una confirmación antes de que el objeto pueda volver a crearse con el mismo nombre. Si se elimina una tabla que se creó sin una cláusula IN (lo que provoca que se cree implícitamente un espacio de tabla), no se puede volver a crear una tabla con el mismo nombre hasta que se realice una confirmación.
- Eliminar una tabla principal:
- DROP no es DELETE y, por lo tanto, no implica reglas de eliminación.
- Eliminar un grupo de almacenamiento predeterminado:
- Si se elimina el grupo de almacenamiento predeterminado de una base de datos, la base de datos deja de tener un valor predeterminado legítimo. A continuación, debe especificar USING en cualquier sentencia que cree un espacio de tabla o índice en la base de datos. Debe hacer esto hasta que:
- Cree otro grupo de almacenamiento con el mismo nombre utilizando la instrucción CREATE STOGROUP, o
- Designe otro grupo de almacenamiento predeterminado para la base de datos mediante la instrucción ALTER DATABASE.
- Dejar caer una mesa solo con el acelerador:
- Cuando se suelta una tabla de solo acelerador y el acelerador no está activo, utilice el procedimiento SYSACCEL_DROP_TABLE para soltar la tabla en el acelerador.
- Una instrucción DROP TABLE que identifica una tabla de solo acelerador debe emitirse en una unidad de trabajo separada de otras instrucciones SQL.
- Eliminar una base de datos creada implícitamente:
- Cuando se elimina una tabla que reside en un espacio de tabla creado implícitamente, se eliminan el espacio de tabla creado implícitamente y los objetos relacionados. Sin embargo, la base de datos creada implícitamente no se elimina. Esto puede dar lugar a un gran número de bases de datos vacías en un sistema. Estas bases de datos podrían reutilizarse eventualmente para espacios de tablas implícitas de nueva creación. Estas bases de datos creadas implícitamente se pueden eliminar con DROP DATABASE.
- Soltar un espacio de tabla o índice:
- Para eliminar un espacio de tabla o índice, el tamaño del búfer asociado con el espacio de tabla o índice no debe ser cero.
- Dejar caer un espacio de mesa LOB:
FL 506 Cuando se elimina una tabla auxiliar que reside en un espacio de tabla LOB, el espacio de tabla LOB se elimina automáticamente. Un espacio de tabla LOB creado explícitamente puede eliminarse si no contiene una tabla auxiliar.
- Eliminar una base de datos cuando los conjuntos de datos de los objetos de Db2 ya se han eliminado:
- Cuando algunos de los conjuntos de datos de los objetos de la base de datos ( Db2 ) ya se hayan eliminado, DROP DATABASE funcionará de la siguiente manera:
- Para objetos gestionados por Db2:
- La instrucción DROP DATABASE eliminará los conjuntos de datos subyacentes si existen. Si los conjuntos de datos no existen, DROP DATABASE eliminará solo las entradas de catálogo para esos conjuntos de datos.
- Para objetos gestionados por el usuario:
- La instrucción DROP DATABASE eliminará únicamente las entradas de catálogo para los conjuntos de datos. Los conjuntos de datos subyacentes deberán eliminarse manualmente una vez completada la instrucción DROP DATABASE.
- Eliminar un espacio de tabla en una base de datos de archivos de trabajo:
- Si un miembro de un grupo de intercambio de datos elimina un espacio de tabla en una base de datos de archivos de trabajo, o una base de datos de archivos de trabajo completa, que pertenece a otro miembro, los conjuntos de datos administrados por Db2, a los que el miembro ejecutor no puede acceder, no se eliminan. Sin embargo, se eliminan las entradas del catálogo y del directorio para esos conjuntos de datos.
- Disminución de los índices, tablas y espacios de tabla de la instalación de límite de recursos (gobernador):
- Mientras el RLST esté activo, no puede emitir una instrucción DROP DATABASE, DROP INDEX, DROP TABLE o DROP TABLESPACE para un objeto asociado con un RLST que esté activo en cualquier miembro de un grupo de intercambio de datos. Consulte las implicaciones de la instalación de límite de recursos para compartir datos para obtener más detalles.
- Dejar una mesa temporal:
- Para eliminar una tabla temporal creada o una tabla temporal declarada, utilice la instrucción DROP TABLE.
- Soltar una tabla de consulta materializada:
- Para eliminar una tabla de consulta materializada, utilice la instrucción DROP TABLE.
- Eliminar un alias:
- Al eliminar una tabla o vista no se eliminan sus alias. Sin embargo, si utiliza la instrucción DROP TABLE y especifica un alias para una tabla o vista, la tabla o vista se eliminará. Para eliminar un alias, utilice la instrucción DROP ALIAS.
- Soltar una tabla desde un espacio de tabla creado implícitamente:
- Si se elimina una tabla de un espacio de tablas creado implícitamente, también se eliminan los siguientes objetos relacionados:
- Los índices de clave principal y única que se aplican
- Cualquier espacio de tabla LOB, tablas auxiliares e índices auxiliares
- Índice ROWID (si la columna ROWID se define como GENERATED BY DEFAULT)
FL 506 Si hay alguna columna LOB definida en la tabla, se elimina el espacio de tabla LOB.
- Colocar un índice en una tabla base y en una tabla auxiliar:
- Puede eliminar explícitamente un índice vacío en una tabla auxiliar con la instrucción DROP INDEX, a menos que el espacio de la tabla base se cree implícitamente. Un índice vacío o poblado en una tabla auxiliar se elimina implícitamente cuando:
- La tabla auxiliar está vacía y se elimina explícitamente (solo índices vacíos).
- Se elimina la tabla base asociada a la tabla auxiliar.
- El espacio de la tabla base que contiene la tabla base asociada se elimina.
Puede eliminar explícitamente una tabla auxiliar vacía con la instrucción DROP TABLE, a menos que el espacio de la tabla base se cree implícitamente. Una tabla auxiliar vacía o poblada se elimina implícitamente cuando:
- Se elimina la tabla base asociada a la tabla auxiliar.
- El espacio de la tabla base que contiene la tabla base asociada se elimina.
La siguiente tabla muestra qué sentencias DROP provocan implícita o explícitamente que se elimine una tabla auxiliar y el índice de esa tabla, como indica la «D» en la columna.Tabla 2. Efecto de varias sentencias DROP en tablas auxiliares e índices que se encuentran en espacios de tablas creados explícitamente Sentencia Tabla auxiliar Índice en la tabla auxiliar Llenado Vacío Llenado Vacío DROP TABLESPACE (espacio de tabla base) D D D D MESA DE CAÍDA (mesa base) D D D D MESA AUXILIAR (mesa auxiliar) D D DROP INDEX (índice en tabla auxiliar) D Nota : D indica que la tabla o el índice se ha eliminado. - Eliminación de un índice migrado o espacio de tabla:
- Aquí,
migración
significa migrado por el Administrador de almacenamiento jerárquico (DFSMShsm). Db2 no espera a que se produzca ninguna recuperación de los conjuntos de datos migrados. Por lo tanto, la retirada no es un factor en el tiempo que se tarda en ejecutar la declaración. - Dejar un contexto de confianza:
- La eliminación de un contexto de confianza entra en vigor después de que se confirme la instrucción DROP TRUSTED CONTEXT. Si la instrucción DROP TRUSTED CONTEXT da lugar a un error o se revierte, el contexto de confianza no se elimina.
- Evitar el fallo DROP debido a un bloqueo excesivo
- Al eliminar un espacio de tabla, una base de datos o un índice con el atributo COPY YES se borran todos los registros correspondientes en las tablas de estadísticas de catálogo SYSCOPY y SYSLGRNX. El DROP falla si el tamaño de la estructura de bloqueo no puede acomodar el número de bloqueos obtenidos durante el procesamiento del DROP. Es más probable que se produzca un error de DROP si las tablas SYSCOPY, SYSLGRNX u otras tablas de estadísticas de catálogo contienen muchas entradas, especialmente si el objeto que se está eliminando se creó hace mucho tiempo o contiene muchas particiones. El fallo de DROP también es más probable si los objetos se copian con frecuencia mientras que las utilidades MODIFY RECOVERY y MODIFY STATISTICS se ejecutan con relativa poca frecuencia.
Para evitar errores de DESCARGA, ejecute las utilidades MODIFICAR RECUPERACIÓN y MODIFICAR ESTADÍSTICAS en los objetos antes de descargarlos. Si elimina una tabla clonada, debe especificar la palabra clave CLONE para eliminar la información de recuperación y estadísticas de los objetos clonados del catálogo y el directorio. Puede especificar EDAD (*) o FECHA (*) para eliminar toda la información de recuperación y estadísticas, independientemente de la frecuencia de actualización, copia o limpieza anterior. Tenga en cuenta que si ejecuta la utilidad MODIFY con AGE(*) o DATE(*), los objetos no se podrán recuperar después de soltarlos, a menos que primero haga una copia u otra forma de copia de seguridad.
Además, asegúrese de que sus aplicaciones realizan descargas con frecuencia, especialmente para bases de datos que contienen múltiples espacios de tablas, y espacios de tablas que contienen múltiples tablas.También puede aumentar el tamaño de sus estructuras de bloqueo para adaptarse al aumento de las solicitudes de bloqueo durante este tipo de actividad.
- Invalidación de paquetes:
- Esta sentencia puede invalidar todos los paquetes que dependen de objetos de destino y, a veces, otros objetos relacionados a través de efectos en cascada, en función de las cláusulas y las palabras clave especificadas y otros factores. Para obtener más información, consulte Cambios que invalidan los paquetes.
- Dependencias al dejar caer objetos:
- Si otros objetos dependen del objeto especificado en una sentencia DROP, los objetos dependientes también podrían eliminarse, invalidarse o dejar de funcionar, o la sentencia DROP podría fallar. Estos efectos también se propagan a cualquier objeto que dependa de los objetos dependientes eliminados. Para determinar los efectos indirectos completos de una sentencia DROP, compruebe lo que ocurre con los objetos dependientes, compruebe si cada objeto dependiente tiene sus propios objetos dependientes y compruebe las reglas para esos tipos de objetos.
La siguiente tabla indica el resultado de las sentencias DROP en función del tipo de objeto especificado por la sentencia DROP y el tipo de objeto dependiente. Las letras tienen los siguientes significados:
- D (caída en cascada)
- Si existen objetos dependientes de los tipos indicados, también se eliminan. El efecto se extiende a cualquier objeto que dependa de los objetos dependientes eliminados.
- R (restringir)
- Si existen objetos dependientes de los tipos indicados, la instrucción DROP falla. Además, si no se puede eliminar ningún objeto dependiente debido a una dependencia restrictiva para sus propios objetos dependientes, la instrucción DROP falla.
- V (invalidar)
- Si existen paquetes dependientes, se invalidan.
Por ejemplo, supongamos que la vista B está definida en la tabla A y la vista C está definida en la vista B. En la siguiente tabla, la «D» en la columna Vista de la fila DROP TABLE indica que la vista B se elimina cuando se elimina la tabla A. A continuación, como la vista C depende de la vista B, compruebe la columna Vista para ver si hay DROP VIEW. La «D» en la columna indica que la vista C también se eliminará.
Tabla 3. Efecto de dejar caer objetos que tienen dependencias Declaración de DROP
Tipo de objeto dependiente AliasMáscara de columna
Función
o global variableÍndiceProcedimientoPermiso de fila
SecuenciaSTOGROUPSinónimo deTablaEspacio para la tabla de
esDesencadenanteTipoVistaDROP ALIAS R V V R V DROP FUNCTION R 4 R 12 R R BORRAR ÍNDICE 1 V V V DROP PROCEDURE R 12 R 12 R SUSPENDER FUNCIÓN R R R R R R R R R R R R R R R DROP SEQUENCE R8 R 12 R DROP STOGROUP R5 R5 DROP SYNONYM R TABLA DE CAÍDA 6 R 16 D 14 D V R 16 D D 15 D 7 D DROP TABLESPACE V D V D V DROP TRIGGER V V V DROP TYPE R R 2 R 9 R 3 R R R V11 DROP VARIABLE R V R R DROP VIEW R D 14 V R D D 15 D 10 D Notas de tabla:- El espacio de índice asociado con el índice se elimina.
- Si una función depende de que se elimine el tipo definido por el usuario, el tipo definido por el usuario no se puede eliminar a menos que la función sea una de las funciones de conversión que se crearon para el tipo definido por el usuario.
- Si la definición de un parámetro de un procedimiento almacenado utiliza el tipo definido por el usuario, el tipo definido por el usuario no se puede eliminar.
- Si otras funciones definidas por el usuario se originan en la función definida por el usuario que se está eliminando, la función no se puede eliminar.
- Un grupo de almacenamiento no se puede eliminar si lo utiliza algún espacio de tabla o espacio de índice.
FL 506 Si la tabla reside en un espacio de tabla universal creado explícitamente o en cualquier espacio de tabla creado implícitamente, el espacio de tabla también se elimina.
- Cuando se elimina una tabla de temas, también se eliminan los activadores asociados y los paquetes de activadores relacionados.
- Esta restricción es solo para funciones SQL.
- El índice en este caso debe ser un índice basado en expresiones.
- Cuando se elimina una vista de tema, también se eliminan los activadores asociados y los paquetes de activadores relacionados.
- Cualquier paquete que dependa de un activador INSTEAD OF se marcará como no válido.
- No se puede eliminar una rutina o secuencia a la que hace referencia un procedimiento SQL nativo.
- No se puede eliminar un alias o sinónimo si hay una función de tabla SQL en línea dependiente.
- Cuando se elimina una tabla o vista, también se eliminan las funciones de tabla SQL en línea dependientes.
- Cuando se elimina una tabla o vista, también se eliminan las tablas de consulta materializadas dependientes.
- Cuando se elimina una tabla, también se eliminan los permisos de fila o las máscaras de columna definidos directamente en la tabla. Si algún permiso de fila o máscara de columna hace referencia a la tabla en el cuerpo, la tabla no se puede eliminar.
- Sintaxis alternativa y sinónimos:
- Para proporcionar compatibilidad con versiones anteriores de Db2 u otros productos de la familia Db2 , Db2 admite las siguientes palabras clave:
- TIPO DE DATOS o TIPO DISTINTO como sinónimo de TIPO
- PROGRAMA como sinónimo de PAQUETE
- DROP ALIAS SYSPUBLIC.name se puede especificar como alternativa a DROP PUBLIC ALIAS SYSPUBLIC.name
Ejemplos para DROP
- Ejemplo 1
- Mesa de caída DSN8C10. DEPT.
DROP TABLE DSN8C10.DEPT; - Ejemplo 2
- Eliminar espacio de tabla DSN8S12D en la base de datos DSN8D12A.
DROP TABLESPACE DSN8D12A.DSN8S12D; - Ejemplo 3
- Soltar la vista DSN8C10.VPROJRE1 :
DROP VIEW DSN8C10.VPROJRE1; - Ejemplo 4
- Deje el paquete DSN8CC0 con el identificador de versión VERSZZZZ. El paquete está en la colección DSN8CC61. Utilice el identificador de versión para distinguir el paquete que se va a entregar de otro paquete con el mismo nombre en la misma recogida.
DROP PACKAGE DSN8CC61.DSN8CC0 VERSION VERSZZZZ; - Ejemplo 5
- Dejar el paquete DSN8CC0 con el identificador de versión
1994-07-14-09.56.30.196952
. Cuando la opción del precompilador VERSION(AUTO) genera un identificador de versión, delimite el identificador de versión.DROP PACKAGE DSN8CC61.DSN8CC0 VERSION "1994-07-14-09.56.30.196952"; - Ejemplo 6
- Elimine el tipo DOCUMENT, si no está en uso actualmente:
DROP TYPE DOCUMENT; - Ejemplo 7
- Supongamos que usted es SMITH y que ATOMIC_WEIGHT es la única función con ese nombre en el esquema CHEM. Soltar ATOMIC_WEIGHT.
DROP FUNCTION CHEM.ATOMIC_WEIGHT; - Ejemplo 8
- Supongamos que usted es SMITH y que ha creado la función CENTER en el esquema SMITH. Soltar CENTRO, utilizando la firma de la función para identificar la instancia de la función que se va a soltar.
DROP FUNCTION CENTER(INTEGER, FLOAT); - Ejemplo 9
- Supongamos que usted es SMITH y que ha creado otra función llamada CENTER, a la que ha dado el nombre específico FOCUS97, en el esquema JOHNSON. Soltar CENTRO, utilizando el nombre específico para identificar la instancia de función que se va a soltar.
DROP SPECIFIC FUNCTION JOHNSON.FOCUS97; - Ejemplo 10
- Supongamos que usted es SMITH y que el procedimiento almacenado OSMOSIS está en el esquema BIOLOGY. Soltar OSMOSIS.
DROP PROCEDURE BIOLOGY.OSMOSIS; - Ejemplo 11
- Supongamos que usted es SMITH y que el activador BONUS está en su esquema. BONIFICACIÓN por compra.
DROP TRIGGER BONUS; - Ejemplo 12
- Eliminar el rol CTXROLE:
DROP ROLE CTXROLE; - Ejemplo 13
- Dejar el contexto de confianza CTX1:
DROP TRUSTED CONTEXT CTX1; - Ejemplo 14
- Eliminar alias público PUBALIAS1:
DROP PUBLIC ALIAS PUBALIAS1 FOR SEQUENCE;
