已知Oracle约束名。
如何查找应用于该约束的表格名称?
SELECT owner, table_name
FROM dba_constraints
WHERE constraint_name = <<your constraint name>>
这将给出表的名称。如果您无法访问DBA_CONSTRAINTS
视图,则ALL_CONSTRAINTS
或USER_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 table_name from user_constraints where constraint_name = 'xxx';
这个查询语句对于任何用户都应该有效。您确定查询中没有拼写错误吗?select owner, object_name from all_objects where object_name = 'USER_CONSTRAINTS'
对于您返回了什么? - Justin Cave