0% found this document useful (0 votes)
2 views

dbms lab

The document provides a comprehensive overview of SQL commands including Data Definition Language (DDL) for creating and modifying tables, and Data Manipulation Language (DML) for inserting, updating, and deleting records. It includes examples of SQL queries for retrieving data, handling primary key violations, and performing aggregate functions. Additionally, it demonstrates how to create a new table based on existing data and delete records based on specific conditions.

Uploaded by

muruga180106
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

dbms lab

The document provides a comprehensive overview of SQL commands including Data Definition Language (DDL) for creating and modifying tables, and Data Manipulation Language (DML) for inserting, updating, and deleting records. It includes examples of SQL queries for retrieving data, handling primary key violations, and performing aggregate functions. Additionally, it demonstrates how to create a new table based on existing data and delete records based on specific conditions.

Uploaded by

muruga180106
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 36

1.

Data Definition Command, Data Manipulation Commands for inserting,


updating, deleting and retrieving tables and Transaction Control
Statements.

DATA DEFINITION LANGUAGE (DDL) COMMANDS

SQL> create table employee(eno number(3) constraint


peno primary key, ename varchar2(20) not null,
sal number(12,2), dob date);

Table created.

SQL> desc employee


Name Null? Type
------------------------------- -------- ----
ENO NOT NULL NUMBER(3)
ENAME NOT NULL VARCHAR2(20)
SAL NUMBER(12,2)
DOB DATE

SQL> alter table employee add (dno number(3));


Table altered.

SQL> desc employee


Name Null? Type
------------------------------- -------- ----
ENO NOT NULL NUMBER(3)
ENAME NOT NULL VARCHAR2(20)
SAL NUMBER(12,2)
DOB DATE
DNO NUMBER(3)

SQL> alter table employee modify(eno number(5));


Table altered.

SQL> desc employee;


Name Null? Type
------------------------------- -------- ----
ENO NOT NULL NUMBER(5)
ENAME NOT NULL VARCHAR2(20)
SAL NUMBER(12,2)
DOB DATE
DNO NUMBER(3)

SQL> alter table employee drop constraint peno;


Table altered.

SQL> desc employee;


Name Null? Type
------------------------------- -------- ----
ENO NUMBER(5)
ENAME NOT NULL VARCHAR2(20)
SAL NUMBER(12,2)
DOB DATE
DNO NUMBER(3)

SQL> alter table employee add constraint peno primary key(eno);


Table altered.

SQL> desc employee;


Name Null? Type
------------------------------- -------- ----
ENO NOT NULL NUMBER(5)
ENAME NOT NULL VARCHAR2(20)
SAL NUMBER(12,2)
DOB DATE
DNO NUMBER(3)

SQL> truncate table employee;


Table truncated.

SQL> drop table employee;


Table dropped.

DATA MANIPULATION LANGUAGE(DML) COMMANDS


SQL> insert into employee(eno, ename, sal, dob, dno)
values(&eno, '&ename', &sal, '&dob', &dno);
Enter value for eno: 1
Enter value for ename: sivakumar
Enter value for sal: 10000
Enter value for dob: 11-apr-75
Enter value for dno: 1
old 2: values(&eno, '&ename', &sal, '&dob', &dno)
new 2: values(1, 'sivakumar', 10000, '11-apr-75', 1)

1 row created.

SQL> /
Enter value for eno: 2
Enter value for ename: muthu
Enter value for sal: 20000
Enter value for dob: 10-may-65
Enter value for dno: 1
old 2: values(&eno, '&ename', &sal, '&dob', &dno)
new 2: values(2, 'muthu', 20000, '10-may-65', 1)
1 row created.

EXAMPLE FOR PRIMARY KEY VIOLATION.

SQL> /
Enter value for eno: 1
Enter value for ename: rajesh
Enter value for sal: 15000
Enter value for dob: 20-jan-1976
Enter value for dno: 2
old 2: values(&eno, '&ename', &sal, '&dob', &dno)
new 2: values(1, 'rajesh', 15000, '20-jan-1976', 2)
insert into employee(eno, ename, sal, dob, dno)
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.PENO) violated

SQL> insert into employee(eno, ename, dob) values(&eno, '&ename', '&dob');


Enter value for eno: 4
Enter value for ename: dinesh
Enter value for dob: 1-may-81
old 1: insert into employee(eno, ename, dob) values(&eno, '&ename',
'&dob')
new 1: insert into employee(eno, ename, dob) values(4, 'dinesh', '1-may-
81')

1 row created.

SQL> insert into employee values(&1, '&2', &3, '&4', &5);

SQL> select * from employee;

ENO ENAME SAL DOB DNO


--------- -------------------- --------- --------- --------- ------
1 sivakumar 10000 11-APR-75 1
2 pmv chalam 20000 10-MAY-65 1
3 emanuel 30000 02-FEB-80 2
4 dinesh 01-MAY-81
5 sudha 10-JUN-82
6 muthuvel 50000 10-JUL-82 5
7 preetha 42000 13-JUL-80 5
8 karthika 7888 23-DEC-82 5
9 celestina 6000 21-JUL-82 5
10 shivkumar 50000 10-JUN-81 6
11 jegan 7000 12-MAR-80 6

11 rows selected.

SQL> update employee set sal = 4000, dno = 3 where eno = 4;

1 row updated.

SQL> update employee set sal = 70000, dno = 3 where ename = 'sudha';

1 row updated.

SQL> update employee set dno = 4 where dob = '13-jul-80';

1 row updated.

SELECT COMMAND - SIMPLE QUERIES

Q) DISPLAY ALL INFORMATION FROM EMPLOYEE TABLE.

SQL> select * from employee;


ENO ENAME SAL DOB DNO
--------- -------------------- --------- --------- --------
1 sivakumar 10000 11-APR-75 1
2 pmv chalam 20000 10-MAY-65 1
3 emanuel 30000 02-FEB-80 2
4 dinesh 4000 01-MAY-81 3
5 sudha 70000 10-JUN-82 3
6 muthuvel 50000 10-JUL-82 5
7 preetha 42000 13-JUL-80 4
8 karthika 7888 23-DEC-82 5
9 celestina 6000 21-JUL-82 5
10 shivkumar 50000 10-JUN-81 6
11 jegan 7000 12-MAR-80 6
11 rows selected.

Q) DISPLAY DEPARTMENT NUMBERS FROM EMPLOYEE TABLE.

SQL> select dno from employee;

DNO
---------
1
1
2
3
3
5
4
5
5
6
6
11 rows selected.

Q) DISPLAY DEPARTMENT NUMBERS FROM EMPLOYEE TABLE WITH OUT


DUPLICATE VALUES.

SQL> select distinct dno from employee;

DNO
---------
1
2
3
4
5
6

6 rows selected.
Q) DISPLAY EMPLOYEE NUMBER AND NAME FROM EMPLOYEE TABLE

SQL> select eno, ename from employee;


ENO ENAME
--------- --------------------
1 sivakumar
2 pmv chalam
3 emanuel
4 dinesh
5 sudha
6 muthuvel
7 preetha
8 karthika
9 celestina
10 shivkumar
11 jegan
11 rows selected.

Q) DISPLAY EMPLOYEE NAME WHEN EMPLOYEE NUMBER IS 2 OR 6 OR 8.


(USE IN)

SQL> select ename from employee where eno in (2,6,8);

ENAME
--------------------
karthika
muthuvel
sivakumar

Q) LIST EMPLOYEE NAME WHEN SALARY > 30000 OR DOB > 1-1-80

SQL> SELECT ENAME FROM EMPLOYEE WHERE SAL > 30000 OR DOB > '01-JAN-80';

ENAME
--------------------
emanuel
dinesh
sudha
muthuvel
preetha
karthika
celestina
shivkumar
jegan
9 rows selected.

Q) LIST EMPLOYEE NAMES WHEN SALARY > 7000 AND DNO =5

SQL> SELECT ENAME FROM EMPLOYEE WHERE SAL > 7000 AND DNO = 5;
ENAME
--------------------
muthuvel
karthika

Q) DISPLAY EMPLOYEE NUMBER, NAME AND SALARY WHEN DEPARTMENT


IS NOT 2 OR 4 OR 6.
(USE NOT IN)

SQL> select eno, ename, sal from employee where dno not in(2,4,6);

ENO ENAME SAL


--------- -------------------- ---------
1 sivakumar 10000
2 pmv chalam 20000
4 dinesh 4000
5 sudha 70000
6 muthuvel 50000
8 karthika 7888
9 celestina 6000
7 rows selected.

Q) DISPLAY EMPLOYEE NAME WHEN DOB IS 11TH APRIL 75 OR 10TH JUNE 81.
(USE ANY)

SQL> select ename from employee where dob = any('11-apr-75', '10-jun-81');

ENAME
--------------------
sivakumar
shivkumar

Q) DISPLAY NUMBER OF EMPLOYEES IN DEPARTMENT 5.


(USE COUNT FUNCTION)
SQL> select count(eno) from employee where dno = 5;

COUNT(ENO)
----------
3

Q) DISPLAY EMPLOYEE NUMBER, NAME AND SALARY FOR ODD EMPLOYEE NUMBERS.
(USE MOD FUNCTION)
SQL> select eno, ename, sal from employee where eno = 1 or (mod(eno,2) =
1);

ENO ENAME SAL


--------- -------------------- ---------
1 sivakumar 10000
3 emanuel 30000
5 sudha 70000
7 preetha 42000
9 celestina 6000
11 jegan 7000

6 rows selected.

Q) DISPLAY EMPLOYEE NAME WHEN SAL IS INBETWEEN 40000 AND 55000.


(USE BETWEEN)

SQL> select ename from employee where sal between 40000 and 55000;

ENAME
--------------------
muthuvel
preetha
shivkumar

Q) DISPLAY EMPLOYEE NAMES IN ALPHABETICAL ORDER.

SQL> select eno, ename, dno from employee order by ename;

ENO ENAME DNO


--------- -------------------- ---------
9 celestina 5
4 dinesh 3
3 emanuel 2
11 jegan 6
8 karthika 5
6 muthuvel 5
2 pmv chalam 1
7 preetha 4
10 shivkumar 6
1 sivakumar 1
5 sudha 3

11 rows selected.

Q) DISPLAY DEPARTMENT WISE TOTAL SALARY.

SQL> select dno, sum(sal) from employee group by dno;

DNO SUM(SAL)
--------- ---------
1 30000
2 30000
3 74000
4 42000
5 63888
6 57000

Q) DISPLAY DEPARTMENT WISE TOTAL SALARY ALONG WITH NUMBER OF


EMPLOYEES IN THE DEPARTMENT.

SQL> select dno, sum(sal), count(*) from employee group by dno;

DNO SUM(SAL) COUNT(*)


--------- --------- ---------
1 30000 2
2 30000 1
3 74000 2
4 42000 1
5 63888 3
6 57000 2

6 rows selected.

Q) DISPLAY DEPARTMENT WISE TOTAL SALARY ALONG WITH NUMBER OF


EMPLOYEES IN THE DEPARTMENT IF DEPARTMENT HAS MORE THAN ONE
EMPLOYEE.

SQL> select dno, sum(sal), count(*) from employee group by dno


2 having count(*) > 1;

DNO SUM(SAL) COUNT(*)


--------- --------- ---------
1 30000 2
3 74000 2
5 63888 3
6 57000 2

6 rows selected.

SQL> create table employee1 as select * from employee;


Table created.

SQL> insert into employee1 (select * from employee);

11 rows created.

SQL> select * from employee1;

ENO ENAME SAL DOB DNO


--------- -------------------- --------- --------- ---------
1 sivakumar 10000 11-APR-75 1
2 pmv chalam 20000 10-MAY-65 1
3 emanuel 30000 02-FEB-80 2
4 dinesh 4000 01-MAY-81 3
5 sudha 70000 10-JUN-82 3
6 muthuvel 50000 10-JUL-82 5
7 preetha 42000 13-JUL-80 4
8 karthika 7888 23-DEC-82 5
9 celestina 6000 21-JUL-82 5
10 shivkumar 50000 10-JUN-81 6
11 jegan 7000 12-MAR-80 6

11 rows selected.

DELETE COMMAND

Q) DELETE ALL RECORDS FROM EMPLOYEE1.

SQL> delete from employee1;

11 rows deleted.

Q) DELETE RECORDS FROM EMPLOYEE1 WHERE DNO IS 3 OR 5 OR 6.

SQL> delete from employee1 where dno in(3,5,6);

7 rows deleted.

SQL> select * from employee;

ENO ENAME SAL DOB DNO


--------- -------------------- --------- --------- ---------
1 sivakumar 10000 11-APR-75 1
2 pmv chalam 20000 10-MAY-65 1
3 emanuel 30000 02-FEB-80 2
4 dinesh 4000 01-MAY-81 3
5 sudha 70000 10-JUN-82 3
6 muthuvel 50000 10-JUL-82 5
7 preetha 42000 13-JUL-80 4
8 karthika 7888 23-DEC-82 5
9 celestina 6000 21-JUL-82 5
10 shivkumar 50000 10-JUN-81 6
11 jegan 7000 12-MAR-80 6

11 rows selected.

SQL> select * from employee1;

ENO ENAME SAL DOB DNO


--------- -------------------- --------- --------- ---------
1 sivakumar 10000 11-APR-75 1
2 pmv chalam 20000 10-MAY-65 1
3 emanuel 30000 02-FEB-80 2
7 preetha 42000 13-JUL-80 4
12 swetha 7888 02-FEB-89 6
13 manisha 5667 09-MAR-80 7

6 rows selected.

Q) RETRIEVE EMPLOYEE RECORDS FROM EMPLOYEE1 AND EMPLOYEE WITH OUT


DUPLICATION.
SQL> select eno, ename from employee1 union select eno, ename from
employee;

ENO ENAME
--------- --------------------
1 sivakumar
2 pmv chalam
3 emanuel
4 dinesh
5 sudha
6 muthuvel
7 preetha
8 karthika
9 celestina
10 shivkumar
11 jegan
12 swetha
13 manisha

13 rows selected.

Q) RETRIEVE EMPLOYEE RECORDS FROM EMPLOYEE1 AND EMPLOYEE WITH OUT


DUPLICATION.

SQL> select eno, ename from employee1 union all select eno, ename
from employee;

ENO ENAME
--------- --------------------
1 sivakumar
2 pmv chalam
3 emanuel
7 preetha
12 swetha
13 manisha
1 sivakumar
2 pmv chalam
3 emanuel
4 dinesh
5 sudha
6 muthuvel
7 preetha
8 karthika
9 celestina
10 shivkumar
11 jegan

17 rows selected.
Q) RETRIEVE COMMON EMPLOYEE RECORDS FROM EMPLOYEE AND EMPLOYEE1

SQL> select eno, ename from employee1 intersect select eno, ename
from employee;

ENO ENAME
--------- --------------------
1 sivakumar
2 pmv chalam
3 emanuel
7 preetha

Q) RETRIEVE EMPLOYEE RECORDS FROM EMPLOYEE1 WHICH IS NOT IN


EMPLOYEE TABLE.

SQL> select eno, ename from employee1 minus select eno, ename from
employee;

ENO ENAME
--------- --------------------
12 swetha
13 manisha

Q)DISPLAY SECOND MAXIMUM SALARY FROM EMPLOYEE TABLE

SQL> select max(sal) from employee where sal not in(select max(sal) from
employee);

MAX(SAL)
---------
50000

Q) FIND EMPLOYEE NAMES WHOSE SALARY ARE NOT MAXIMUM


AND BORN AFTER 1-1-82

SQL> select ename from employee where sal not in(select max(sal)
from employee) and dob in (select dob from employee where
dob > '1-jan-82');

ENAME
--------------------
muthuvel
celestina
karthika

DEMONSTRATION OF INTEGRITY CONSTRAINTS


SQL> create table student(sprno number(3) , name varchar2(20) not null,
mark1 number(3) constraint chm1 check(mark1 >0 and mark1 <=100),
mark2 number(3) constraint chm2 check(mark2 >0 and mark2 <=100),
mark3 number(3) constraint chm3 check(mark3 >0 and mark3 <=100),
constraint pksp primary key(sprno));

Table created.
SQL> desc student;
Name Null? Type
------------------------------- -------- ----
SPRNO NOT NULL NUMBER(3)
NAME NOT NULL VARCHAR2(20)
MARK1 NUMBER(3)
MARK2 NUMBER(3)
MARK3 NUMBER(3)

SQL> insert into student values(1, 'sivakumar', 34, 78, 89);

1 row created.

SQL> insert into student(sprno, mark1,mark2,mark3) values(1, 23, 78, 89);


insert into student(sprno, mark1,mark2,mark3) values(1, 23, 78, 89)
*
ERROR at line 1:
ORA-01400: cannot insert NULL into ("SCOTT"."STUDENT"."NAME")

SQL> insert into student(sprno, name,mark1,mark2,mark3)


values(1,'kowsalya', -3, 78, 89);

insert into student(sprno, name,mark1,mark2,mark3)


values(1,'kowsalya', -3, 78, 89)
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.CHM1) violated

SQL> insert into student values(1, 'kalaivani', 89,89,89);


insert into student values(1, 'kalaivani', 89,89,89)
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.PKSP) violated

SQL> alter table student drop constraint pksp;

Table altered.

SQL> insert into student values(1, 'sithirizwana', 89,89,89);

1 row created.

SQL> create table d(dno number(3) primary key, dname varchar2(20));

Table created.

SQL> select * from d;

DNO DNAME
--------- --------------------
1 edp
2 accounts
3 marketting

SQL> commit;
Commit complete.

SQL> create table e(eno number(3) primary key, ename varchar2(20) not null,
2 dno number(3) references d(eno), salary number(12,2) check(sal > 0));
dno number(3) references d(dno), salary number(12,2) check(salary > 0))

Table created.
SQL> insert into e values(3, 'gokila', 5, 7888);
insert into e values(3, 'gokila', 5, 7888)
*
ERROR at line 1:
ORA-02291: integrity constraint (SCOTT.SYS_C00611) violated -
parent key not found

NESTED QUERIES AND JOIN OPERATION.


NESTED QUERIES

SQL> desc emp_det;


Name Null? Type
------------------------------- -------- ----
ENO NOT NULL NUMBER(3)
ENAME VARCHAR2(25)
ADDRESS VARCHAR2(30)
BASIC_SALARY NUMBER(12,2)
JOB_STATUS VARCHAR2(15)
DNO NUMBER(3)

SQL> desc pro_det;


Name Null? Type
------------------------------- -------- ----
PNO NOT NULL NUMBER(3)
PNAME VARCHAR2(30)
NOS_OF_STAFF NUMBER(3)

SQL> desc work_in;


Name Null? Type
------------------------------- -------- ----
PNO NUMBER(3)
ENO NUMBER(3)
PJOB CHAR(12)

Here pno is reference key for pno of pro_det and eno is the reference key
of emp_det

SQL> select * from emp_det;

ENO ENAME ADDRESS BASIC_SALARY JOB_STATUS DNO


-----------------------------------------------------------------
1 saravanakumar xyz nagar 8000 manager 10

2 mahendran abc colony 5000 assistant 10

3 rajkumar raj street 10000 manager 2

4 geetha abc nagar 7800 professor 3

5 shirley xmp colony 8000 manager 3


6 elamathi kk nagar 7888.9 assistant 2

7 rajesh mm nagar 0000 professor 2

7 rows selected.

SQL> select * from pro_det;

PNO PNAME NOS_OF_STAFF


--------- ------------------------------ ------------
1 DBMS 3
2 COMPILER 2
3 C 3

SQL> select * from work_in;

PNO ENO PJOB


--------- --------- ------------
1 1 programmer
2 1 analyst
1 2 analyst
2 2 programmer

Q) Find the names of all employees who do not work in department where
geetha
is working.

SQL> select ename from emp_det where dno not in(select dno from emp_det
2 where ename = 'geetha');

ENAME
-------------------------
saravanakumar
mahendran
rajkumar
elamathi

Q) Find names of employees who are working in the same department with
shirley

SQL> select ename, dno from emp_det where dno = (select dno from emp_det
2 where ename = 'shirley') order by ename;

ENAME DNO
------------------------- ---------
geetha 3
shirley 3

Q) Find the names of employees who are working in DBMS project

SQL> select ename from emp_det where eno in(select eno from
2 work_in where pno = (select pno from pro_det where pname = 'DBMS'))
3* order by ename

ENAME
-------------------------
mahendran
saravanakumar

Q) Find names and basic salary of those employees of the department


with dno 2 who get more salary than the salary the highest paid
employee of the department with dno 10

SQL> select ename, basic_salary from emp_det where dno = 2 and basic_salary
>
2* (select max(basic_salary) from emp_det where dno = 10) order by ename

ENAME BASIC_SALARY
------------------------- ------------
rajkumar 10000

Q) Find name, job_status, basic_salary of those employees in


rajesh's department
who get same salary as him.

SQL> select ename, job_status, basic_salary from emp_det


where(dno, basic_salary) in
2 (select dno, basic_salary from emp_det where ename = 'rajesh');

ENAME JOB_STATUS BASIC_SALARY


------------------------- --------------- ------------
rajkumar manager 10000
rajesh professor 10000

Q) Find the names of all projects in which employees are working.

SQL> select pno,pname from pro_det where exists(select pno from


work_in where work_in.pno = pro_det.pno)

PNO PNAME
--------- ------------------------------
1 DBMS
2 COMPILER

Q) Find the employee name, project name and job names in projects. The
employees who are not associated with any project will not be considered

SQL>select e.ename, p.pname, w.pjob from emp_det e, pro_det p, work_in w


2* where (e.eno = w.eno) and (w.pno = p.pno)

ENAME PNAME PJOB


------------------------- ------------------------------ ------------
saravanakumar DBMS programmer
saravanakumar COMPILER analyst
mahendran DBMS analyst
mahendran COMPILER programmer

JOIN OPERATION

SQL> create table employ1(eno number(3) primary key, ename varchar2(20),


bp number(12,2), da number(8,2), hra number(8,2), tax number(8,2),
dno number(3));
Table created.

SQL> create table depart1(dno number(3) primary key, dname varchar2(20));

Table created.

SQL> select * from depart1;

DNO DNAME
--------- --------------------
10 cse
20 ece
30 mec

SQL> select * from employ1;

ENO ENAME BP DA HRA TAX DNO


--------- ----------- --------- --------- --------- --------- ---------
1 shivkumar 4000 1000 200 90 10
2 niveditha 6000 500 200 120 10
3 koushika 3000 1500 300 89 20
4 vijay 10000 5000 899 3000 20
5 muralikrishnan 3000 2000 788 900 10
6 avelin raja 3000 1200 89 200 20

6 rows selected.

EQUI JOIN

SQL> select ename, dname from depart1, employ1 where depart1.dno


= employ1.dno;

ENAME DNAME
-------------------- --------------------
shivkumar cse
niveditha cse
koushika ece
vijay ece
muralikrishnan cse
avelin raja ece

6 rows selected.

SQL> select ename, dname from depart1, employ1 where depart1.dno


> employ1.dno

ENAME DNAME
-------------------- ------
shivkumar ece
shivkumar mec
niveditha ece
niveditha mec
koushika mec
vijay mec
muralikrishnan ece
muralikrishnan mec
avelin raja mec

9 rows selected.
SELF JOIN

SQL> select e.ename from employ1 e where e.hra > e.tax;

ENAME
--------------------
shivkumar
niveditha
koushika

OUTER JOIN

SQL> select ename, dname from depart1, employ1 where


employ1.dno(+) = depart1.dno;

ENAME DNAME
-------------------- ----------
shivkumar cse
niveditha cse
muralikrishnan cse
koushika ece
vijay ece
avelin raja ece
mec

7 rows selected.

SQL> select ename, dname from depart1, employ1 where


depart1.dno(+) = employ1.dno

ENAME DNAME
-------------------- --------------------
shivkumar cse
niveditha cse
koushika ece
vijay ece
muralikrishnan cse
avelin raja ece

6 rows selected.

DATA CONTROL LANGUAGE COMMANDS

TO VIEW THE CURRENT USER

SQL> SHOW USER


user is "SCOTT"

SQL> SELECT * FROM EMPLOYEE;

ENO ENAME SAL DOB DNO


--------- -------------------- --------- --------- ---------
1 sivakumar 10000 11-APR-75 1
2 pmv chalam 20000 10-MAY-65 1
3 emanuel 30000 02-FEB-80 2
4 dinesh 4000 01-MAY-81 3
5 sudha 70000 10-JUN-82 3
6 muthuvel 50000 10-JUL-82 5
7 preetha 42000 13-JUL-80 4
8 karthika 7888 23-DEC-82 5
9 celestina 6000 21-JUL-82 5
10 shivkumar 50000 10-JUN-81 6
11 jegan 7000 12-MAR-80 6

11 rows selected.

Q) GIVE SELECT PERMISSION ON EMPLOYEE TABLE


TO DEMO USER.

SQL> GRANT SELECT ON EMPLOYEE TO DEMO;

Grant succeeded.

SQL> SHOW USER


user is "DEMO"

SQL> SELECT * FROM SCOTT.EMPLOYEE;

ENO ENAME SAL DOB DNO


--------- -------------------- --------- --------- ---------
1 sivakumar 10000 11-APR-75 1
2 pmv chalam 20000 10-MAY-65 1
3 emanuel 30000 02-FEB-80 2
4 dinesh 4000 01-MAY-81 3
5 sudha 70000 10-JUN-82 3
6 muthuvel 50000 10-JUL-82 5
7 preetha 42000 13-JUL-80 4
8 karthika 7888 23-DEC-82 5
9 celestina 6000 21-JUL-82 5
10 shivkumar 50000 10-JUN-81 6
11 jegan 7000 12-MAR-80 6

11 rows selected.

SQL> INSERT INTO SCOTT.EMPLOYEE VALUES(12, 'Sheerin',


2 30000, '20-JAN-79', 6);
INSERT INTO SCOTT.EMPLOYEE VALUES(12, 'Sheerin',
*
ERROR at line 1:
ORA-01031: insufficient privileges

Q) GIVE UPDATE OF ENAME ON EMPLOYEE TO DEMO


USER

SQL> GRANT UPDATE(ENAME) ON EMPLOYEE TO DEMO;

Grant succeeded.

SQL> SHOW USER


user is "DEMO"

SQL> UPDATE SCOTT.EMPLOYEE SET ENAME = 'MANONMANI'


2 WHERE ENO = 2;

1 row updated.
SQL> UPDATE SCOTT.EMPLOYEE SET SAL = 60000 WHERE ENO = 2;
UPDATE SCOTT.EMPLOYEE SET SAL = 60000 WHERE ENO = 2
*
ERROR at line 1:
ORA-01031: insufficient privileges

Q) REMOVE SELECT PERMISSION FROM DEMO USER

SQL> REVOKE SELECT ON EMPLOYEE FROM DEMO;

Revoke succeeded.

Q) REMOVE UPDATE PERMISSION OF ACCESSING ENAME


ON EMPLOYEE TABLE FROM DEMO USER.

SQL> REVOKE UPDATE(ENAME) ON EMPLOYEE FROM DEMO;


REVOKE UPDATE(ENAME) ON EMPLOYEE FROM DEMO
*
ERROR at line 1:
ORA-01750: UPDATE/REFERENCES may only be REVOKEd from the whole
table, not by column

SQL> REVOKE UPDATE ON EMPLOYEE FROM DEMO;

Revoke succeeded.

Row Level Lock

SQL> SELECT * FROM EMPLOYEE WHERE ENO = 2 FOR UPDATE OF


ENAME;

EXAMPLE FOR COLUMN LEVEL LOCK

SQL> LOCK TABLE EMPLOYEE IN SHARE MODE;

Table(s) Locked.

SQL> LOCK TABLE EMPLOYEE IN SHARE UPDATE MODE;

Table(s) Locked.

SQL> LOCK TABLE EMPLOYEE IN EXCLUSIVE MODE;

Table(s) Locked.

SQL> LOCK TABLE EMPLOYEE IN EXCLUSIVE MODE NOWAIT;

Table(s) Locked.

SQL> LOCK TABLE EMPLOYEE IN EXCLUSIVE MODE NOWAIT;


LOCK TABLE EMPLOYEE IN EXCLUSIVE MODE NOWAIT
*
ERROR at line 1:
ORA-00054: resource busy and acquire with NOWAIT specified

NOTE

LOCKS CAN BE RELEASED BY ISSUING COMMIT OR ROLLBACK


TRANSACTION CONTROL LANGUAGE(TCL COMMANDS)

SQL> update employee set ename = 'sivakumar' where eno = 1;

1 row updated.

SQL> savepoint a;

Savepoint created.

SQL> update employee set ename = 'pmvchalam' where sal = 20000;

1 row updated.

SQL> savepoint b;

Savepoint created.

SQL> select * from employee;

ENO ENAME SAL DOB DNO


--------- -------------------- --------- --------- ---------
12 RAJA 30000 01-JAN-01 6
1 sivakumar 10000 11-APR-75 1
2 pmvchalam 20000 10-MAY-65 1
3 emanuel 30000 02-FEB-80 2
4 dinesh 4000 01-MAY-81 3
5 sudha 70000 10-JUN-82 3
6 muthuvel 50000 10-JUL-82 5
7 preetha 42000 13-JUL-80 4
8 karthika 7888 23-DEC-82 5
9 celestina 6000 21-JUL-82 5
10 shivkumar 50000 10-JUN-81 6
11 jegan 7000 12-MAR-80 6

12 rows selected.

SQL> rollback to savepoint a;

Rollback complete.

SQL> select * from employee;

ENO ENAME SAL DOB DNO


--------- -------------------- --------- --------- ---------
12 RAJA 30000 01-JAN-01 6
1 sivakumar 10000 11-APR-75 1
2 M.MANON 20000 10-MAY-65 1
3 emanuel 30000 02-FEB-80 2
4 dinesh 4000 01-MAY-81 3
5 sudha 70000 10-JUN-82 3
6 muthuvel 50000 10-JUL-82 5
7 preetha 42000 13-JUL-80 4
8 karthika 7888 23-DEC-82 5
9 celestina 6000 21-JUL-82 5
10 shivkumar 50000 10-JUN-81 6
11 jegan 7000 12-MAR-80 6

12 rows selected.
SQL> commit;

Commit complete.

SQL> select * from employee;

ENO ENAME SAL DOB DNO


--------- -------------------- --------- --------- ---------
12 RAJA 30000 01-JAN-01 6
1 sivakumar 10000 11-APR-75 1
2 M.MANON 20000 10-MAY-65 1
3 emanuel 30000 02-FEB-80 2
4 dinesh 4000 01-MAY-81 3
5 sudha 70000 10-JUN-82 3
6 muthuvel 50000 10-JUL-82 5
7 preetha 42000 13-JUL-80 4
8 karthika 7888 23-DEC-82 5
9 celestina 6000 21-JUL-82 5
10 shivkumar 50000 10-JUN-81 6
11 jegan 7000 12-MAR-80 6

12 rows selected.

SQL> rollback to savepoint b;


rollback to savepoint b
*
ERROR at line 1:
ORA-01086: savepoint 'B' never established

VIEWS, SEQUENCES AND SYNONYMS.

CREATING VIEWS AND DML OPERATIONS WITH VIEWS

SQL> create table student_info(sprno number(3) primary key,


2 name varchar2(20), mark1 number(3), mark2 number(3),
3 mark3 number(3));

Table created.

SQL> desc student_info


Name Null? Type
------------------------------- -------- ----
SPRNO NOT NULL NUMBER(3)
NAME VARCHAR2(20)
MARK1 NUMBER(3)
MARK2 NUMBER(3)
MARK3 NUMBER(3)

SQL> select * from student_info;

SPRNO NAME MARK1 MARK2 MARK3


--------- -------------------- --------- --------- ---------
1 varshini 89 45 76
2 narmatha 90 78 9
3 manisha 89 90 78
4 preetha 90 89 6
5 thirunavukarasu 89 67 98
6 rajasekar 87 78 67
7 gunasekar 89 67 56

SQL> create view stud_view as select name, mark1 from


student_info with read only;

View created.

SQL> select * from stud_view;

NAME MARK1
-------------------- ---------
varshini 89
narmatha 90
manisha 89
preetha 90
thirunavukarasu 89
rajasekar 87
gunasekar 89

7 rows selected.

SQL> select mark2 from stud_view;


select mark2 from stud_view
*
ERROR at line 1:
ORA-00904: invalid column name

SQL> insert into stud_view values('Badri', 89);


insert into stud_view values('Badri', 89)
*
ERROR at line 1:
ORA-01733: virtual column not allowed here

SQL> create view mark_view as select sprno, name from


student_info where mark1=89 with check option;

View created.

SQL> select * from mark_view;

SPRNO NAME
--------- --------------------
1 varshini
3 manisha
5 thirunavukarasu
7 gunasekar

7 rows selected.

SQL> create view myview as select sprno, name from student_info

View created.

SQL> select * from myview;

SPRNO NAME
--------- --------------------
1 varshini
2 narmatha
3 manisha
4 preetha
5 thirunavukarasu
6 rajasekar
7 gunasekar

7 rows selected.

SQL> insert into myview values(8, 'magaranth');

1 row created.

SQL> select * from student_info;

SPRNO NAME MARK1 MARK2 MARK3


--------- -------------------- --------- --------- ---------
1 varshini 89 45 76
2 narmatha 90 78 9
3 manisha 89 90 78
4 preetha 90 89 6
5 thirunavukarasu 89 67 98
6 rajasekar 87 78 67
7 gunasekar 89 67 56
8 magaranth

8 rows selected.

SQL> update myview set name = 'lakshmikandan' where sprno=8;

1 row updated.

SQL> select * from myview;

SPRNO NAME
--------- --------------------
1 varshini
2 narmatha
3 manisha
4 preetha
5 thirunavukarasu
6 rajasekar
7 gunasekar
8 lakshmikandan

8 rows selected.

SQL> select * from student_info;

SPRNO NAME MARK1 MARK2 MARK3


--------- -------------------- --------- --------- ---------
1 varshini 89 45 76
2 narmatha 90 78 9
3 manisha 89 90 78
4 preetha 90 89 6
5 thirunavukarasu 89 67 98
6 rajasekar 87 78 67
7 gunasekar 89 67 56
8 lakshmikandan

8 rows selected.
SQL> delete from myview where sprno=8;
1 row deleted.

SQL> create view ourview(rollno, physics) as select sprno,


mark1 from student_info;

View created.

SQL> select * from our view;

ROLLNO PHYSICS
--------- ---------
1 89
2 90
3 89
4 90
5 89
6 87
7 89
rows selected.

SQL> create table student_info1(sprno number(3) primary key, games


number(3));

Table created.

SQL> insert into student_info1 values(1, 89)

1 row created.

SQL> insert into student_info1 values(2, 90);

1 row created.

SQL>create view join_view as select name from student_info


* , student_info1 where student_info.sprno = student_info1.sprno

View created.

SQL> select name from join_view;

NAME
--------------------
varshini
narmatha

Creating Index

SQL> create table employ(eno number(3) constraint pkeno


2 primary key, ename varchar2(20), dno number(3),
3 sal number(12,2));
Table created.

SQL> desc employ;


Name Null? Type
------------------------------- -------- ----
ENO NOT NULL NUMBER(3)
ENAME VARCHAR2(20)
DNO NUMBER(3)
SAL NUMBER(12,2)

SQL> create index ind_dno on employ(dno);


Index created.

SQL> drop index ind_dno;


Index dropped.

Built in functions

SQL> SELECT * FROM DUAL;

D
-
X

SQL> DESC DUAL;


Name Null? Type
------------------------------- -------- ----
DUMMY VARCHAR2(1)

Date functions

SQL> SELECT ADD_MONTHS(SYSDATE, 2) FROM DUAL;

ADD_MONTH
---------
13-APR-01

SQL> SELECT SYSDATE FROM DUAL;

SYSDATE
---------
13-FEB-01

SQL> SELECT SYSDATE, LAST_DAY(SYSDATE) FROM DUAL;

SYSDATE LAST_DAY(
--------- ---------
13-FEB-01 28-FEB-01

SQL> SELECT MONTHS_BETWEEN(TO_DATE('04-MAY-2001', 'DD-MON-YYYY'),


2 TO_DATE('14-FEB-2001', 'DD-MON-YYYY')) FROM DUAL;

MONTHS_BETWEEN(TO_DATE('04-MAY-2001','DD-MON-YYYY'),TO_DATE('14-FEB-2001',
--------------------------------------------------------------------------
'DD-MON-YYYY'))
---------------
2.6774194

SQL> SELECT NEXT_DAY(SYSDATE, 'SUNDAY') FROM DUAL;

NEXT_DAY(
---------
18-FEB-01
SQL> SELECT ROUND(SYSDATE, 'YEAR') FROM DUAL;

ROUND(SYS
---------
01-JAN-01

SQL> SELECT ROUND(SYSDATE, 'MONTH') FROM DUAL;

ROUND(SYS
---------
01-FEB-01

SQL> SELECT ROUND(SYSDATE, 'DAY') FROM DUAL;

ROUND(SYS
---------
11-FEB-01

SQL> SELECT TRUNC(SYSDATE,'YEAR') FROM DUAL;

TRUNC(SYS
---------
01-JAN-01

SQL> SELECT TRUNC(SYSDATE, 'MONTH') FROM DUAL;

TRUNC(SYS
---------
01-FEB-01

SQL> SELECT TRUNC(SYSDATE, 'DAY') FROM DUAL;

TRUNC(SYS
---------
11-FEB-01

SQL> SELECT GREATEST(SYSDATE, TO_DATE('11-APR-2001', 'DD-MON-


YYYY')) FROM DUAL;

GREATEST(
---------
11-APR-01

SQL> SELECT SYSDATE+10 FROM DUAL;

SYSDATE+1
---------

Character functions

SQL> SELECT INITCAP('saravana devi') from dual;


INITCAP('SARAVANA
----------------
Saravana Devi

SQL> select lower('VELMURUGAN') from dual;


LOWER(
------
velmurugan

SQL> select upper('surya') from dual;

UPPER('SU
---------
SURYA

SQL> select ltrim('IloveIndia', 'India') from dual;

LTRIM('IL
---------
loveIndia

SQL> select rtrim('IloveIndia', 'India') from dual;

RTRIM
-----
Ilove

SQL> select translate('jack', 'j', 'b') from dual;

TRAN
----
back

SQL> select translate('jack', 'j', 'bl') from dual;

TRAN
----
back

SQL> select replace('jack and jue', 'j', 'bl') from dual;

REPLACE('JACKA
--------------
black and blue

SQL> select substr('sivasumaiyakumar', 5, 7) from dual;

SUBST
-----
sumaiya

SQL> select name from sample where soundex(name) = soundex('smith');

NAME
--------------------
smith
smythe

SQL> select name from sample where soundex(name) = soundex('imayon');

NAME
--------------------
Imayon
Miscellaneous Functions

SQL> select uid from dual;

UID
---------
20

SQL> select user from dual;

USER
------------------------------
SCOTT

SQL> select vsize('ganeshmanikandan') from dual;

VSIZE('GANESHMANIKANDAN')
-------------------------
16

SQL> select count(*) from employee;

COUNT(*)
---------
5
SQL> select * from employee;

ENO ENAME DNO SAL


--------- ------------------------------ --------- ---------
111 sivakumar 1 8000
555 santhanapandian 3 10000
333 jeevan isnovar 4 50000
444 nandakumar 5 25000
222 manojkumar 6 30000

SQL> insert into employee1 values(111, 'sivakumar',1,8000);

1 row created.

SQL> select * from employee1;

ENO ENAME DNO SAL


--------- ------------------------------ --------- ---------
666 Seetha 4 10000
777 Janani 7 8000
888 akila 9 50000
999 priyanka 7 9000
112 karthiga 4 8999
111 sumaiya 1 8000
555 sivakumar 3 10000
111 priya 1 8000

8 rows selected.
Group functions
SQL> select count(distinct eno) from employee1;

COUNT(DISTINCTENO)
------------------
7

SQL> select avg(sal) from employee1;

AVG(SAL)
---------
13999.875

SQL> select sum(sal) from employee1;

SUM(SAL)
---------
111999

SQL> select min(sal) from employee1;

MIN(SAL)
---------
8000

SQL> select max(sal) from employee1;

MAX(SAL)
---------
50000
Mathematical functions

SQL> select abs(-89) from dual;

ABS(-89)
---------
89

SQL> select ceil(6.2) from dual;

CEIL(6.2)
---------
7

SQL> select floor(100.7) from dual;

FLOOR(100.7)
------------
100

SQL> select power(2,3) from dual;

POWER(2,3)
----------
8

SQL> select sqrt(64) from dual;


SQRT(64)
---------
8
SQL> select mod(3,2) from dual;

MOD(3,2)
---------
1
SQL> select exp(1) from dual;

EXP(1)
---------
2.7182818

SQL> select sin(90) from dual;

SIN(90)
---------

SQL> select round(7.235, 2) from dual;

ROUND(7.235,2)
--------------
7.24

SQL> select trunc(7.235, 2) from dual;

TRUNC(7.235,2)
--------------
7.23

Database Programming: Implicit and Explicit Cursors.

PL/SQL
01. Write a PL/SQL code to find the biggest of three numbers.
declare
n1 number;
n2 number;
n3 number;
begin
n1 := &n1;
n2 := &num2;
n3 := &num3;
if ( n1 > n2 and n1 > n3) then
dbms_output.put_line( n1 || ' is biggest');
elsif (n2 > n3 ) then
dbms_output.put_line( n2 || ' is biggest');
else
dbms_output.put_line( n3 || ' is biggest');
end if;
end;
Output:
SQL> set serverout on;
SQL> @ E:/pl1.sql
Enter value for n1: 8
old 6: n1 := &n1;
new 6: n1 := 8;
Enter value for num2: 10
old 7: n2 := &num2;
new 7: n2 := 10;
Enter value for num3: 100
old 8: n3 := &num3;
new 8: n3 := 100;
100 is biggest

PL/SQL procedure successfully completed.

02. Write a PL/SQL code to find whether the given number is odd or even.
declare
n number;
begin
n:=&n;
if(mod(n,2)=0)then
dbms_output.put_line(n||'is even');
else
dbms_output.put_line(n||'is odd');
end if;
end;
Output:
SQL> @ E:/pl2.sql
Enter value for n: 5
old 4: n:=&n;
new 4: n:=5;
5 is odd
PL/SQL procedure successfully completed.

SQL> /

Enter value for n: 6


old 4: n:=&n;
new 4: n:=6;
6 is even
PL/SQL procedure successfully completed.

03. PLSQL Program to calculate Dearness Allowance for employees working in


an organization.

Employee table creation :

create table employ(eno number(3) primary key, ename varchar2(30), bpay


number(12,2))

Adding records to the employee table :

insert into employ values(&eno, '&ename', &bpay);

SQL> declare
2 erec employ%rowtype;
3 da employ.bpay%type;
4 cursor c is select * from employ;
5 begin
6 for erec in c
7 loop
8 if(erec.bpay > 20000) then
9 da := 0.05*erec.bpay;
10 elsif (erec.bpay > 10000) then
11 da := 0.10*erec.bpay;
12 else
13 da := 0.15*erec.bpay;
14 end if;
15 dbms_output.put_line(rpad(erec.eno, 5) ||rpad( erec.ename, 30)||
rpad(erec.bpay, 15)||da);
16 end loop;
17 end;
18 /
1 dineshraj 13000 1300
2 aravind 15000 1500
3 shenbagapandian 18000 1800
4 prasanna 17000 1700
5 Balachander 11000 1100
6 Mohankumar 12000 1200
7 Sreekanth 14000 1400
8 Lisiver 16000 1600
9 Yuvaraj 10000 1000
10 Keshav 19000 1900
PL/SQL procedure successfully completed.

04. PL/SQL program to calculate total and average of marks for the
students.

Creating Student table :

create table studen(rollno number(3) primary key, name varchar2(30), dbms


number(3), os number(3))

Adding records to the student table

insert into studen values(&rollno, '&name', &dbms, &os);

SQL> declare
2 srec studen%rowtype;
3 total studen.dbms%type;
4 average number(12,2);
5 cursor c is select * from studen;
6 begin
7 for srec in c
8 loop
9 total := srec.dbms + srec.os;
10 average := (srec.dbms + srec.os)/2;
11 dbms_output.put_line(rpad(srec.rollno, 7)||rpad(srec.name, 30)||
rpad(srec.dbms, 5)|| rpad(srec.os, 5)||rpad(total, 7)||rpad(average, 10));
12 end loop;
13 end;
14 /
1 ganga 98 89 187 93.5
2 saranya 76 89 165 82.5
3 divya 89 67 156 78
4 vignesh 89 67 156 78
5 micky praveen 89 78 167 83.5
6 rajamohamed 76 89 165 82.5
7 sandru 98 89 187 93.5
PL/SQL procedure successfully completed.

Trigger
01. Create a trigger for employee table (denoted by empl) which
makes the entry in name column in uppercase.
SQL>create or replace trigger uppcase before insert on empl
referencing new as n for each row
begin
:n.ename:=upper(:n.ename);
end;
To compile: @ tr1.sql

Output:
Trigger Created.

SQL> insert into empl values (&empno, &ename, &job, &mgr,


&hiredate, &sal, &deptno);
1 row created.

SQL> /
EMPNO ENAME JOB MGR HIREDATE SAL DEPTNO
------- ------- ------ ----- --------- ----- ----------
1 MUHILAN gffgh 7898 11-jul-06 6789 11

02. Create a trigger for inserting, updating records into


employee table (denoted by empl) and salary should not be greater
than 1000.

SQL>create or replace trigger salary before insert or update on


empl referencing new as n for each
begin
if(:n.sal>1000) then
raise_application_error(-20001,'Salary should not be greater than 1000');
end if;
end;

To compile: @ tr2.sql
Output:
Trigger created.

SQL> insert into empl values(&empno,&ename,&job,&mgr,


&hiredate,&sal,&deptno);
insert into empl values(9,'anu','analyst',1234,
*
ERROR at line 1:
ORA-20001: Salary must be greater than 1000
ORA-06512: at "VANNAMOLI.SALARY", line 3
ORA-04088: error during execution of trigger 'VANNAMOLI.SALARY'

03. Create a trigger on employee table (denoted by empl) that


avoids deletion on Thursdays.

SQL> create or replace trigger thurs before delete on empl


declare date1 char(3);
begin
date1:=to_char(sysdate,'dy');
if date1 in ('THU','thu') then
raise_application_error(-20002,'Records cannot be deleted on thursdays');
end if;
end;

To compile: @ tr3.sql
Output:
Trigger created.

SQL> delete from emp;


delete from emp
*
ERROR at line 1:
ORA-20002:Records cannot be deleted on Thursdays.
ORA-04088:error during execution of triggeres LGROUP10.THU

Procedure

01. Create a table employee which has the following columns: eno,
ename, sal and write a procedure to display the employee details
of given employee number.

Procedure: (p11.sql)

create or replace procedure p3( num number) is


erec emp%rowtype;
begin
select eno,ename into erec.eno,erec.ename from emp where eno = num;
dbms_output.put_line('Employee number: '||erec.eno);
dbms_output.put_line('Employee name: '||erec.ename);
exception when no_data_found then
dbms_output.put_line('No record found');
end;
Main program: (p12.sql)
declare
empno emp.eno%type;
begin
empno := &empno;
p3(empno);
end;
Output:
SQL> set serverout on;
SQL> @ E:/p11.sql;
SQL> @ E:/p12.sql;
Enter value for empno: 22
old 7: empno:=&empno;
new 7: empno:=22;
Employee number: 22
Employee name: aaa
PL/SQL procedure successfully completed.
SQL> exec p2(20);
No record found
PL/SQL procedure successfully completed.

02. Create a procedure for a swapping program.


create or replace procedure swap(a in out number, b in out number) is
c number;
begin
c:=a;
a:=b;
b:=c;
end;
Calling procedure
declare
a number;
b number;
begin
a:=&a;
b:=&b;
dbms_output.put_line('Before swapping a = '||a||' b = '||b);
swap(a,b);
dbms_output.put_line('After swapping a = '||a||' b = '||b);
end;
Output:
Enter value for a: 3
old 5: a:=&a;
new 5: a:=3;
Enter value for b: 5
old 6: b:=&b;
new 6: b:=5;
Before swapping a = 3 b = 5
After swapping a = 5 b = 3
PL/SQL procedure successfully completed.

User Defined Function


01. Create a function for a factorial program
create or replace function factf( n number)
return number is
f number;
p number;
begin
f:=1;
for p in 1..n
loop
f:=f*p;
end loop;
return (f);
end;

Calling function
declare
n1 number;
n2 number;
r number;
begin
dbms_output.put_line('enter number');
n2:=&n1;
r:=factf(n2);
dbms_output.put_line(r);
end;

Output:
Enter value for n1: 4
old 7: n2:=&n1;
new 7: n2:=4;
enter number
24
PL/SQL procedure successfully completed.

Embedded SQL
import java.sql.*;
class Samp1
{
public static void main(String argv[])
{
try
{
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con =
DriverManager.getConnection("jdbc:odbc:cc","scott","tiger");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM emp");
while (rs.next())
{
System.out.println (" Employee Number=" + rs.getInt(1));
System.out.println (" Employee Name=" + rs.getString(2));
System.out.println (" Salary=" + rs.getInt(3));
System.out.print(" \n");
}
stmt.close();
con.close();
}
catch (java.lang.Exception ex)
{
System.out.println("Error :" +ex);
}
}
}

Output:-

Z:\>javac Samp1.java

Z:\>java Samp1

Employee Number=5655
Employee Name=kayalvizhi
Salary=25000

Employee Number=1234
Employee Name=keerthana
Salary=20000
Employee Number=1234
Employee Name=suganya
Salary=20000

You might also like