这在一定程度上关系到this question未引用行:删除外键
我有一个表的主键,我也引用该主键(使用外键)几个表。我需要从该表中删除行,其中主键未在任何其他表中引用(以及一些其他约束)。
例如:
Group
groupid | groupname
1 | 'group 1'
2 | 'group 3'
3 | 'group 2'
... | '...'
Table1
tableid | groupid | data
1 | 3 | ...
... | ... | ...
Table2
tableid | groupid | data
1 | 2 | ...
... | ... | ...
等。组中的某些行没有在任何表中引用,我需要删除这些行。除此之外,我需要知道如何找到引用组中给定行的所有表/行。
我知道我可以查询每个表并检查groupid的,但因为它们是外键,所以我认为有更好的方法来实现它。
这是使用Postgresql 8.3的方式。
就像我说的,我想避免这种情况。有几个表,名称约定不是标准的,它很慢。由于约束已经到位,我认为必须有更好的方法。 – 2009-08-18 16:19:04