Вы находитесь на странице: 1из 8

SQL> create table test_inv_columns(t_col1 int, t_col2 int not null invisible);

create table test_inv_columns(t_col1 int, t_col2 int not null invisible)


*
ERROR at line 1:
ORA-00907: missing right parenthesis

SQL> create table test_inv_columns(t_col1 int, t_col2 int invisible);

Table created.

SQL> alter table test_inv_columns modify(t_col2 not null);

Table altered.

SQL> desc t_col1


ERROR:
ORA-04043: object t_col1 does not exist

SQL> desc test_inv_columns


Name

Null?

Type

----------------------------------------- -------- ---------------------------T_COL1

NUMBER(38)

SQL> insert into test_inv_columns values (1,1);

insert into test_inv_columns values (1,1)


*
ERROR at line 1:
ORA-00913: too many values

SQL> insert into test_inv_columns values (1);


insert into test_inv_columns values (1)
*
ERROR at line 1:
ORA-01400: cannot insert NULL into ("BDBA"."TEST_INV_COLUMNS"."T_COL2")

SQL> insert into test_inv_columns(t_col1,t_col2) values (3,1);

1 row created.

SQL> set colinvisible on;


SQL> desc TEST_INV_COLUMNS
Name

Null?

Type

----------------------------------------- -------- ---------------------------T_COL1


T_COL2 (INVISIBLE)

NUMBER(38)
NOT NULL NUMBER(38)

SQL> create index test_inv_columns_ind1 on test_inv_columns(T_COL2);

Index created.

SQL> alter table TEST_INV_COLUMNS add constraint pk_test_inv_columns primary


key (T_COL2);

Table altered.

SQL> select INDEX_NAME,INDEX_TYPE from dba_indexes where table_name =


'TEST_INV_COLUMNS';

INDEX_NAME
INDEX_TYPE
------------------------------------------------------------------------------------------------------------------------------- --------------------------TEST_INV_COLUMNS_IND1
NORMAL

SQL> insert into test_inv_columns(t_col1,t_col2) values (2,1);

1 row created.

SQL> insert into test_inv_columns(t_col1,t_col2) values (3,1);

1 row created.

SQL> select * from test_inv_columns;

T_COL1

---------1
2
3

SQL> select CONSTRAINT_NAME,CONSTRAINT_TYPE from user_constraints where


TABLE_NAME = 'TEST_INV_COLUMNS';

CONSTRAINT_NAME
C
------------------------------------------------------------------------------------------------------------------------------- SYS_C009854
C
PK_TEST_INV_COLUMNS
P

SQL> select t_col1,t_col2 from TEST_INV_COLUMNS;

T_COL1

T_COL2

---------- ---------1

SQL> select CONSTRAINT_NAME,CONSTRAINT_TYPE from user_constraints where


TABLE_NAME = 'TEST_INV_COLUMNS';

CONSTRAINT_NAME
C
------------------------------------------------------------------------------------------------------------------------------- SYS_C009854
C
PK_TEST_INV_COLUMNS
P

SQL> select t_col1,t_col2 from test_inv_columns;

T_COL1

T_COL2

---------- ---------1

SQL> select CONSTRAINT_NAME,CONSTRAINT_TYPE,INDEX_NAME,INVALID from


user_constraints where TABLE_NAME = 'TEST_INV_COLUMNS';

CONSTRAINT_NAME
C INDEX_NAME

INVALID

------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------- ------SYS_C009854


C
PK_TEST_INV_COLUMNS
P TEST_INV_COLUMNS_IND1

SQL> col CONSTRAINT_NAME format a20


SQL> col INDEX_NAME format a20
SQL> /

CONSTRAINT_NAME

C INDEX_NAME

INVALID

-------------------- - -------------------- ------PK_TEST_INV_COLUMNS P TEST_INV_COLUMNS_IND


1

SYS_C009854

SQL> select * from user_cons_columns where CONSTRAINT_NAME =


'PK_TEST_INV_COLUMNS';

OWNER
CONSTRAINT_NAME

TABLE_NAME

------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------COLUMN_NAME
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------POSITION

---------BDBA
PK_TEST_INV_COLUMNS TEST_INV_COLUMNS
T_COL2
1

SQL> alter table TEST_INV_COLUMNS modify(t_col2 visible);

Table altered.

SQL> select * from TEST_INV_COLUMNS;

T_COL1

T_COL2

---------- ---------1

SQL> insert into TEST_INV_COLUMNS values (3,1);

1 row created.

SQL> insert into TEST_INV_COLUMNS values (3,3);

1 row created.

SQL> commit;

Commit complete.

Вам также может понравиться