From: | Lennin Caro <lennin(dot)caro(at)yahoo(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org, "Karina J(dot)" <jc(dot)karina(at)gmail(dot)com> |
Subject: | Re: Eliminar registros de varias tablas en una consulta |
Date: | 2008-07-31 15:21:26 |
Message-ID: | 412398.22518.qm@web59505.mail.ac4.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
--- On Thu, 7/31/08, Karina J. <jc(dot)karina(at)gmail(dot)com> wrote:
> From: Karina J. <jc(dot)karina(at)gmail(dot)com>
> Subject: [pgsql-es-ayuda] Eliminar registros de varias tablas en una consulta
> To: pgsql-es-ayuda(at)postgresql(dot)org
> Date: Thursday, July 31, 2008, 1:22 PM
> 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
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);
quiere decir que el manejador no sabe cual es el campo parar filtar en el where por ello debe de ser un solo campo
puedes usar algo asi
DELETE FROM mdi_detalleinstalacion
WHERE id in
(SELECT id FROM mdi_detalleinstalacion mdi INNER JOIN mdm_detalle_material
mdm ON
mdi.mdi_id=mdm.mdi_id WHERE mdi.mdi_id=idmdi);
From | Date | Subject | |
---|---|---|---|
Next Message | Gilberto Castillo Martínez | 2008-07-31 15:33:12 | Re: conectar desde Java |
Previous Message | Alvaro Herrera | 2008-07-31 15:15:03 | Re: Nuevas presentaciones en la wiki |