Hola a todos, estoy intentando borrar registros de distintas tablas todas
relacionadas en una sola consulta, y bueno tengo una funcion a donde le
envio un parametro 'idmdi' y quiero eliminar todos los registros de varias
tablas q tengan a este valor 'idmdi' , la consulta q estoy utilizando es:

DELETE FROM mdi_detalleinstalacion WHERE (SELECT * FROM
mdi_detalleinstalacion mdi INNER JOIN mdm_detalle_material mdm ON
mdi.mdi_id=mdm.mdi_id WHERE mdi.mdi_id=idmdi);

pero me sale el sgte error:

ERROR:  la subconsulta debe retornar sólo una columna
CONTEXT:  sentencia SQL: «delete from mdi_detalleinstalacion where (select
* from mdi_detalleinstalacion mdi inner join mdm_detalle_material mdm on
mdi.mdi_id=mdm.mdi_id where mdi.mdi_id= $1 )»
PL/pgSQL function "borrar_detalleinstalacion" line 5 at SQL statement

La idea es eliminar registros en una sola consulta.

-- 
Saludos,
Karina

Responder a