He la siguiente estructura de base de datos en SQLite:desencadenantes en cascada en SQLite
db structure http://i39.tinypic.com/kb3qef.jpg
Quiero crear un disparador que cada vez que elimino un país también se eliminan todos los distritos relacionados, municipios y parroquias (como MySQL InnoDB), he intentado usar disparadores SQLite y se acercó con esto:
distritos:
CREATE TRIGGER [delete_country]
BEFORE DELETE
ON [countries]
FOR EACH ROW
BEGIN
DELETE FROM districts WHERE districts.id_countries = id;
END
municipios:
CREATE TRIGGER [delete_district]
BEFORE DELETE
ON [districts]
FOR EACH ROW
BEGIN
DELETE FROM municipalities WHERE municipalities.id_districts = id;
END
Parroquias:
CREATE TRIGGER [delete_municipality]
BEFORE DELETE
ON [municipalities]
FOR EACH ROW
BEGIN
DELETE FROM parishes WHERE parishes.id_municipalities = id;
END
todavía no he probado el delete_district
y delete_municipality
desencadena porque consigo un comportamiento extraño en el delete_country
de disparo: cuando se borra una país solo el primer distrito relacionado se borra, todos los otros distritos relacionados permanecen en la tabla. ¿Qué estoy haciendo mal?
¿Qué se utiliza para crear los gráficos ? – Nifle
http://ondras.zarovi.cz/sql/ –