【发布时间】:2010-11-20 15:50:24
【问题描述】:
这和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 | ...
... | ... | ...
等等。 Group 中的某些行未在任何表中引用,我需要删除这些行。除此之外,我还需要知道如何查找引用 Group 中给定行的所有表/行。
我知道我可以查询每个表并检查 groupid,但由于它们是外键,我想有更好的方法。
顺便说一下,这里使用的是 Postgresql 8.3。
【问题讨论】:
标签: sql postgresql