Итак, у меня вопрос:
Из-за различных значений, введенных пользователями для статуса объекта, это приводит
до путаницы. Владелец базы данных хотел бы ограничить следующие значения
«Открыто», «Закрыто», «Зарезервировано» и «Техническое обслуживание» для использования в статусе
объект.
Моя таблица FACILITY имеет следующие столбцы:
FACILITYNAME
RATE
STATUS
Я попробовал следующее:
ALTER TABLE FACILITY ADD CONSTRAINT FACILITY_STATUS 'Open','Closed','Reserved','Maintenance' FOR STATUS;
Я получаю ошибку, ORA-00904: неверный идентификатор
Затем я попробовал следующее:
ALTER TABLE FACILITY ADD CONSTRAINT STATUS_CHECK CHECK (STATUS IN ('Open','Closed','Reserved','Maintenance'));
В нем указано, что таблица изменена, но когда я попытался обновить столбец STATUS, используя 'abc' и 'Open', он сообщает, что строка обновлена, но ничего не произошло. Я ожидал, что это даст мне ошибку ограничения для 'abc', и обновлю ее до 'Open'.