将主键添加到sql视图

将主键添加到sql视图

本文介绍了将主键添加到sql视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

阅读

如何操作没有主键的表或视图的休眠映射

我想知道如何将主键添加到我的视图,因为它基本上只是一个存储的查询...?

I am wondering how to add a primary key to my view as it is basically just a stored query...?

PS:甲骨文10g

PS: oracle 10g

thx

推荐答案

我们可以向视图添加 disabled 主键约束.也就是说,如果对视图运行插入或更新,则约束不会触发.数据库期望通过对基础表的约束来维护完整性.因此,该约束仅出于文档目的而存在.

We can add a disabled primary key constraint to a view. That is, the constraint does not fire if an insert or update is run against the view. The database expects integrity to be maintained through constraints on the underlying tables. So the constraint exists solely for the purposes of documentation.

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的站点,所以我认为确实如此.请尝试使用语法,然后进行报告.

Caveat: I have never tried this with Hibernate, so I don't know whether it would work in your scenario. However, I do know sites which use Hibernate exclusively against a layer of views, so I presume it does. Please experiment with the syntax and report back.

这篇关于将主键添加到sql视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-05 02:35