日期:2014-05-16  浏览次数:20448 次

oracle 中查找一个表的主键和索引
http://hi.baidu.com/wangkuoguang/item/fba9eff812a93e18a62988a6
ORACLE:

1、查主键名称:
select * from user_constraints
where table_name = 'ART'
and constraint_type ='P';
查主键对应的列:
select * from user_cons_columns
where table_name = 'ART'
and constraint_name = 'PK_ART';

2、查索引名称:
select * from user_indexes
where table_name = 'ART';
查索引对应的列:
select * from user_ind_columns
where table_name = 'ART'
and index_name = 'INDX_BA';  

了解几个字典表的用处 如:user_constraints

一些创建表和主键(索引)的SQL实例。

更改一个表的主键索引的方法,

删除主键索引的SQL:ALTER TABLE TABLE_NAME DROP CONSTRAINT CONSTRAINT_NAME;

说明:TABLE_NAME 表名称,CONSTRAINT_NAME 主键名称。

alter table vehicle_tx drop constraint PK_TX;
--10车辆通行数据
CREATE TABLE "VEHICLE_TX" (
    "SBBH" VARCHAR2(10 byte),
    "CLBH" VARCHAR2(7 byte),
    "FXBH" VARCHAR2(4 byte),
    "HPHM" VARCHAR2(15 byte),
    "HPZL" CHAR(1 byte),
    "JGSJ" DATE,
    "CLSD" CHAR(3 byte),
    "CWKC" CHAR(5 byte),
    "HPYS" VARCHAR2(2 byte),
    "CLLX" CHAR(4 byte),
    "TJTP" VARCHAR2(60 byte),
    "QMTP" VARCHAR2(60 byte),
    "HPTP" VARCHAR2(60 byte),
    "JLLX" VARCHAR2(50 byte),
    "CLBJ" VARCHAR2(60 byte),
    "JGCD" VARCHAR2(2 byte),
    "WZ" VARCHAR(2),
    "BK" VARCHAR2(4),
    CONSTRAINT "PK_TX" PRIMARY KEY("HPHM","HPZL","JGSJ")
);

--索引是新增的
CREATE INDEX IND_TX_SBBH ON VEHICLE_TX(SBBH);
CREATE INDEX IND_TX_JGSJ ON VEHICLE_TX(JGSJ);
create bitmap index ind_tx_wz on vehicle_tx(wz);
create bitmap index ind_tx_bk on vehicle_tx(bk);