Oracle - эмуляция триггера на SELECT - PullRequest
1 голос
/ 27 сентября 2010

(я уже написал этот вопрос, когда выяснил ответ, поэтому я все равно опубликую его, так как Google не дал мне никаких полезных ответов).

Я ищу создание чего-то похожего на триггер, который срабатывает в Oracle SELECT. Цель состоит в том, чтобы удалить определенные строки из результата SELECT в зависимости от того, какой пользователь выполняет SELECT.

Это должно работать в стандартной версии Oracle 11g (не Enterprise), поэтому у меня нет доступа к Row Level Security или детализированному аудиту.

У меня есть существующее (очень) унаследованное приложение, которое имеет тысячи встроенных выборок повсеместно, поэтому в идеале мне не нужно менять каждое ...

Таблица, с которой я хочу работать, содержит миллион строк, что несколько ограничивает меня с точки зрения производительности.

Ответы [ 2 ]

2 голосов
/ 27 сентября 2010

Поскольку я действительно хотел изменить выбор только для одной конкретной таблицы, для меня ответом было переименовать существующую таблицу и создать представление с исходным именем.

0 голосов
/ 27 сентября 2010

Я думаю, что простое условие if в блоке PL SQL может решить вашу проблему.

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