我没有创建我正在使用的数据库,但我希望看到检查约束的详细信息。
我知道列上的检查约束是强制执行一组特定值,我想知道这些值是什么。例如,如果检查约束强制执行字符“Y”和“N”,我希望能够查询数据库并查看接受的值是“Y”和“N”。
这可以通过查询来完成吗?
答案 0 :(得分:19)
select constraint_name,search_condition
from all_constraints
where table_name='NAME_OF_YOUR_TABLE'
and constraint_type='C';
将列出特定表上所有检查约束的检查和约束名称。
答案 1 :(得分:0)
请勿忘记all_constraints
表中的列区分大小写。如果你的select语句什么也没有返回,那可能就是原因。
(如果我有足够的代表评论,在DBA的回答中,这将会去那里。)