sql >> Database teknologi >  >> RDS >> Oracle

Oprettelse af indeks

Hvis du oprettede tabellen med den primære nøglebegrænsning, har du allerede et unikt indeks på felterne, der hører til PK'en; dette indeks er blevet oprettet, da du tilføjede PK-begrænsningen og har et ikke-signifikant navn:

SQL> create table TEST_PK_IDX(id number primary key, descr varchar2(100));

Table created.

SQL> select index_name, uniqueness, column_name
  2  from user_ind_columns c
  3         inner join user_indexes i
  4           using (index_name)
  5  where i.table_name = 'TEST_PK_IDX';

INDEX_NAME           UNIQUENESS           COLUMN_NAME
-------------------- -------------------- --------------------
SYS_C007838          UNIQUE               ID

Men hvis du har brug for at oprette et andet indeks, kan du bruge:

SQL> create index idx_test on test_pk_idx(descr);

Index created.

SQL> select index_name, uniqueness, column_name
  2  from user_ind_columns c
  3         inner join user_indexes i
  4           using (index_name)
  5  where i.table_name = 'TEST_PK_IDX';

INDEX_NAME           UNIQUENESS           COLUMN_NAME
-------------------- -------------------- --------------------
SYS_C007838          UNIQUE               ID
IDX_TEST             NONUNIQUE            DESCR

SQL>




  1. Oracle.Dataadgangsfejl ORA-06502:PL/SQL:numerisk eller værdifejl:tegnstrengbuffer for lille

  2. Sådan implementeres PostgreSQL for høj tilgængelighed

  3. Sådan tømmes en MySQL-database

  4. LINQ til SQL hver n. række fra tabel