Quisiera saber si alguien conoce más acerca del tema y me ayuda a encontrar el error 'lógico' de las reglas...
Código SQL:
Ver original
CREATE OR REPLACE VIEW vista1 AS (SELECT titulo, id_obra FROM obra WHERE precio_peso <= ALL (SELECT precio_peso FROM obra WHERE ciudad = 'Medellin'));
Aquí creé la vista, de acuerdo a la base de datos que tengo, y si la selecciono me bota los datos correctos.
Código SQL:
Ver original
CREATE OR REPLACE RULE para_vista AS ON INSERT TO vista1 DO INSTEAD INSERT INTO obra (titulo, id_obra) VALUES (NEW.titulo, NEW.id_obra); CREATE OR REPLACE RULE para_vista_update AS ON UPDATE TO vista1 DO INSTEAD UPDATE obra SET titulo=NEW.titulo, id_obra=NEW.id_obra; CREATE OR REPLACE RULE para_vista_delete AS ON DELETE TO vista1 DO INSTEAD DELETE FROM obra WHERE id_obra=OLD.id_obra;
Y esas son las reglas que formulé para poder usar las sentencias:
Código SQL:
Ver original
INSERT INTO vista1 VALUES ('Hola!', 002); UPDATE vista1 SET titulo = 'Chao' WHERE id_obra=002; DELETE FROM vista1 WHERE titulo=’chao’ AND id_obra=002;
Muchas gracias!