adding primary key to sql view(将主键添加到 sql 视图)
问题描述
阅读
怎么做没有主键的表或视图的休眠映射
我想知道如何向我的视图添加主键,因为它基本上只是一个存储查询......?
I am wondering how to add a primary key to my view as it is basically just a stored query...?
PS:甲骨文 10g
谢谢
推荐答案
我们可以向视图添加禁用主键约束.也就是说,如果对视图运行插入或更新,则约束不会触发.数据库希望通过对基础表的约束来维护完整性.因此,此约束仅用于文档目的.
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 视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:将主键添加到 sql 视图
基础教程推荐
- 从字符串 TSQL 中获取数字 2021-01-01
- ORA-01830:日期格式图片在转换整个输入字符串之前结束/选择日期查询的总和 2021-01-01
- 带有WHERE子句的LAG()函数 2022-01-01
- MySQL根据从其他列分组的值,对两列之间的值进行求和 2022-01-01
- while 在触发器内循环以遍历 sql 中表的所有列 2022-01-01
- MySQL 5.7参照时间戳生成日期列 2022-01-01
- 使用 VBS 和注册表来确定安装了哪个版本和 32 位 2021-01-01
- 带更新的 sqlite CTE 2022-01-01
- 如何在 CakePHP 3 中实现 INSERT ON DUPLICATE KEY UPDATE aka upsert? 2021-01-01
- CHECKSUM 和 CHECKSUM_AGG:算法是什么? 2021-01-01
