Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Теоретические аспекты и практические реализации создания, внедрения и использования баз данных, СУБД, хранилищ.
  • Страница:
  • 1
  • 2
  • 3

ТЕМА:

Ограничение записи по содержанию в Oracle 12 года 10 мес. назад #1680

Здравствуйте))

Вопрос такой. Есть система в которой некие аппликации раз в 24 часа записывают данные в схему Оракла в 5 таблиц.Одно из заполняемых полей - имя домена - скажем "домен.ру" . В реальной среде обычно построено несколько таких систем , каждая со своим доменом и базой данных Оракл . Проблема в том , что в случае если клиент из соседней системы ( с именем домена скажем " домен1.ру" )пытается записаться в не свою базу данных , то это у него получается . Но это не есть хорошо - впоследствии на основе собранных данных строится DNS сервер который должен содержать только информацию о клиентах своей системы .

Вопрос - возможно ли вообще в Оракле ограничить запись в определенные таблицы по содержанию передаваемых данных в одном из полей ?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Ограничение записи по содержанию в Oracle 12 года 10 мес. назад #1681

Привет.
Конечно имеется!
В частности, есть многотабличный условный insert, который вставляет исходный набор данных в разные таблицы на основе неких логических условий, накладываемых, в том числе, и на сами исходные данные... Причем, несмотря на свое название ("многотабличный условный инсерт"), сей вид инсертов прекрасно работает и с одной таблицей.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Ограничение записи по содержанию в Oracle 12 года 10 мес. назад #1682

Гм. Polton подсказал интересный вариант, но мне в голову почему то сразу напросился constraint.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Ограничение записи по содержанию в Oracle 12 года 10 мес. назад #1683

или триггер :)
кроме того если уж можно переписывать приложение, то можно и просто if поставить и ошибки обработать

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Ограничение записи по содержанию в Oracle 12 года 10 мес. назад #1684

так подождите , такой вопрос - мне надо для каждого поля ( а их пять и они расположены в разных таблицах одной схемы ) добавлять констрайт рестриктя по значению одного ( домена ) ?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Ограничение записи по содержанию в Oracle 12 года 10 мес. назад #1685

Нет, зачем же.
Что то вроде:
ALTER TABLE mytable ADD CONSTRAINT constraint_name CHECK ( domain_column = 'needed_domain.org');

тогда при попытке вставить в mytable строку, где значение domain_column будет не needed_domain.org, вылетит ORA-02290. Как на это ваше приложение отреагирует судить сложно, но неверные данные точно не запишутся.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
  • 2
  • 3
Время создания страницы: 0.400 секунд