Триггер, initcap значение перед вставкой (PostgreSQL) - PullRequest
0 голосов
/ 12 мая 2018

Я знаю, что есть функция initcap (), которая будет выполнять преобразование для «строки».Но я хочу знать, как я могу выполнить триггер, который выполняет эту функцию, прежде чем вставлять значение в имени столбца в мой клиент таблицы.Другими словами, как должна быть объявлена ​​моя функция 'func ()'.

CREATE TRIGGER trigg
BEFORE INSERT
ON client
FOR EACH ROW
EXECUTE PROCEDURE func()

CREATE FUNCTION func()
returns trigger as 
$BODY$

begin
**???**
end;
$BODY$ language plpgsql;

1 Ответ

0 голосов
/ 12 мая 2018

Вы можете получить доступ к записи до изменения, которое инициировало триггер, с помощью псевдозаписи OLD и после изменения с помощью псевдозаписи NEW в функции триггера.Вы также можете изменить последнее.

Таким образом, чтобы изменить имя своего клиента, используйте

NEW.name := initcap(NEW.name);
RETURN NEW;

в теле функции триггера.

Для получения дополнительной информации см. 42,9.Процедуры запуска .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...