Добавление первичного ключа в представление sql

Читая это

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

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

PS: оракул 10 г

Спасибо

1 ответ

Решение

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

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 исключительно против слоя просмотра, поэтому я предполагаю, что это так. Пожалуйста, поэкспериментируйте с синтаксисом и доложите.

Другие вопросы по тегам