Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как использовать запросы в триггерной функции / 2 сообщений из 2, страница 1 из 1
02.08.2005, 18:43
    #33197671
Mariuz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать запросы в триггерной функции
Доброго всем времени суток!
Помогите пожалуйста!
При обновлении записи в таблице нужно чтобы старая запись оставалась, но в поле дата окончания актульности прописывалась сегодняшняя дата, а новая (обновленная) запись добавлялась и у неё в поле дата начала актульности тоже стояла сегодняшняя дата. Создаю триггер BEFORE UPDATE, триггерную функцию такую
CREATE OR REPLACE FUNCTION __upd_people()
RETURNS "trigger" AS
$BODY$declare
n1 char(20);
begin
n1:=new.people_id;
raise exception 'People id is %',n1;
new.start_date_people=current_date();
insert into people values (new.*);
old.end_date_people=current_date();
return new;
end;$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION __upd_people() OWNER TO postgres;

после вызова триггера не ответа не привета, в том смысле, что сообщение выводиться, а вот в таблицах ни добавлений, ни обновлений тишина. Я думаю что где-то с возвратом напартачил, но где (old тоже пробовал не помогает)
...
Рейтинг: 0 / 0
02.08.2005, 21:40
    #33197876
raul_83
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать запросы в триггерной функции
сообщение типа raise exception возвращает ошибку. Следовательно после неё транзакция прерывается; Можно для отладки использовать raise notice
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как использовать запросы в триггерной функции / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]