【问题标题】:Show constraints from different schema Oracle显示来自不同模式 Oracle 的约束
【发布时间】:2014-06-08 20:40:12
【问题描述】:

我知道 user_constraints 和所有约束,我尝试过类似的东西

select * from user_constraints

但我想查看来自不同架构的约束?

编辑:我想显示来自某些模式的约束,而不是全部

【问题讨论】:

  • 所以使用 all_constraints。
  • 您的问题似乎表明您已经了解all_constraints,而the documentation 涵盖了两者(和dba_constraints),所以...问题是什么?
  • 问题是我需要某些模式的约束,而不是全部。我尝试了类似 SELECT * FROM ALL_CONSTRAINTS WHERE USER = 'schemaName' 但我没有得到任何结果。

标签: oracle schema constraints


【解决方案1】:

The all_constraints view 没有USER 列。 USER refers to you,执行查询的账号。你可以通过select user from dual 之类的东西看到这一点。如果schemaName 也是您,您的查询将返回所有行,或者不返回任何行 - 介于两者之间。

您需要过滤OWNER 列:

SELECT * FROM ALL_CONSTRAINTS WHERE OWNER = 'schemaName'

...记住模式名称通常不区分大小写,需要以大写形式提供,例如`WHERE OWNER = 'MYSCHEMA'。

在某些情况下,您可能还需要过滤 R_OWNER 甚至 INDEX_OWNER,这取决于您要查找的内容。

【讨论】:

  • 谢谢,我也试过所有者,但我认为它不区分大小写,它没有工作。现在用大写它可以正常工作
猜你喜欢
  • 2022-01-18
  • 2020-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 2012-10-04
相关资源
最近更新 更多