通过约束名称获取表名
答
SELECT owner, table_name
FROM dba_constraints
WHERE constraint_name = <<your constraint name>>
会给你表的名字。如果您无权访问DBA_CONSTRAINTS
视图,ALL_CONSTRAINTS
或USER_CONSTRAINTS
也应该可以正常工作。
答
SELECT constraint_name, constraint_type, column_name
from user_constraints natural join user_cons_columns
where table_name = "my_table_name";
会给你你需要什么
+0
这个答案是从已知表名,返回约束名,问题说约束名已知需要获取表名 – 2014-04-24 18:06:02
答
ALL_CONSTRAINTS
介绍到当前用户可以访问表的约束定义。
DBA_CONSTRAINTS
描述了数据库中的所有约束定义。
USER_CONSTRAINTS
描述约束定义上表中当前用户的模式
Select CONSTRAINT_NAME,CONSTRAINT_TYPE ,TABLE_NAME ,STATUS from
USER_CONSTRAINTS;
没有工作,得到错误“无效的对象名称USER_CONSTRAINTS'”。请帮忙。 – 2013-02-05 09:24:32
@JitendraPancholi - '从user_constraints选择table_name,其中constraint_name ='xxx';'应该适用于任何用户。你确定你的查询没有错字吗? '从owner_objects中选择owner,object_name其中object_name ='USER_CONSTRAINTS''会为您返回? – 2013-02-05 14:44:07
查询过添加所有者名称... 选择所有者,表名 FROM DBA_CONSTRAINTS WHERE constraint_name命令= > 和所有者= > – JavaDragon 2015-09-26 06:39:38