7. SQL> create table T
2 ( x int,
3 y int);
Table created.
SQL> create index IX on T (x+0);
Index created.
SQL> alter table T set unused column Y;
Table altered.
8. SQL> select column_name, data_default
2 from USER_TAB_COLS
3 where table_name = 'T'
4 order by column_id;
COLUMN_NAME DATA_DEFAULT
------------------------------ ----------------
X
SYS_NC00003$ "X"+0
SYS_C00002_14020720:50:28$
10. SQL> create table T ( c1 int, c2 int, c3 int );
SQL> desc T
Name Null? Type
---------------------------- -------- -------
C1 NUMBER(38)
C2 NUMBER(38)
C3 NUMBER(38)
SQL> alter table T modify c1 invisible;
SQL> desc T
Name Null? Type
---------------------------- -------- -------
C2 NUMBER(38)
C3 NUMBER(38)
15. SQL> alter table T add c3 int;
Table altered.
SQL> create or replace
2 procedure NEW_APP is
3 begin
4 for i in ( select c1,c2,c3 from T )
5 loop
6 dbms_output.put_line(i.c1);
7 dbms_output.put_line(i.c2);
8 dbms_output.put_line(i.c3);
9 end loop;
10 end;
11 /
Procedure created.
19. SQL> exec BAD_APP
BEGIN BAD_APP; END;
*
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00905: object SCOTT.BAD_APP is invalid
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
22. SQL> alter table T modify c1 visible;
SQL> desc T
Name Null? Type
---------------------------- -------- -------
C2 NUMBER(38)
C3 NUMBER(38)
C1 NUMBER(38)
24. SQL> desc T
Name Null? Type
---------------------- -------- --------------------
C1 NUMBER(38)
C2 NUMBER(38)
C3 NUMBER(38)
SQL> create or replace
2 procedure P is
3 begin
4 insert into T values (1,10,100);
6 end;
SQL> exec P
SQL> select * from T;
C1 C2 C3
---------- ---------- ----------
1 10 100
25. SQL> alter table T modify c1 invisible;
Table altered.
SQL> alter table T modify c1 visible;
Table altered.
SQL> desc T
Name Null? Type
------------------- -------- --------------------
C2 NUMBER(38)
C3 NUMBER(38)
C1 NUMBER(38)
30. SQL> create table T ( c1 int, c2 int invisible);
Table created.
SQL> desc T
Name Null? Type
------------------------- -------- ------------------
C1 NUMBER(38)
SQL> set colinvisible ON
SQL> desc T
Name Null? Type
------------------------- -------- -----------
C1 NUMBER(38)
C2 (INVISIBLE) NUMBER(38)
31.
32. SQL> alter table T add "C3 (INVISIBLE)" int;
Table altered.
SQL> desc T
Name Null? Type
------------------------- -------- ------------
C1 NUMBER(38)
C3 (INVISIBLE) NUMBER(38)
C2 (INVISIBLE) NUMBER(38)