vakorovin
@vakorovin
Разработчик

передача дополнительных параметров в insert/update postgresql

Доброго времени!
Такая задачка стоит — есть таблица devices, есть таблица device_log. При изменении devices триггерами пишется событие в лог.
Сейчас задача усложняется — редактирование значений вешаем частично на web-морду с разделением прав. При этом надо знать — кто выполнил то или иное действие. Писать новые функции не вижу смысла — в бд триггеры делают свою работу отлично. Хотелось бы передавать параметр $_SESSION['user_id'] в запросы insert/update. Но как?
  • Вопрос задан
  • 4384 просмотра
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 4
RedOctoberCZ
@RedOctoberCZ
А что вас смущает то? :)

pg_query($conn, "INSERT INTO device_log (user_id) VALUES ({$_SESSION['user_id']})");
Ответ написан
vakorovin
@vakorovin Автор вопроса
Разработчик
Промахнулся
Ответ написан
Комментировать
simbajoe
@simbajoe
Можете добавить в devices поле, типа modified_by, в котором хранить последнего пользователя, который менял запись. Тогда в триггере пользователь также будет доступен, и можно будет добавить его в лог.
Ответ написан
@mayorovp
Можно добавить в таблицу вычисляемое поле, которое всегда NULL, а при вставке записей указывать ему значение. Для INSTEAD OF-триггеров должно, по-идее, работать (по крайней мере, в MsSQL работает).
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы