create unique index with case ... when statement : Create Index « Index « Oracle PL / SQL






create unique index with case ... when statement

    
SQL> create table registrations
  2  ( attendee    NUMBER(4)
  3  , course      VARCHAR2(6)
  4  , begindate   DATE
  5  , evaluation  NUMBER(1)
  6  , constraint  R_PK        primary key(attendee,course,begindate)
  7  ) ;

Table created.

SQL>
SQL> insert into registrations values (8,'JAV',date '2009-12-13',5   );

1 row created.

SQL> insert into registrations values (9,'JAV',date '2009-12-13',4   );

1 row created.

SQL> insert into registrations values (4,'JAV',date '2000-02-01',3   );

1 row created.

SQL> insert into registrations values (8,'JAV',date '2000-02-01',4   );

1 row created.

SQL> insert into registrations values (6,'JAV',date '2000-02-01',5   );

1 row created.

SQL> insert into registrations values (12,'XML',date '2000-02-03',4   );

1 row created.

SQL> insert into registrations values (2,'XML',date '2000-02-03',5   );

1 row created.

SQL> insert into registrations values (4,'PLS',date '2000-09-11',NULL);

1 row created.

SQL> insert into registrations values (2,'PLS',date '2000-09-11',NULL);

1 row created.

SQL> insert into registrations values (11,'PLS',date '2000-09-11',NULL);

1 row created.

SQL>
SQL> create unique index oau_reg on registrations
  2  ( case course when 'OAU' then attendee else null end
  3  , case course when 'OAU' then course   else null end );

Index created.

SQL>
SQL> insert into registrations values (12,'OAU',sysdate,null);

1 row created.

SQL>
SQL> drop index oau_reg;

Index dropped.

SQL> drop table registrations;

Table dropped.

   
    
    
    
  








Related examples in the same category

1.To create an index on the LastName column of the Employee table
2.Created an index based on the uppercase evaluation of the employe's first name field
3.Create two indexes for one single table
4.Create an index reverse
5.Function-based Indexes
6.simple index organized table
7.Create an index, and add primary key to use that index
8.Create index along with the column definition
9.Create index for combined columns
10.Create index for upper case last name
11.Create index on cluster
12.Create index with tablespace
13.Create unique index and check it in user_ind_columns and user_cons_columns
14.Demonstrate a bitmap join index.
15.CREATE UNIQUE INDEX
16.Create a fully indexed table named myCode
17.Create Non-Unique index
18.indextype is ctxsys.context