gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 04:45:03 25 4
gpt4 key购买 nike

我已经为在 Oracle SQL 中创建的多个表的每个约束定义了一个名称。

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

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

有没有这样的SQL语句?

最佳答案

您需要查询data dictionary ,特别是 USER_CONS_COLUMNS View 来查看表列和相应的约束:

SELECT *
FROM user_cons_columns
WHERE table_name = '<your table name>';

仅供引用,除非您专门使用小写名称(使用双引号)创建表,否则表名称将默认为大写,因此请确保在查询中也是如此。

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

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

如果表保存在不是默认架构的架构中,那么您可能需要将 View 替换为:

all_cons_columns

all_constraints

添加到 where 子句:

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

关于sql - 显示 Oracle SQL 中表的所有约束的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11879217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com