从主键创建显式索引 - Oracle 11g

时间:2015-11-27 17:13:16

标签: oracle indexing oracle11g primary-key

我试图做以下陈述:

    CREATE INDEX IVMV_Producto_IDX ON PRODUCTO (CODIGO) TABLESPACE TSDATA_IVMV;

但它不起作用,因为Oracle已经创建了它。我需要以明确的方式在PRODUCTO的主键上创建这些索引。

PRODUCTO表由此创建:

    CREATE TABLE PRODUCTO(

     CODIGO VARCHAR(20),

     NOMBRE VARCHAR2(30),

     PRECIO VARCHAR(20),

     CONSTRAINT PRODUCTO_PK PRIMARY KEY(CODIGO)

     ) TABLESPACE TSDATA_IVMV PCTFREE 20 PCTUSED 40 INITRANS 1 MAXTRANS 255;

我该怎么办?请帮帮我。

1 个答案:

答案 0 :(得分:2)

两个选项:

CREATE TABLE PRODUCTO (
     CODIGO VARCHAR(20),
     NOMBRE VARCHAR2(30),
     PRECIO VARCHAR(20),
     CONSTRAINT PRODUCTO_PK PRIMARY KEY(CODIGO) USING INDEX (CREATE INDEX IVMV_Producto_IDX ON PRODUCTO (CODIGO) TABLESPACE TSDATA_IVMV)
)
TABLESPACE TSDATA_IVMV PCTFREE 20 PCTUSED 40 INITRANS 1 MAXTRANS 255;

CREATE TABLE PRODUCTO (
     CODIGO VARCHAR(20),
     NOMBRE VARCHAR2(30),
     PRECIO VARCHAR(20)
)
TABLESPACE TSDATA_IVMV PCTFREE 20 PCTUSED 40 INITRANS 1 MAXTRANS 255;

ALTER TABLE PRODUCTO ADD CONSTRAINT PRODUCTO_PK PRIMARY KEY(CODIGO) USING INDEX (CREATE INDEX IVMV_Producto_IDX ON PRODUCTO (CODIGO) TABLESPACE TSDATA_IVMV)