добавление первичного ключа в представление sql - PullRequest
11 голосов
/ 11 января 2010

Чтение, что

как сделать отображение спящего режима для таблицы или представления без первичного ключа

Мне интересно, как добавить первичный ключ к моему представлению , поскольку это в основном просто сохраненный запрос ...?

PS: оракул 10 г

ТНХ

1 Ответ

30 голосов
/ 11 января 2010

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

SQL> create view emp_view as select * from emp
  2  /


View created.

SQL> alter view emp_view add constraint vemp_pk primary key (empno) disable
  2  /

View altered.

SQL> 

Предостережение: я никогда не пробовал это с Hibernate, поэтому я не знаю, сработает ли это в вашем сценарии. Тем не менее, я знаю сайты, которые используют Hibernate исключительно против слоя просмотра, поэтому я предполагаю, что это так. Пожалуйста, поэкспериментируйте с синтаксисом и доложите.

...