在oracle中查找跨多个表强制执行的约束

在oracle中查找跨多个表强制执行的约束,oracle,constraints,database,Oracle,Constraints,Database,我有一个数据库,包含以下表格EMP、DEPT、CLIENT和PURCHASE。我正在使用Oracle 11g express edition 我已经执行了以下SQL语句来查找表上的约束:EMP SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME = 'EMP' 有没有一种方法可以在一条语句中跨多个表找出当前对此数据库强制执行的约束 例如,EMP和客户机等诸如此类的东西。您可以尝试类似的东西 SELECT * FROM USER_CONSTRAIN

我有一个数据库,包含以下表格EMP、DEPT、CLIENT和PURCHASE。我正在使用Oracle 11g express edition

我已经执行了以下SQL语句来查找表上的约束:EMP

SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME = 'EMP'
有没有一种方法可以在一条语句中跨多个表找出当前对此数据库强制执行的约束


例如,EMP和客户机等诸如此类的东西。

您可以尝试类似的东西

SELECT *
  FROM USER_CONSTRAINTS
  ORDER BY TABLE_NAME,
           CONSTRAINT_NAME
这将允许您浏览数据库中的所有约束。如果您有感兴趣的表子集,可以插入WHERE子句,例如

SELECT *
  FROM USER_CONSTRAINTS
  WHERE TABLE_NAME IN ('EMP',
                       'CLIENT',
                       'OTHER_TABLE',
                       'OTHER_TABLE2',
                       'YET_ANOTHER_TABLE')
  ORDER BY TABLE_NAME,
           CONSTRAINT_NAME

上面的两个WHERE子句是等价的——第一个更紧凑


分享和享受。

真的吗?这是一个非常简单的SQL语法。使用
(而不是
):。或者可能是中的是的,我刚刚开始。。。对不起,我没有你那么好。有趣的是,你有点粗鲁,仍然不能提供任何有建设性的信息,因为这两个链接都不能从Chrome上获得。也许其他浏览器对前面没有
http://
的链接有困难?很抱歉,您无法使用文档回答自己的问题。正如Bob的代码示例所示,我为您指出了正确的方向。
  ...
  WHERE TABLE_NAME = 'EMP' OR
        TABLE_NAME = 'CLIENT' OR
        TABLE_NAME = 'OTHER_TABLE' OR
        TABLE_NAME = 'OTHER_TABLE2' OR
        TABLE_NAME = 'YET_ANOTHER_TABLE'
  ...