显示Oracle SQL中表的所有约束的名称

前端之家收集整理的这篇文章主要介绍了显示Oracle SQL中表的所有约束的名称前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经为我在Oracle sql中创建的多个表定义了每个约束的名称

问题是,要删除特定表的列的约束,我需要知道我为每个约束提供的名称,我已经忘记了。

如何列出我为表的每个列指定的约束的所有名称

有这样做的任何sql语句吗?

您需要查询 data dictionary,具体来说是USER_CONS_COLUMNS视图,以查看表列和相应的约束:
SELECT *
  FROM user_cons_columns
 WHERE table_name = '<your table name>';

除非您特别使用小写名称(使用双引号)创建表,否则表名将默认为大写,以确保它在查询中如此。

如果您希望查看有关约束本身的更多信息,请查看USER_CONSTRAINTS视图:

SELECT *
  FROM user_constraints
 WHERE table_name = '<your table name>'
   AND constraint_name = '<your constraint name>';

如果表保存在不是默认模式的模式中,那么您可能需要将视图替换为:

all_cons_columns

all_constraints

添加到where子句:

AND owner = '<schema owner of the table>'

猜你在找的Oracle相关文章