@Melnik228

Почему не создается правило с IF?

пытаюсь создать правило на то, чтобы значения в поле начинались только с русских букв (как при update, так и при insert потом)
HXrMMLl.jpg
но почему-то ругается на IF
CREATE OR REPLACE RULE name_rule_update AS
    ON UPDATE TO public.abonents
    WHERE (NEW.last_name != OLD.last_name)
    DO INSTEAD
(IF NEW.last_name NOT LIKE '[А-я]%' THEN
	RAISE NOTICE 'Фамилия абонента может начинаться только с русской буквы';
END IF);
  • Вопрос задан
  • 201 просмотр
Пригласить эксперта
Ответы на вопрос 1
Melkij
@Melkij
PostgreSQL DBA
Почему вы решили, что такой синтаксис существует?
Почему вы решили, что вам нужны rule?

Вам нужен check constraint.
Для локализованного сообщения пользователю - проверка на backend'е вашего приложения. Ну или, если оочень хочется, запретить прямые изменения таблиц и общаться с пользователем базы только через хранимки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы