gpt4 book ai didi

带有外键约束的 SQL 删除查询

转载 作者:行者123 更新时间:2023-12-03 11:36:51 25 4
gpt4 key购买 nike

我知道这个问题属于数据库理论的非常早期的阶段,但是我已经几个月没有遇到这样的问题了。如果某人有一个数据库,其中一些表关联在一起作为带有外键的“链”,并且他们想从具有一些“依赖”表的表中删除记录,会出现什么障碍?特别是,在包含表的数据库中:Person、Profile、Preference、Filter 存在的关联为 Person.idProfile 中的外键和 Profile.idPreference 中的外键和 Filter.idPreference 中的外键,以便所有关联enter code hereOneToMany .是否可以通过一个简单的查询来删除一个人:

Delete from Person p where p.id= 34;

如果不是,为了成功执行删除,查询应该如何?
如果应用程序中的数据库是由hibernate管理的,我应该对每个实体的关联字段应用什么约束( annotations ),以便能够通过上面的简单查询执行删除?

最佳答案

对于 SQL 版本

enter image description here

看截图。您可以使用插入更新规范规则。因为它有删除和更新规则。您可以设置这些值中的任何一个。

可以通过引用主键或唯一键来创建外键约束。外键约束确保关联表中数据的关系完整性。外键值可能为 NULL,表示特定记录没有父记录。但是如果一个值存在,那么它必然在父表中有一个关联的值。在父表上应用更新或删除操作时,对子表中关联值的影响可能有不同的要求。 SQL Server 2005 和 2008 中有四个可用选项,如下所示:

No Action
Cascade
SET NULL
SET Default

将此文章用于引用。

http://www.mssqltips.com/sqlservertip/2365/sql-server-foreign-key-update-and-delete-rules/

甲骨文版

您可以使用以下之一。

更改表示例 1
添加外键 (col1)
引用
sample (col2)
在删除没有 Action ;

更改表示例 1
添加外键 (col1)
引用
sample (col2)
关于删除限制;

更改表示例 1
添加外键 (col1)
引用样本(col2)
在删除级联上;

为引用。

http://docs.oracle.com/cd/B19306_01/server.102/b14200/clauses002.htm

关于带有外键约束的 SQL 删除查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12858542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com