У меня есть следующие таблицы.Ссылочная адресата
ACCOUNTS (Родительская таблица) с столбцами как ACC_ID, VALID_FROM и VALID_TO с уникальным ключом по ACC_ID, VALID_FROM.
ACCOUNT_BUSII_FUNCTIONS (таблица детей) с столбцами как ACC_ID, BUSINESS_FUNCTION, VALID_FROM и VALID_TO с уникальным ключом по ACC_ID, BUSINESS_FUNCTION, VALID_FROM.
VALID_FROM и VALID_TO - это даты.
Мне нужно построить отношения, в которых каждая запись, удаленная в ACCOUNTS (родительская таблица), должна проверять, чтобы дочерняя запись падала в том же диапазоне дат. Аналогично, перед вставкой в дочерний элемент проверьте, существует ли родитель с допустимым диапазоном дат.
Очевидно, что я не могу использовать ограничения внешнего ключа, поскольку задействованы диапазоны дат.
Пробовал записывать функцию и вызывать ограничение CHECK, но не работал, поскольку ограничение CHECK не разрешало определять пользовательскую функцию.
Am невежественны ... любая помощь, пожалуйста ...
Приветствия TZH
* «Очевидно, что я не могу использовать ограничения внешнего ключа, поскольку задействованы диапазоны дат». * Диапазоны дат * не связаны с ключевыми ограничениями. «VALID_FROM» - дата; это не диапазон. Нет причин, чтобы ограничение внешнего ключа не срабатывало * в отношении dbms *. Если есть причина * бизнеса *, внешний ключ, включая «VALID_FROM», не будет работать, отредактируйте свой вопрос и сделайте это более понятным. –
@ MikeSherrill'CatRecall '- Кажется, дочерние записи могут попадать в диапазон допустимости родительской записи: границы не должны совпадать. – APC