Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

DELETE - Amazon Redshift

DELETE

Elimina filas de tablas.

nota

El tamaño máximo de una instrucción SQL es de 16 MB.

Sintaxis

[ WITH [RECURSIVE] common_table_expression [, common_table_expression , ...] ] DELETE [ FROM ] { table_name | materialized_view_name } [ { USING } table_name, ... ] [ WHERE condition ]

Parámetros

Cláusula WITH

Se trata de una cláusula opcional que especifica una o más common-table-expressions. Consulte Cláusula WITH.

FROM

La palabra clave FROM es opcional, excepto cuando se especifica la cláusula USING. Las instrucciones delete from event; y delete event; son operaciones equivalentes que eliminan todas las filas de la tabla EVENT.

nota

Para eliminar todas las filas de una tabla, TRUNCATE la tabla. TRUNCATE es mucho más eficiente que DELETE y no requiere VACUUM ni ANALYZE. No obstante, tenga en cuenta que TRUNCATE confirma la transacción en la que se ejecuta.

table_name

Una tabla temporal o persistente. Solo el propietario de la tabla o un usuario con el privilegio DELETE en la tabla puede eliminar filas de la tabla.

Considere utilizar el comando TRUNCATE para las operaciones de eliminación incompletas rápidas en tablas grandes; para ello, consulte TRUNCATE.

nota

Después de eliminar una gran cantidad de filas de una tabla:

  • Limpie la tabla para recuperar espacio de almacenamiento y reordene las filas.

  • Analice la tabla para actualizar las estadísticas para el planificador de consultas.

materialized_view_name

Una vista materializada. La instrucción DELETE funciona en una vista materializada utilizada para Ingesta de streaming a una vista materializada. Solo el propietario de la vista materializada o un usuario con privilegio DELETE sobre la vista materializada puede eliminar filas de ella.

No puede ejecutar DELETE en una vista materializada para la ingesta de streaming con una política de seguridad a nivel de fila (RLS) que no tenga el permiso IGNORE RLS concedido al usuario. Hay una excepción a esto: Si el usuario que realiza la operación DELETE tiene concedida la opción IGNORE RLS, esta se ejecuta correctamente. Para obtener más información, consulte Propiedad y administración de la política de RLS.

USING table_name (nombre_de_tabla), ...

La palabra clave USING se utiliza para presentar una lista de tabla cuando se hace referencia a tablas adicionales en la condición de la cláusula WHERE. Por ejemplo, la siguiente instrucción elimina todas las filas de la tabla EVENT que cumplen con la condición de combinación sobre las tablas EVENT y SALES. La tabla SALES debe tener un nombre designado explícitamente en la lista FROM:

delete from event using sales where event.eventid=sales.eventid;

Si repite el nombre de la tabla de destino en la cláusula USING, la operación DELETE ejecuta una combinación automática. Puede usar una subconsulta en la cláusula WHERE en lugar de la sintaxis USING como una manera alternativa para escribir la misma consulta.

WHERE condition

Cláusula opcional que limita la eliminación de filas a aquellas que coinciden con la condición. Por ejemplo, la condición puede ser una restricción en una columna, una condición de combinación o una condición basada en el resultado de una consulta. La consulta puede hacer referencia a tablas diferentes a la tabla de origen del comando DELETE. Por ejemplo:

delete from t1 where col1 in(select col2 from t2);

Si no se especifica una condición, se eliminan todas las filas de la tabla.

Ejemplos

Elimine todas las filas de la tabla CATEGORY:

delete from category;

Elimine las filas con valores CATID entre 0 y 9 de la tabla CATEGORY:

delete from category where catid between 0 and 9;

Elimine las filas de la tabla LISTING cuyos valores SELLERID no existan en la tabla SALES:

delete from listing where listing.sellerid not in(select sales.sellerid from sales);

Las siguientes dos consultas eliminan una fila de la tabla CATEGORY en función de una combinación con la tabla EVENT y una restricción adicional en la columna CATID:

delete from category using event where event.catid=category.catid and category.catid=9;
delete from category where catid in (select category.catid from category, event where category.catid=event.catid and category.catid=9);

La siguiente consulta elimina todas las filas de la vista materializada mv_cities. El nombre de vista materializada en este ejemplo es una muestra:

delete from mv_cities;
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.