如何在 Oracle11g 中获取唯一键和非空列名?
How to get Unique Key and Not Null column Name in Oracle11g?
对于约束验证,我想从 oracle11g 中读取唯一键而不是空列,我可以从 Mysql 中检索相同的内容,但不知道如何在 Oracle 11g 中执行此操作
您需要加入 [DBA|ALL|USER]_CONSTRAINTS
视图和 [DBA|ALL|USER]_CONS_COLUMNS
视图。
NOT NULL 约束类型为 C
。
UNIQUE 约束类型为 U
。
SELECT a.table_name,
b.column_name,
a.constraint_type
FROM dba_constraints a
JOIN dba_cons_columns b
ON a.owner = b.owner
AND a.constraint_name = b.constraint_name
AND a.table_name = b.table_name
AND a.owner ='<user_name>'
AND a.constraint_type IN ('U', 'C');
对于约束验证,我想从 oracle11g 中读取唯一键而不是空列,我可以从 Mysql 中检索相同的内容,但不知道如何在 Oracle 11g 中执行此操作
您需要加入 [DBA|ALL|USER]_CONSTRAINTS
视图和 [DBA|ALL|USER]_CONS_COLUMNS
视图。
NOT NULL 约束类型为 C
。
UNIQUE 约束类型为 U
。
SELECT a.table_name,
b.column_name,
a.constraint_type
FROM dba_constraints a
JOIN dba_cons_columns b
ON a.owner = b.owner
AND a.constraint_name = b.constraint_name
AND a.table_name = b.table_name
AND a.owner ='<user_name>'
AND a.constraint_type IN ('U', 'C');