【发布时间】:2012-01-15 14:08:33
【问题描述】:
我有一个包含许多行的“员工”表,我想从该表中删除未使用的行(所有其他表从未引用过的所有员工。)
存在一些限制,因此如果在其他地方引用它们,则无法从员工表中删除行。因此,我希望我可以只使用 DELETE FROM STAFF 来删除未引用的行并留下其他行。
不幸的是,Oracle 认为这是一个错误,因此一旦遇到外部引用的行,整个查询就会因违反约束而失败。
有什么方法可以告诉 Oracle 忽略约束违规,保持记录不变并继续下一个记录?
【问题讨论】:
-
相反,我建议您将删除语句构造为仅删除您知道未被其他表引用的 STAFF 记录...如果您发布表定义,我们可以帮助您进行该查询...
-
@MichaelFredrickson:不幸的是,这是针对企业(阅读:庞大、凌乱且记录不充分)系统的,部分问题是我不知道哪些表引用了员工。所以这个问题实际上是关于我如何避免学习比我真正想要的更多的模式!