test=# CREATE TABLE rrr (id int);
CREATE
test=# CREATE RULE rrr_r AS ON DELETE TO rrr DO INSTEAD SELECT 'Not Delete';
CREATE
test=# INSERT INTO rrr VALUES (1);
INSERT 161557 1
test=# INSERT INTO rrr VALUES (2);
INSERT 161558 1
test=# DELETE FROM rrr; ?column?
------------Not Delete
(1 row)
Well, all is right. I add 'WHERE OLD.id = 2' to rule definition
and:
test=# DROP RULE rrr_r;
DROP
test=# CREATE RULE rrr_r AS ON DELETE TO rrr WHERE OLD.id = 2 DO INSTEAD SELECT 'Not Delete';
CREATE
test=# DELETE FROM rrr WHERE id = 2;
DELETE 0
#
The RULE works (nothing is deleted), but where is a output from SELECT?
It's in 7.1 and 6.5 too. Is it right?
Karel
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера