Para actualizar cada fila de una tabla, utilizo esta consulta (y funciona):
Me pregunto si puedo usar una notación similar para DELETE .
Algo como:
DELETE from test2 from generate_series(1, 1000) as idx WHERE id = idx; No funcionará ya que el segundo FROM no es válido, por supuesto. ¿Alguna idea de como arreglarlo?
¿Cuál es la mejor práctica para este tipo de operación?
Usar USING :
DELETE from test2 using generate_series(1, 1000) idx WHERE id = idx¿Cuál es la mejor práctica para este tipo de operación?
Puede usar generate_series() como lo demuestra Gordon. Esto incluso podría tener sentido para tipos no enteros o con un incremento <> 1.
Sin embargo, para casos simples, la consulta simple es superior:
DELETE FROM test2 WHERE id BETWEEN 1 AND 1000;