您的位置:首页 > 数据库 > Oracle

Oracle中有关表主键的问题

2005-11-24 11:27 204 查看
目前正在开发的系统需要对表的物理机构进行更改,包括删除表的主键然后重建,查了相关的资料,发现Oracle中与用户表结构相关的系统表有user_cons_columns,user_constraints,user_ind_columns ,第一张表存放用户表受约束字段的名称,第二章表存放用户表中受约束字段的约束类型,第三张表则主要存放用户表所含的所有字段。因此也就可以通过以下两种方式获得表主键信息:
select b.column_name
from user_constraints a,user_ind_columns b
where a.index_name=b.index_name
and a.table_name='指定的表名'
AND a.CONSTRAINT_TYPE='P';
或者
SELECT col.column_name, col.position
FROM user_cons_columns col, user_constraints con
WHERE con.constraint_name = col.constraint_name
AND con.owner = col.owner
AND con.table_name = col.table_name
AND con.table_name = '指定的表名'
AND con.constrant_type = 'P'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: