【发布时间】:2011-07-11 23:54:44
【问题描述】:
Oracle 约束名称已知。
如何找到应用此约束的表的名称?
【问题讨论】:
标签: oracle constraints
Oracle 约束名称已知。
如何找到应用此约束的表的名称?
【问题讨论】:
标签: oracle constraints
ALL_CONSTRAINTS 描述当前用户可访问的表的约束定义。
DBA_CONSTRAINTS 描述了数据库中的所有约束定义。
USER_CONSTRAINTS 描述当前用户架构中表的约束定义
Select CONSTRAINT_NAME,CONSTRAINT_TYPE ,TABLE_NAME ,STATUS from
USER_CONSTRAINTS;
【讨论】:
SELECT constraint_name, constraint_type, column_name
from user_constraints natural join user_cons_columns
where table_name = "my_table_name";
会给你你需要的东西
【讨论】:
SELECT owner, table_name
FROM dba_constraints
WHERE constraint_name = <<your constraint name>>
会给你表格的名字。如果您无权访问 DBA_CONSTRAINTS 视图,ALL_CONSTRAINTS 或 USER_CONSTRAINTS 应该也可以使用。
【讨论】:
select table_name from user_constraints where constraint_name = 'xxx'; 应该适用于任何用户。你确定你的查询没有错字吗? select owner, object_name from all_objects where object_name = 'USER_CONSTRAINTS' 为您返回什么?