PostgreSQL - delete en cascada

 
Vista:

delete en cascada

Publicado por Montses (2 intervenciones) el 15/05/2007 23:57:55
hola chicos, espero se encuentren bien, siendo asi, sigo con mi pregunta.

Veran, tengo una base de datos en posgres, y un formulario en php, que me permite intereactuar con mi base de datos, insert, modifica, busca etc, pero al querer eliminar no puedo, primero hago el uery en sql, y no corre, alguna idea de como ahcer un delete en cascada ya que una tabla depende de la otra y si borro un registro en una quiero que tambien desaparezca en la otra, me podrian ayudar se los agradeceria mucho,

este es mi sencillisimo query

Delete from prospectos
where id_prospecto=351

no funciona :(

Gracias !!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:delete en cascada

Publicado por jarvux (1 intervención) el 22/08/2007 18:16:39
lo mejor es eliminar el registro en la otra tabla.donde este relacionado..y lugo si la que necesitas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:delete en cascada

Publicado por Valerio (1 intervención) el 06/12/2008 22:20:51
*Este es para eliminar en cascada>

CREATE OR REPLACE FUNCTION eliminar_cuenta_cascada(int) RETURNS int AS'
DECLARE
mc int;
BEGIN
select into mc count(*)
from manejocuenta
where num_cta=$1;
delete from manejocuenta
where num_cta=$1;
delete from cuenta
where num_cta=$1;
RETURN
mc;
END
'LANGUAGE'plpgsql';
select eliminar_cuenta_cascada(6407459);

Aqui tienes, es toda la funcion, espero que te sirva.

*Y este es para eliminar solo de una tabla

CREATE OR REPLACE FUNCTION eliminar_empleado(int) RETURNS int AS'
DECLARE
id int;
BEGIN
delete from empleado
where id_empleado=$1;
RETURN
id;
END
'LANGUAGE'plpgsql';
select eliminar_empleado(3);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar