Display names of all constraints for a table in Oracle SQL(在 Oracle SQL 中显示表的所有约束的名称)
问题描述
我为在 Oracle SQL 中创建的多个表的每个约束定义了一个名称.
I have defined a name for each of the constraint for the multiple tables that I have created in Oracle SQL.
问题是要删除特定表的列的约束,我需要知道我为每个约束提供的名称,但我已经忘记了.
The problem is that to drop a constraint for the column of a particular table I need to know the name that I have supplied for each constraints, which I have forgotten.
如何列出我为表的每一列指定的所有约束名称?
How do I list out all the names of constraints that I have specified for each column of a table?
是否有任何 SQL 语句可以执行此操作?
Is there any SQL statement for doing so?
推荐答案
需要查询数据字典,特别是USER_CONS_COLUMNS
视图查看表列和对应的约束:
You need to query the data dictionary, specifically the USER_CONS_COLUMNS
view to see the table columns and corresponding constraints:
SELECT *
FROM user_cons_columns
WHERE table_name = '<your table name>';
仅供参考,除非您专门使用小写名称(使用双引号)创建了表格,否则表格名称将默认为大写,因此请确保在您的查询中也是如此.
FYI, unless you specifically created your table with a lower case name (using double quotes) then the table name will be defaulted to upper case so ensure it is so in your query.
如果您希望查看有关约束本身的更多信息,请查询 USER_CONSTRAINTS
视图:
If you then wish to see more information about the constraint itself query the USER_CONSTRAINTS
view:
SELECT *
FROM user_constraints
WHERE table_name = '<your table name>'
AND constraint_name = '<your constraint name>';
如果表保存在不是默认架构的架构中,那么您可能需要将视图替换为:
If the table is held in a schema that is not your default schema then you might need to replace the views with:
all_cons_columns
和
all_constraints
添加到 where 子句:
adding to the where clause:
AND owner = '<schema owner of the table>'
这篇关于在 Oracle SQL 中显示表的所有约束的名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 Oracle SQL 中显示表的所有约束的名称


基础教程推荐
- SQL Server:只有 GROUP BY 中的最后一个条目 2021-01-01
- Sql Server 字符串到日期的转换 2021-01-01
- SQL Server 2016更改对象所有者 2022-01-01
- SQL Server 中单行 MERGE/upsert 的语法 2021-01-01
- 无法在 ubuntu 中启动 mysql 服务器 2021-01-01
- 在 VB.NET 中更新 SQL Server DateTime 列 2021-01-01
- 如何在 SQL Server 的嵌套过程中处理事务? 2021-01-01
- 使用pyodbc“不安全"的Python多处理和数据库访问? 2022-01-01
- ERROR 2006 (HY000): MySQL 服务器已经消失 2021-01-01
- 将数据从 MS SQL 迁移到 PostgreSQL? 2022-01-01