Ну как бы да :) В триггере (триггерной функции) вставки/апдейта пишешь RETURN NEW - это команда о том, что надо выйти из триггера и выполнить заявленную операцию. По ходу дела можешь поменять данные в любом столбце. Если же написал RETURN NULL, то это говорит о том, что нафиг не надо выполнять эту операцию. Причем, даже когда ты грузишь много данных из файла, то управляешь индивидуально каждой командой вставки. В Мускуле такое невозможно - там ты или грузишь весь файл, или вообще ничего.
Ну и если у меня была бы проблема с тем, что идет много команд на вставку, где может быть и апдейет, то я бы сделал вьюшку и на неё повесил триггер вставки (Постгре позволяет такие манипуляции). В конце обработки обязательно пишем RETURN NULL. А в процессе обработки смотрим, есть ли данные с определенными параметрами. Если есть, то апдейтим, а если нет, то вставляем. При этом мы используем только то количество автоинкрементных айдишников, которое нам требуется.
Вот пример из реально работающей триггерной функции, сделанной в тестовых целях (там как раз на вьюху триггер вставки навешен).
-- проверяю наличие города и получаю айди города
select id_town into id_t from town where town = new.town;
if id_t is null and new.town <> '' then
insert into town (town) values (new.town) returning id_town into id_t;
end if;
Данные грузятся из текстового файла, содержащего определенные данные. Если город уже имеется, то получаем его айди в переменную id_t. Если же его нет, то пишем его в базу и тут же получаем айди созданной записи в переменную id_t (заметь - без танцев с бубном, как было бы в случае Мускуля, тут всё просто и изящно).
Далее проверяются еще другие данные и в итоге в таблице связей создается или апдейтится запись, отвечающая за связь целой кучи параметров (если точно говорить, то грузится расписание поездов)
Вообще, давай я тебя "пошлю" вот сюда, дабы не повторяться:
http://phpforum.su/index.php?showtopic=83964 Там много чего написано, по ссылкам из той темы. Будут вопросы - задавай в соответствующих темах.
Даже не думай. Просто переходи :)
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)