programmera.net -> oracle -> normal för utskrift | info@programmera.net |
USER_IND_COLUMNS
1. USER_IND_COLUMNS 2. Ett exempel 3. Ett bättre exempel |
1. USER_IND_COLUMNS
I tabellen USER_IND_COLUMNS kan man se vilka kolumner som indexeras av index. Följande kolumner finns i tabellen USER_IND_COLUMNS:
SQL> DESC user_ind_columns;
Namn Null? Typ
----------------------------------------- -------- ----------------------------
INDEX_NAME VARCHAR2(30)
TABLE_NAME VARCHAR2(30)
COLUMN_NAME VARCHAR2(4000)
COLUMN_POSITION NUMBER
COLUMN_LENGTH NUMBER
CHAR_LENGTH NUMBER
DESCEND VARCHAR2(4)
2. Ett exempel
Det vanligaste användningen av USER_IND_COLUMNS är kanske när du vill veta om en viss kolumn i en tabell är indexerad eller inte. Du kan se alla indexerade kolumner i ditt schema med följande sats:
SQL> SELECT table_name, index_name, column_name FROM user_ind_columns;
TABLE_NAME INDEX_NAME COLUMN_NAME
--------------- ------------------------- --------------------
ADDRESSES SYS_C003030 SYS_NC_OID$
DEP PK_DEP DEP_PK
EMP IDX_EMP_ID_NR ID_NR
EMP IDX_BMP_EMP_DEP_PK DEP_PK
EMP IDX_EMP_FIRST_LAST_NAME LAST_NAME
EMP IDX_EMP_FIRST_LAST_NAME FIRST_NAME
EMP1 SYS_C003028 EMP_ID
7 rader.
3. Ett bättre exempel
Om du har många tabeller i ditt schema blir exemplet ovan oöverskådligt. Då är det bättre att titta på alla indexerade kolumner för en enskild tabell. Om du t.ex. vill se vilka kolumner som är indexerade i tabellen CS_INCIDENTS_ALL_B så kan du skriva följande:
SQL> COL column_name FORMAT a30
SQL> SELECT table_name, column_name
2 FROM user_ind_columns
3 WHERE table_name = 'CS_INCIDENTS_ALL_B'
4 ORDER BY column_name;
TABLE_NAME COLUMN_NAME
------------------------------ ------------------------------
CS_INCIDENTS_ALL_B CLOSE_DATE
CS_INCIDENTS_ALL_B CLOSE_DATE
CS_INCIDENTS_ALL_B CREATION_DATE
CS_INCIDENTS_ALL_B CURRENT_SERIAL_NUMBER
CS_INCIDENTS_ALL_B CUSTOMER_ID
CS_INCIDENTS_ALL_B CUSTOMER_PRODUCT_ID
CS_INCIDENTS_ALL_B CUSTOMER_TICKET_NUMBER
CS_INCIDENTS_ALL_B EXPECTED_RESOLUTION_DATE
CS_INCIDENTS_ALL_B EXPECTED_RESOLUTION_DATE
CS_INCIDENTS_ALL_B INCIDENT_DATE
CS_INCIDENTS_ALL_B INCIDENT_ID
TABLE_NAME COLUMN_NAME
------------------------------ ------------------------------
CS_INCIDENTS_ALL_B INCIDENT_NUMBER
CS_INCIDENTS_ALL_B INCIDENT_OWNER_ID
CS_INCIDENTS_ALL_B INCIDENT_OWNER_ID
CS_INCIDENTS_ALL_B INCIDENT_OWNER_ID
CS_INCIDENTS_ALL_B INCIDENT_SEVERITY_ID
CS_INCIDENTS_ALL_B INCIDENT_STATUS_ID
CS_INCIDENTS_ALL_B INCIDENT_STATUS_ID
CS_INCIDENTS_ALL_B INCIDENT_TYPE_ID
CS_INCIDENTS_ALL_B INCIDENT_URGENCY_ID
CS_INCIDENTS_ALL_B INVENTORY_ITEM_ID
CS_INCIDENTS_ALL_B OWNER_GROUP_ID
20 rader.