Gio*_*ato 4 foreign-key sql-server sql-server-2014
我在 SQL Server 2014 上,我有一张User
表:
+----+------+-----+
| ID | Name | ... |
+----+------+-----+
| 11 | John | ... |
| 12 | Jack | ... |
| .. | .... | ... |
+----+------+-----+
Run Code Online (Sandbox Code Playgroud)
我有很多表格都引用了这个表格。我可以获得引用此表的所有表的列表吗?而且,特别是,我可以获得引用该表中特定行的所有表的列表吗?
然后我需要将所有引用更新为User
12 到User
11。
当您说“引用此表的表列表”时,您是指具有引用主键的外键的表列表吗?如果是这样,您可以使用以下查询获取引用表“用户”的外键列表:
SELECT name as Foreign_Key
,schema_name(schema_id) as Schema_Name
,object_name(parent_object_id) as Table_Name
FROM sys.foreign_keys
WHERE Referenced_object_id = object_id('dbo.user','U');
Run Code Online (Sandbox Code Playgroud)
如果您的表属于 dbo 以外的其他架构,则替换架构名称。
此查询将为您提供表 User 的所有引用外键。您现在将知道需要在更新语句中进行哪些连接以保持参照完整性。
编辑:woahhhhhh 搞砸了我的答案,db2 的最佳答案在他的查询中提供了更多详细信息。 如何查找与给定主键关联的外键
在特定表的 ORDER BY 子句之前向他的查询添加 WHERE 子句。
前任。WHERE o2.name = '用户'
小智 6
sp_help 'User'
Run Code Online (Sandbox Code Playgroud)
此命令将为您提供此表的所有约束和依赖项。此外,如果您还需要依赖于该表的所有过程,请告诉我。
归档时间: |
|
查看次数: |
26963 次 |
最近记录: |