You are on page 1of 32

SQL> conn ajaydba

Enter password:

Connected.

SQL> create table emp

2 (empno number(5)

3 ,empname varchar(5)

4 ,DOB date

5 ,sal number(7,2));

Table created.

SQL> commit;

Commit complete.

SQL> create table dept (Dno number(4) ,DName varchar(25),Dlocation varchar(25));

Table created.

SQL> commit;

Commit complete.

SQL> create table emp1 as select * from emp;

Table created.

SQL> commit;

Commit complete.

SQL> create table emp2 as select empno,empname,sal from emp;

Table created.

SQL> commit;

Commit complete.

SQL> create table emp3 as select * from emp where 1=2;

Table created.
SQL> commit

Commit complete.

SQL> rename emp3 to employee;

Table renamed.

SQL> commit;

Commit complete.

SQL> alter table employee rename column empno to empid;

Table altered.

SQL> commit

SQL> commit;

Commit complete.

SQL> alter table employee rename column sal to salary;

Table altered.

SQL> commit
2

SQL> commit;

Commit complete.

SQL> alter table employee rename column empname to empfirstname;

Table altered.

SQL> commit;

Commit complete.

SQL> alter table employee drop column empfirstname;

Table altered.

SQL> commit;

Commit complete.

SQL> alter table employee drop(salary,empid);

Table altered.
SQL> commit;

Commit complete.

SQL> drop table employee;

Table dropped.

SQL> commit;

Commit complete.

SQL> show recyclebin;

ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME

---------------- ------------------------------ ------------ -------------------

EMPLOYEE BIN$bzuYtry9RMK9b8D1cWvlRw==$0 TABLE 2017-11-27:15:58:49

SQL> flashback table employee to before drop;

Flashback complete.

SQL> commit;

Commit complete.

SQL> show recyclebin;


SQL> show recyclebin;

SQL> drop table employee;

Table dropped.

SQL> commit;

Commit complete.

SQL> show recyclebin;

ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME

---------------- ------------------------------ ------------ -------------------

EMPLOYEE BIN$YL2MK0DzQ7eyHaYRdWxceg==$0 TABLE 2017-11-27:16:03:02

SQL> flashback table employee to before drop;

Flashback complete.

SQL> commit;

Commit complete.

SQL> show recyclebin;

SQL> purge table employee;

purge table employee

*
ERROR at line 1:

ORA-38307: object not in RECYCLE BIN

SQL> show recyclebin;

SQL> drop table employee;

Table dropped.

SQL> commit;

Commit complete.

SQL> purge table employee;

Table purged.

SQL> commit;

Commit complete.

SQL> show recyclebin;

SQL> slect * from recyclebin;

SP2-0734: unknown command beginning "slect * fr..." - rest of line ignored.

SQL> select * from recyclebin;


no rows selected

SQL> inset into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d');

SP2-0734: unknown command beginning "inset into..." - rest of line ignored.

SQL> insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d');

Enter value for a: 121

Enter value for b: ajay

Enter value for c: 12aug1992

Enter value for d: 6000

old 1: insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d')

new 1: insert into emp( empno ,empname ,DOB ,sal ) values('121','ajay','12aug1992','6000')

1 row created.

SQL> commit;

Commit complete.

SQL> select * from emp;

EMPNO EMPNA DOB SAL

---------- ----- --------- ----------

121 ajay 12-AUG-92 6000

SQL> insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d');


Enter value for a: babu

Enter value for b:

Enter value for c:

Enter value for d:

old 1: insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d')

new 1: insert into emp( empno ,empname ,DOB ,sal ) values('babu','','','')

insert into emp( empno ,empname ,DOB ,sal ) values('babu','','','')

ERROR at line 1:

ORA-01722: invalid number

SQL> insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d');

Enter value for a: 122

Enter value for b: babu

Enter value for c: 25nov1992

Enter value for d: 6001

old 1: insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d')

new 1: insert into emp( empno ,empname ,DOB ,sal ) values('122','babu','25nov1992','6001')

1 row created.

SQL> select * from emp;

EMPNO EMPNA DOB SAL


---------- ----- --------- ----------

121 ajay 12-AUG-92 6000

122 babu 25-NOV-92 6001

SQL> commit;

Commit complete.

SQL> select * from emp;

EMPNO EMPNA DOB SAL

---------- ----- --------- ----------

121 ajay 12-AUG-92 6000

122 babu 25-NOV-92 6001

SQL> insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d');

Enter value for a: raja

Enter value for b:

Enter value for c:

Enter value for d:

old 1: insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d')

new 1: insert into emp( empno ,empname ,DOB ,sal ) values('raja','','','')

insert into emp( empno ,empname ,DOB ,sal ) values('raja','','','')

ERROR at line 1:
ORA-01722: invalid number

SQL>

SQL> insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d');

Enter value for a: 123

Enter value for b: raja

Enter value for c: 11aug1991

Enter value for d: 7000

old 1: insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d')

new 1: insert into emp( empno ,empname ,DOB ,sal ) values('123','raja','11aug1991','7000')

1 row created.

SQL> commit;

Commit complete.

SQL> select * from emp;

EMPNO EMPNA DOB SAL

---------- ----- --------- ----------

121 ajay 12-AUG-92 6000

122 babu 25-NOV-92 6001

123 raja 11-AUG-91 7000


SQL> insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d');

Enter value for a: 124

Enter value for b: raju

Enter value for c: 12aug1992

Enter value for d: 8000

old 1: insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d')

new 1: insert into emp( empno ,empname ,DOB ,sal ) values('124','raju','12aug1992','8000')

1 row created.

SQL> commit;

Commit complete.

SQL> insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d');

Enter value for a: 125

Enter value for b: siva

Enter value for c: 13nov1992

Enter value for d: 9000

old 1: insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d')

new 1: insert into emp( empno ,empname ,DOB ,sal ) values('125','siva','13nov1992','9000')

1 row created.
SQL> commit;

Commit complete.

SQL> select * from emp;

EMPNO EMPNA DOB SAL

---------- ----- --------- ----------

121 ajay 12-AUG-92 6000

122 babu 25-NOV-92 6001

123 raja 11-AUG-91 7000

124 raju 12-AUG-92 8000

125 siva 13-NOV-92 9000

SQL> create table employee as select * from emp where 1=1;

Table created.

SQL> commit;

Commit complete.

SQL> select * from employee;

EMPNO EMPNA DOB SAL


---------- ----- --------- ----------

121 ajay 12-AUG-92 6000

122 babu 25-NOV-92 6001

123 raja 11-AUG-91 7000

124 raju 12-AUG-92 8000

125 siva 13-NOV-92 9000

How to Alter

Alter:- By using Alter we can Add ,Modify ,Drop ,Rename,Set unused,enable ,disable the object or table
, column

Here we are going to insert values from other table

SQL>insert into emoloyee select * from emp;

SQL> create table employee as select * from emp where 1=1;

Table created.
SQL> commit;

Commit complete.

SQL> select * from employee;

EMPNO EMPNA DOB SAL

---------- ----- --------- ----------

121 ajay 12-AUG-92 6000

122 babu 25-NOV-92 6001

123 raja 11-AUG-91 7000

124 raju 12-AUG-92 8000

125 siva 13-NOV-92 9000

SQL> comment on table employee is 'this table is copy of emp table';

Comment created.

SQL> commit;

Commit complete.

SQL> select * from employee;


EMPNO EMPNA DOB SAL

---------- ----- --------- ----------

121 ajay 12-AUG-92 6000

122 babu 25-NOV-92 6001

123 raja 11-AUG-91 7000

124 raju 12-AUG-92 8000

125 siva 13-NOV-92 9000

SQL> alter table employee modify (empno number(10));

Table altered.

SQL> commit;

Commit complete.

SQL> insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d');

Enter value for a: 12356789

Enter value for b: Gajay

Enter value for c: 22dec1990

Enter value for d: 70000

old 1: insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d')

new 1: insert into emp( empno ,empname ,DOB ,sal ) values('12356789','Gajay','22dec1990','70000')

insert into emp( empno ,empname ,DOB ,sal ) values('12356789','Gajay','22dec1990','70000')

*
ERROR at line 1:

ORA-01438: value larger than specified precision allowed for this column

SQL> insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d');

Enter value for a: 123456

Enter value for b: rani

Enter value for c: 12 dec1990

Enter value for d: 7000

old 1: insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d')

new 1: insert into emp( empno ,empname ,DOB ,sal ) values('123456','rani','12 dec1990','7000')

insert into emp( empno ,empname ,DOB ,sal ) values('123456','rani','12 dec1990','7000')

ERROR at line 1:

ORA-01438: value larger than specified precision allowed for this column

SQL> insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d');

Enter value for a: 1234

Enter value for b: rani

Enter value for c: 12 dec1990

Enter value for d: 7000

old 1: insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d')

new 1: insert into emp( empno ,empname ,DOB ,sal ) values('1234','rani','12 dec1990','7000')
1 row created.

SQL> alter table emp modify (empno number(10));

Table altered.

SQL> commit;

Commit complete.

SQL> insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d');

Enter value for a: 123455

Enter value for b: rani

Enter value for c: 12 dec1990

Enter value for d: 7000

old 1: insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d')

new 1: insert into emp( empno ,empname ,DOB ,sal ) values('123455','rani','12 dec1990','7000')

1 row created.

SQL> commitl;

SP2-0042: unknown command "commitl" - rest of line ignored.

SQL> commit;

Commit complete.
SQL> slect * from emp;

SP2-0734: unknown command beginning "slect * fr..." - rest of line ignored.

SQL> select * from emp;

EMPNO EMPNA DOB SAL

---------- ----- --------- ----------

121 ajay 12-AUG-92 6000

122 babu 25-NOV-92 6001

123 raja 11-AUG-91 7000

124 raju 12-AUG-92 8000

125 siva 13-NOV-92 9000

1234 rani 12-DEC-90 7000

123455 rani 12-DEC-90 7000

7 rows selected.

SQL> alter table emp drop column where empno=123455;

alter table emp drop column where empno=123455

ERROR at line 1:

ORA-00904: : invalid identifier

SQL> alter table emp drop column where empno='123455';


alter table emp drop column where empno='123455'

ERROR at line 1:

ORA-00904: : invalid identifier

SQL> alter table emp drop column where empno="123455";

alter table emp drop column where empno="123455"

ERROR at line 1:

ORA-00904: : invalid identifier

SQL> alter table emp drop empno where empno="123455";

alter table emp drop empno where empno="123455"

ERROR at line 1:

ORA-00905: missing keyword

SQL> alter table emp drop empno where empno=123455;

alter table emp drop empno where empno=123455

ERROR at line 1:

ORA-00905: missing keyword


SQL> alter table emp drop empno where empno='123455';

alter table emp drop empno where empno='123455'

ERROR at line 1:

ORA-00905: missing keyword

SQL> alter table emp modify drop empno where empno='123455';

alter table emp modify drop empno where empno='123455'

ERROR at line 1:

ORA-00904: : invalid identifier

SQL> drop column empno where empno=123455;

drop column empno where empno=123455

ERROR at line 1:

ORA-00950: invalid DROP option

SQL> select empno,dob fro emp;

select empno,dob fro emp


*

ERROR at line 1:

ORA-00923: FROM keyword not found where expected

SQL> select empno,dob from emp;

EMPNO DOB

---------- ---------

121 12-AUG-92

122 25-NOV-92

123 11-AUG-91

124 12-AUG-92

125 13-NOV-92

1234 12-DEC-90

123455 12-DEC-90

7 rows selected.

SQL> drop column empno where empno=123455;

drop column empno where empno=123455

ERROR at line 1:

ORA-00950: invalid DROP option


SQL> select * from emp where empno=123455

SQL> select * from emp where empno=123455;

EMPNO EMPNA DOB SAL

---------- ----- --------- ----------

123455 rani 12-DEC-90 7000

SQL> select sal+comm from emp where sal=7000;

select sal+comm from emp where sal=7000

ERROR at line 1:

ORA-00904: "COMM": invalid identifier

SQL> select sal*2 from emp where sal=7000;

SAL*2

----------

14000

14000

14000

SQL> update emp set empno='127' where empno='123455';


1 row updated.

SQL> select empno ,empname from emp;

EMPNO EMPNA

---------- -----

121 ajay

122 babu

123 raja

124 raju

125 siva

1234 rani

127 rani

7 rows selected.

SQL> update emp set empno='126',empname='venki' where empno='1234';

1 row updated.

SQL> select empno ,empname from emp;

EMPNO EMPNA

---------- -----
121 ajay

122 babu

123 raja

124 raju

125 siva

126 venki

127 rani

7 rows selected.

SQL> alter table emp modify column(empname varchar(25));

alter table emp modify column(empname varchar(25))

ERROR at line 1:

ORA-00907: missing right parenthesis

SQL> alter table emp modify (empname varchar(25));

Table altered.

SQL> commit;

Commit complete.
SQL> select empno ,empname from emp;

EMPNO EMPNAME

---------- -------------------------

121 ajay

122 babu

123 raja

124 raju

125 siva

126 venki

127 rani

7 rows selected

SQL> alter table emp modify column(empname varchar(25));

alter table emp modify column(empname varchar(25))

ERROR at line 1:

ORA-00907: missing right parenthesis

SQL> alter table emp modify (empname varchar(25));

Table altered.

SQL> commit;
Commit complete.

SQL> select empno ,empname from emp;

EMPNO EMPNAME

---------- -------------------------

121 ajay

122 babu

123 raja

124 raju

125 siva

126 venki

127 rani

7 rows selected.

SQL> insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d');

Enter value for a: 1491200

Enter value for b: siva prasad

Enter value for c: 19sep1993

Enter value for d: 48000

old 1: insert into emp( empno ,empname ,DOB ,sal ) values('&a','&b','&c','&d')

new 1: insert into emp( empno ,empname ,DOB ,sal ) values('1491200','siva


prasad','19sep1993','48000')
1 row created.

SQL> commit;

Commit complete.

SQL> select * from emp;

EMPNO EMPNAME DOB SAL

---------- ------------------------- --------- ----------

121 ajay 12-AUG-92 6000

122 babu 25-NOV-92 6001

123 raja 11-AUG-91 7000

124 raju 12-AUG-92 8000

125 siva 13-NOV-92 9000

126 venki 12-DEC-90 7000

127 rani 12-DEC-90 7000

1491200 siva prasad 19-SEP-93 48000

8 rows selected.

SQL> delete emp where empno='122';

1 row deleted.
SQL> delete emp where empno='122';

0 rows deleted.

SQL> select * from emp;

EMPNO EMPNAME DOB SAL

---------- ------------------------- --------- ----------

121 ajay 12-AUG-92 6000

123 raja 11-AUG-91 7000

124 raju 12-AUG-92 8000

125 siva 13-NOV-92 9000

126 venki 12-DEC-90 7000

127 rani 12-DEC-90 7000

1491200 siva prasad 19-SEP-93 48000

7 rows selected.

=====================================================================================

SQL> conn ajay

Enter password:

Connected.

SQL> conn ajaydba/ajaydba_123

Connected.

SQL> conn ajay/ajay_123

Connected.
SQL> select * from user_sys_privs;

USERNAME PRIVILEGE
ADM COM

-------------------------------------------------------------------------------------------------------------------------------- ----------
------------------------------ --- ---

AJAY CREATE SESSION


NO NO

AJAY UNLIMITED TABLESPACE


NO NO

SQL> conn ajaydba/ajaydba_123

Connected.

SQL> select * from user_sys_privs;

USERNAME PRIVILEGE
ADM COM

-------------------------------------------------------------------------------------------------------------------------------- ----------
------------------------------ --- ---

AJAYDBA ALTER ANY TABLE


NO NO

AJAYDBA UNLIMITED TABLESPACE


NO NO

AJAYDBA CREATE SESSION


NO NO

SQL> select instance from v$thread;

INSTANCE
--------------------------------------------------------------------------------

orcl

SQL> conn ajay/ajay_123

Connected.

SQL> select instance from v$thread;

INSTANCE

--------------------------------------------------------------------------------

orcl

SQL> conn ajaydba/ajaydba_123

Connected.

SQL> grant selet on emp to ajay;

grant selet on emp to ajay

ERROR at line 1:

ORA-00990: missing or invalid privilege

SQL> grant select on emp to ajay;

Grant succeeded.

SQL> conn ajay/ajay_123


Connected.

SQL> select * from emp;

select * from emp

ERROR at line 1:

ORA-00942: table or view does not exist

SQL> conn ajaydba/ajaydba_123

Connected.

SQL> grant all on emp to ajay;

Grant succeeded.

SQL> show user

USER is "AJAY"

SQL> select * from ajaydba.emp;

EMPNO EMPNAME DOB SAL

---------- ------------------------- --------- ----------

121 ajay 12-AUG-92 6000

123 raja 11-AUG-91 7000

124 raju 12-AUG-92 8000

125 siva 13-NOV-92 9000

126 venki 12-DEC-90 7000

127 rani 12-DEC-90 7000


1491200 siva prasad 19-SEP-93 48000

7 rows selected.

You might also like