Você está na página 1de 985

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> DESC Students
Name
Null?
----------------------------------------- -------STUDNO
FNAME
LNAME
DOB
DOJ
FEES
GENDER
INSERTBY

Type
---------------------------NUMBER(6)
VARCHAR2(30)
VARCHAR2(30)
DATE
DATE
NUMBER(7,2)
VARCHAR2(1)
VARCHAR2(10)

SQL> INSERT INTO Students


2 VALUES(
3
1234,
4
'SAMPATH',
5
'KUMAR',
6
'29-JAN-80',
7
'30-MAR-95',
8
25000,
9
'M',
10
'SATISH'
11
);
1 row created.
SQL> ED
Wrote file afiedt.buf
1 INSERT INTO Students
2 VALUES(
3
1235,
4
'SRINIVAS',
5
'SHARMA',
6
'29-MAR-80',
7
'15-APR-95',
8
25000,
9
'M',
10
'SATISH'
11*
)
SQL> /
1 row created.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7

INSERT INTO Students


VALUES(
'1236',
'RAMANA',
'KUMAR',
'29-MAR-80',
'15-APR-95',
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

8
9
10
11*
SQL> /

25000,
'M',
'SATISH'
)

1 row created.
SQL> ED
Wrote file afiedt.buf
1 INSERT INTO Students
2 VALUES(
3
'1237A',
4
'RAMANA',
5
'KUMAR',
6
'29-MAR-80',
7
'15-APR-95',
8
25000,
9
'M',
10
'SATISH'
11*
)
SQL> /
'1237A',
*
ERROR at line 3:
ORA-01722: invalid number

SQL> ED
Wrote file afiedt.buf
1 INSERT INTO Students
2 VALUES(
3
1237,
4
'RAMANA',
5
KUMAR,
6
'29-MAR-80',
7
'15-APR-95',
8
25000,
9
'M',
10
'SATISH'
11*
)
SQL> /
KUMAR,
*
ERROR at line 5:
ORA-00984: column not allowed here

SQL> ED
Wrote file afiedt.buf
1
2
3

INSERT INTO Students


VALUES(
1237,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4
'RAMANA',
5
'KUMAR',
6
'29-MAR-80',
7
'15-APR-95',
8
25000,
9
'M',
10
'SATISH'
11*
)
SQL> ED
Wrote file afiedt.buf
1 INSERT INTO Students
2 VALUES(
3
1237,
4
'RAMANA',
5
'KUMAR',
6
'29-MAR-80',
7
'15-APR-95',
8
25000,
9
'M',
10
'SATISH'
11*
)
SQL> /
1 row created.
SQL> ED
Wrote file afiedt.buf
1 INSERT INTO Students
2 VALUES(
3
1238,
4
'RAJA',
5
'KUMAR',
6
'29-MARCH-80',
7
'15-APRIL-95',
8
25000,
9
'M',
10
'SATISH'
11*
)
SQL> /
1 row created.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9

INSERT INTO Students


VALUES(
1239,
'RAMA',
'KUMAR',
'29-MARCH-1980',
'15-APRIL-2010',
25000,
'M',
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

10
11*
SQL> /

'SATISH'
)

1 row created.
SQL> ED
Wrote file afiedt.buf
1 INSERT INTO Students
2 VALUES(
3
1240,
4
'RAVI',
5
'KUMAR',
6
'29MARCH1980',
7
'15APRIL2010',
8
25000,
9
'M',
10
'SATISH'
11*
)
SQL> /
1 row created.
SQL> ED
Wrote file afiedt.buf
1 INSERT INTO Students
2 VALUES(
3
1240,
4
'RAVI',
5
'KUMAR',
6
'29-03-1980',
7
'15-04-2010',
8
25000,
9
'M',
10
'SATISH'
11*
)
SQL> /
'29-03-1980',
*
ERROR at line 6:
ORA-01843: not a valid month

SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6

INSERT INTO Students


VALUES(
1240,
'RAVI'
'KUMAR',
29-MAR-1980',
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7
'15-APR-2010',
8
25000,
9
'MALE',
10
'SATISH',
11*
)
SQL> /
ERROR:
ORA-01756: quoted string not properly terminated

SQL> ED
Wrote file afiedt.buf
1 INSERT INTO Students
2 VALUES(
3
1240,
4
'RAVI'
5
'KUMAR',
6
'29-MAR-1980',
7
'15-APR-2010',
8
25000,
9
'MALE',
10
'SATISH',
11*
)
SQL> /
'KUMAR',
*
ERROR at line 5:
ORA-00917: missing comma

SQL> ED
Wrote file afiedt.buf
1 INSERT INTO Students
2 VALUES(
3
1240,
4
'RAVI'
5
'KUMAR',
6
29-MAR-1980',
7
'15-APR-2010',
8
25000,
9
'MALE',
10
'SATISH',
11*
)
SQL> /
ERROR:
ORA-01756: quoted string not properly terminated

SQL> ED
Wrote file afiedt.buf
1
2
3

INSERT INTO Students


VALUES(
1240,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4
5
6
7
8
9
10
11*
SQL> /

'RAVI'
'KUMAR',
'29-MAR-1980',
'15-APR-2010',
25000,
'MALE',
'SATISH',
)

'KUMAR',
*
ERROR at line 5:
ORA-00917: missing comma

SQL> ED
Wrote file afiedt.buf
1 INSERT INTO Students
2 VALUES(
3
1240,
4
'RAVI',
5
'KUMAR',
6
'29-MAR-1980',
7
'15-APR-2010',
8
25000,
9
'MALE',
10
'SATISH',
11*
)
SQL> /
)
*
ERROR at line 11:
ORA-00936: missing expression

SQL> ED
Wrote file afiedt.buf
1 INSERT INTO Students
2 VALUES(
3
1240,
4
'RAVI'
5
'KUMAR',
6
'29-MAR-1980',
7
'15-APR-2010',
8
25000,
9
'MALE',
10
'SATISH',
11*
)
SQL> /
'KUMAR',
*
ERROR at line 5:
ORA-00917: missing comma
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1 INSERT INTO Students
2 VALUES(
3
1240
4
,'RAVI'
5
'KUMAR'
6
,'29-MAR-1980'
7
,'15-APR-2010'
8
,25000
9
,'MALE'
10
,'SATISH'
11*
)
SQL> /
'KUMAR'
*
ERROR at line 5:
ORA-00917: missing comma

SQL> ED
Wrote file afiedt.buf
1 INSERT INTO Students
2 VALUES(
3
1240
4
,'RAVI'
5
,'KUMAR'
6
,'29-MAR-1980'
7
,'15-APR-2010'
8
,25000
9
,'MALE'
10
,'SATISH'
11*
)
SQL> /
,'MALE'
*
ERROR at line 9:
ORA-12899: value too large for column "SCOTT"."STUDENTS"."GENDER" (actual: 4,
maximum: 1)

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9

INSERT INTO Students


VALUES(
1240
,'RAVI'
,'KUMAR'
,'29-MAR-1980'
,'15-APR-2010'
,25000
,'M'
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

10
11*
SQL> /

,'SATISH'
)

1 row created.
SQL>
2
3
4
5

INSERT INTO
Students
(StudNo, Fname, Lname, DOJ, Gender)
VALUES
(1235, 'Raj', 'Kumar', '20-Feb-85', 'M');

1 row created.
SQL> ED
Wrote file afiedt.buf
1 INSERT INTO
2 Students
3 (StudNo, Fname, Lname, DOJ, Gender)
4 VALUES
5* (1235, 'Raj', 'Kumar', 'M')
SQL> /
VALUES
*
ERROR at line 4:
ORA-00947: not enough values

SQL> ED
Wrote file afiedt.buf
1 INSERT INTO
2 Students
3 (StudNo, Fname, Lname, DOJ, Gender)
4 VALUES
5* (1235, 'Raj', 'Kumar', '10-AUG-09', 'M', 'SATISH')
SQL> /
Students
*
ERROR at line 2:
ORA-00913: too many values

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

INSERT INTO
Students(StudNo, Fname, Lname, DOB, DOJ, Fees, Gender)
VALUES(1234, 'Krishna', NULL, NULL, '28-FEB-04', NULL, 'M')
/

1 row created.
SQL> SELECT * FROM Students;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

STUDNO FNAME
LNAME
---------- ------------------------------ -----------------------------DOB
DOJ
FEES G INSERTBY
--------- --------- ---------- - ---------1234 SAMPATH
KUMAR
29-JAN-80 30-MAR-95
25000 M SATISH
1235 SRINIVAS
29-MAR-80 15-APR-95

25000 M SATISH

SHARMA

1236 RAMANA
29-MAR-80 15-APR-95

25000 M SATISH

KUMAR

STUDNO FNAME
LNAME
---------- ------------------------------ -----------------------------DOB
DOJ
FEES G INSERTBY
--------- --------- ---------- - ---------1237 RAMANA
KUMAR
29-MAR-80 15-APR-95
25000 M SATISH
1238 RAJA
29-MAR-80 15-APR-95

25000 M SATISH

KUMAR

1239 RAMA
29-MAR-80 15-APR-10

25000 M SATISH

KUMAR

STUDNO FNAME
LNAME
---------- ------------------------------ -----------------------------DOB
DOJ
FEES G INSERTBY
--------- --------- ---------- - ---------1240 RAVI
KUMAR
29-MAR-80 15-APR-10
25000 M SATISH
1240 RAVI
29-MAR-80 15-APR-10
1235 Raj
20-FEB-85

KUMAR
25000 M SATISH
Kumar
M

STUDNO FNAME
LNAME
---------- ------------------------------ -----------------------------DOB
DOJ
FEES G INSERTBY
--------- --------- ---------- - ---------1234 Krishna
28-FEB-04
M

10 rows selected.
SQL> SPOOL OFF
SQL> cl scr
SQL> DESC Students
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Name
Null?
----------------------------------------- -------STUDNO
FNAME
LNAME
DOB
DOJ
FEES
GENDER
INSERTBY

Type
---------------------------NUMBER(6)
VARCHAR2(30)
VARCHAR2(30)
DATE
DATE
NUMBER(7,2)
VARCHAR2(1)
VARCHAR2(10)

SQL> SELECT * FROm Students;


STUDNO
-----1234
1235
1234

FNAME
-----------SAMPATH
Raj
Krishna

LNAME
DOB
------------ --------KUMAR
29-JAN-80
Kumar

DOJ
FEES G INSERTBY
--------- ------ - ---------30-MAR-95 25000 M SATISH
20-FEB-85
M
28-FEB-04
M

SQL> INSERT INTO


2 Students(StudNo, Fname, DOJ, Fees, Gender,
InsertBy)
3 VALUES(1234, 'Mohan', SYSDATE, 25000, 'M', USER);
1 row created.
SQL> SELECT * FROm Students;
STUDNO
-----1234
1235
1234
1234

FNAME
-----------SAMPATH
Raj
Krishna
Mohan

LNAME
DOB
------------ --------KUMAR
29-JAN-80
Kumar

DOJ
FEES G INSERTBY
--------- ------ - ---------30-MAR-95 25000 M SATISH
20-FEB-85
M
28-FEB-04
M
29-JUL-10 25000 M SCOTT

SQL> INSERT INTO


2 Students(StudNo, Fname, DOJ, Fees, Gender,
InsertBy)
3 VALUES(1234, 'Mohan', SYSDATE, 25000, 'M', USER);
1 row created.
SQL> /
1 row created.
SQL> INSERT INTO Students
2 (StudNo, Fname, LName, Dob, Fees)
3 VALUES(
4
&StudNo,
5
'&Name',
6
&LastName,
7
'&DOB',
8
25000
9
) ;
Enter value for studno: 1235
old
4:
&StudNo,
new
4:
1235,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Enter
old
new
Enter
old
new
Enter
old
new

value for name: RAVI


5:
'&Name',
5:
'RAVI',
value for lastname: 'KUMAR'
6:
&LastName,
6:
'KUMAR',
value for dob: 16-APR-80
7:
'&DOB',
7:
'16-APR-80',

1 row created.
SQL> /
Enter value
old
4:
new
4:
Enter value
old
5:
new
5:
Enter value
old
6:
new
6:
Enter value
old
7:
new
7:

for studno: 1236


&StudNo,
1236,
for name: RAMANA
'&Name',
'RAMANA',
for lastname: NULL
&LastName,
NULL,
for dob: 21-MAR-86
'&DOB',
'21-MAR-86',

1 row created.
SQL> SELECT * FROm Students;
STUDNO
-----1234
1235
1234
1234
1234
1234
1235
1236

FNAME
-----------SAMPATH
Raj
Krishna
Mohan
Mohan
Mohan
RAVI
RAMANA

LNAME
DOB
------------ --------KUMAR
29-JAN-80
Kumar

KUMAR

DOJ
FEES G INSERTBY
--------- ------ - ---------30-MAR-95 25000 M SATISH
20-FEB-85
M
28-FEB-04
M
29-JUL-10 25000 M SCOTT
29-JUL-10 25000 M SCOTT
29-JUL-10 25000 M SCOTT
16-APR-80
25000
21-MAR-86
25000

8 rows selected.
SQL> SET VERIFY OFF
SQL> INSERT INTO Students
2 (StudNo, Fname, LName, Dob, Fees)
3 VALUES(
4
&StudNo,
5
'&Name',
6
&LastName,
7
'&DOB',
8
25000
9
) ;
Enter value for studno: 1237
Enter value for name: SAMPATH
Enter value for lastname: NULL
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Enter value for dob: 12-MAY-88


1 row created.
SQL> cl scr
SQL> INSERT INTO
2 Students(StudNo, Fname, Lname, Dob, Doj, Fees, Gender)
3 Values(
4
&StudNo,
5
'&FirstName',
6
'&LastName',
7
'&DOB',
8
SYSDATE,
9
&&Fees,
10
'&Gender'
11
);
Enter value for studno: 1240
Enter value for firstname: SRINIVAS
Enter value for lastname: SHARMA
Enter value for dob: 21-MAY-88
Enter value for fees: 20000
Enter value for gender: M
1 row created.
SQL> /
Enter value
Enter value
Enter value
Enter value
Enter value

for
for
for
for
for

studno: 1241
firstname: SRAVAN
lastname: NULL
dob: 23-NOV-88
gender: M

1 row created.
SQL> /
Enter value
Enter value
Enter value
Enter value
Enter value

for
for
for
for
for

studno: 1242
firstname: RAVI
lastname: KUMAR
dob: 24-DEC-86
gender: M

1 row created.
SQL> UNDEFINE Fees
SQL> /
Enter value for studno: 1243
Enter value for firstname: RAMANA
Enter value for lastname: KUMAR
Enter value for dob: 22-SEP-88
Enter value for fees: 15000
Enter value for gender: M
1 row created.
SQL> /
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Enter
Enter
Enter
Enter
Enter

value
value
value
value
value

for
for
for
for
for

studno: 1244
firstname: SRAVAN
lastname: NULL
dob: 30-MAR-88
gender: M

1 row created.
SQL> DEFINE
SQL> /
Enter value
Enter value
Enter value
Enter value
Enter value

Fees = 10000
for
for
for
for
for

studno: 1245
firstname: SRINIVAS
lastname: SHARMA
dob: 20-DEC-85
gender: M

1 row created.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11*
SQL>

INSERT INTO
Students(StudNo, Fname, Lname, Dob, Doj, Fees, Gender)
Values(
&StudNo,
'&FirstName',
'&LastName',
'&DOB',
SYSDATE,
&&Fees,
'&Gender'
)
SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> DESC Dept
Name
Null?
----------------------------------------- -------DEPTNO
NOT NULL
DNAME
LOC

Type
---------------------------NUMBER(2)
VARCHAR2(14)
VARCHAR2(13)

SQL> SELECT * FROM Dept;


DEPTNO
---------10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SQL> DESC SalGrade


Name
Null?
----------------------------------------- -------GRADE
LOSAL
HISAL

Type
---------------------------NUMBER
NUMBER
NUMBER

SQL> SELECT * FROM SalGrade;


GRADE
LOSAL
HISAL
---------- ---------- ---------1
700
1200
2
1201
1400
3
1401
2000
4
2001
3000
5
3001
9999
SQL> DESC Emp
Name
----------------------------------------EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO

Null?
Type
-------- ---------------------------NOT NULL NUMBER(4)
VARCHAR2(10)
VARCHAR2(9)
NUMBER(4)
DATE
NUMBER(7,2)
NUMBER(7,2)
NOT NULL NUMBER(2)

SQL> SELECT * FROM Emp;


EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7839 KING
PRESIDENT
17-NOV-81
5000
10
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7698 BLAKE
30

MANAGER

7839 01-MAY-81

2850

7782 CLARK
10

MANAGER

7839 09-JUN-81

2450

EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7566 JONES
MANAGER
7839 02-APR-81
2975
20
7654 MARTIN
30

SALESMAN

7698 28-SEP-81

1250

1400

7499 ALLEN
30

SALESMAN

7698 20-FEB-81

1600

300

EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7844 TURNER
SALESMAN
7698 08-SEP-81
1500
0
30
7900 JAMES
30

CLERK

7698 03-DEC-81

950

7521 WARD
30

SALESMAN

7698 22-FEB-81

1250

500

EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7902 FORD
ANALYST
7566 03-DEC-81
3000
20
7369 SMITH
20

CLERK

7902 17-DEC-80

800

7788 SCOTT
20

ANALYST

7566 09-DEC-82

3000

EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7876 ADAMS
CLERK
7788 12-JAN-83
1100
20
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7934 MILLER
10

CLERK

7782 23-JAN-82

1300

14 rows selected.
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>

COLUMN
COLUMN
COLUMN
COLUMN
COLUMN
COLUMN
SELECT

Empno FORMAT 9999


Deptno FORMAT 99
MGR FORMAT 9999
Sal FORMAT 9999
Comm FORMAT 9999
Ename FORMAT A7
* FROM Emp;

EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20

EMPNO
----7788
7876
7934

ENAME
------SCOTT
ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

14 rows selected.
SQL> cl scr
SQL> SELECT * FROM Emp;
EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20

EMPNO ENAME
JOB
MGR HIREDATE
SAL COMM DEPTNO
----- ------- --------- ----- --------- ----- ----- -----Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7788 SCOTT
7876 ADAMS
7934 MILLER

ANALYST
CLERK
CLERK

7566 09-DEC-82
7788 12-JAN-83
7782 23-JAN-82

3000
1100
1300

20
20
10

14 rows selected.
SQL> SELECT Deptno, Dname, Loc
2 FROM Dept;
DEPTNO
-----10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SQL> SELECT Dname, Loc


2 FROM Dept;
DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SQL> SELECT Loc, Dename


2 FROm Dept;
SELECT Loc, Dename
*
ERROR at line 1:
ORA-00904: "DENAME": invalid identifier

SQL> ED
Wrote file afiedt.buf
1 SELECT Loc, Dname
2* FROM Dept
SQL> /
LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

SQL> SELECT Deptno, Loc


2 FROM Dept;
DEPTNO
-----10
20
30

LOC
------------NEW YORK
DALLAS
CHICAGO
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

40 BOSTON
SQL> cl scr
SQL> SELECT Empno, Ename, Job
2 FROM Emp;
EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
--------PRESIDENT
MANAGER
MANAGER
MANAGER
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
ANALYST
CLERK

EMPNO
----7788
7876
7934

ENAME
------SCOTT
ADAMS
MILLER

JOB
--------ANALYST
CLERK
CLERK

14 rows selected.
SQL> SELECT Ename, Sal, HireDate, Job
2 FROM Emp;
ENAME
SAL HIREDATE JOB
------- ----- --------- --------KING
5000 17-NOV-81 PRESIDENT
BLAKE
2850 01-MAY-81 MANAGER
CLARK
2450 09-JUN-81 MANAGER
JONES
2975 02-APR-81 MANAGER
MARTIN
1250 28-SEP-81 SALESMAN
ALLEN
1600 20-FEB-81 SALESMAN
TURNER
1500 08-SEP-81 SALESMAN
JAMES
950 03-DEC-81 CLERK
WARD
1250 22-FEB-81 SALESMAN
FORD
3000 03-DEC-81 ANALYST
SMITH
800 17-DEC-80 CLERK
ENAME
SAL HIREDATE JOB
------- ----- --------- --------SCOTT
3000 09-DEC-82 ANALYST
ADAMS
1100 12-JAN-83 CLERK
MILLER
1300 23-JAN-82 CLERK
14 rows selected.
SQL> SELECT Ename
2 FROm Emp;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
ENAME
------SCOTT
ADAMS
MILLER
14 rows selected.
SQL> SELECT Empno, Ename, MGR
2 FROM Emp;
EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
MGR
------- ----KING
BLAKE
7839
CLARK
7839
JONES
7839
MARTIN
7698
ALLEN
7698
TURNER
7698
JAMES
7698
WARD
7698
FORD
7566
SMITH
7902

EMPNO
----7788
7876
7934

ENAME
MGR
------- ----SCOTT
7566
ADAMS
7788
MILLER
7782

14 rows selected.
SQL> SELECT Empno, Ename, MGR, Job
2 FROM Emp;
EMPNO
----7839
7698
7782

ENAME
MGR JOB
------- ----- --------KING
PRESIDENT
BLAKE
7839 MANAGER
CLARK
7839 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7566
7654
7499
7844
7900
7521
7902
7369
EMPNO
----7788
7876
7934

JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

7839
7698
7698
7698
7698
7698
7566
7902

MANAGER
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
ANALYST
CLERK

ENAME
MGR JOB
------- ----- --------SCOTT
7566 ANALYST
ADAMS
7788 CLERK
MILLER
7782 CLERK

14 rows selected.
SQL> cl scr
SQL> SELECT Empno, Ename, Sal, Comm
2 FROM Emp;
EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
SAL COMM
------- ----- ----KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250 1400
ALLEN
1600
300
TURNER
1500
0
JAMES
950
WARD
1250
500
FORD
3000
SMITH
800

EMPNO
----7788
7876
7934

ENAME
SAL COMM
------- ----- ----SCOTT
3000
ADAMS
1100
MILLER
1300

14 rows selected.
SQL> SELECT Empno, Ename, Job, Sal, Comm
2 FROM Emp;
EMPNO
----7839
7698
7782
7566
7654
7499
7844

ENAME
JOB
SAL COMM
------- --------- ----- ----KING
PRESIDENT 5000
BLAKE
MANAGER
2850
CLARK
MANAGER
2450
JONES
MANAGER
2975
MARTIN SALESMAN
1250 1400
ALLEN
SALESMAN
1600
300
TURNER SALESMAN
1500
0
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7900
7521
7902
7369
EMPNO
----7788
7876
7934

JAMES
WARD
FORD
SMITH

CLERK
SALESMAN
ANALYST
CLERK

950
1250
3000
800

ENAME
------SCOTT
ADAMS
MILLER

JOB
SAL COMM
--------- ----- ----ANALYST
3000
CLERK
1100
CLERK
1300

500

14 rows selected.
SQL> cl scr
SQL> SELECT
2
Empno,
3
Ename,
4
Sal,
5
HireDate,
6
Job
7 FROM Emp;
EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
SAL HIREDATE JOB
------- ----- --------- --------KING
5000 17-NOV-81 PRESIDENT
BLAKE
2850 01-MAY-81 MANAGER
CLARK
2450 09-JUN-81 MANAGER
JONES
2975 02-APR-81 MANAGER
MARTIN
1250 28-SEP-81 SALESMAN
ALLEN
1600 20-FEB-81 SALESMAN
TURNER
1500 08-SEP-81 SALESMAN
JAMES
950 03-DEC-81 CLERK
WARD
1250 22-FEB-81 SALESMAN
FORD
3000 03-DEC-81 ANALYST
SMITH
800 17-DEC-80 CLERK

EMPNO
----7788
7876
7934

ENAME
SAL HIREDATE JOB
------- ----- --------- --------SCOTT
3000 09-DEC-82 ANALYST
ADAMS
1100 12-JAN-83 CLERK
MILLER
1300 23-JAN-82 CLERK

14 rows selected.
SQL> cl scr
SQL> SELECT Ename, Sal, Sal * 12
2 FROM Emp
3
SQL> cl scr
SQL> SELECT Ename, Deptno, Sal, Sal * 12
2 FROM Emp;
ENAME

DEPTNO
SAL
SAL*12
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

------- ------ ----- ---------KING


10 5000
60000
BLAKE
30 2850
34200
CLARK
10 2450
29400
JONES
20 2975
35700
MARTIN
30 1250
15000
ALLEN
30 1600
19200
TURNER
30 1500
18000
JAMES
30
950
11400
WARD
30 1250
15000
FORD
20 3000
36000
SMITH
20
800
9600
ENAME
DEPTNO
SAL
SAL*12
------- ------ ----- ---------SCOTT
20 3000
36000
ADAMS
20 1100
13200
MILLER
10 1300
15600
14 rows selected.
SQL> SELECT Ename, Sal, Sal + 1000
2 FROm Emp;
ENAME
SAL
SAL+1000
------- ----- ---------KING
5000
6000
BLAKE
2850
3850
CLARK
2450
3450
JONES
2975
3975
MARTIN
1250
2250
ALLEN
1600
2600
TURNER
1500
2500
JAMES
950
1950
WARD
1250
2250
FORD
3000
4000
SMITH
800
1800
ENAME
SAL
SAL+1000
------- ----- ---------SCOTT
3000
4000
ADAMS
1100
2100
MILLER
1300
2300
14 rows selected.
SQL> cl scr
SQL> SELECT Ename, Sal, (Sal + 1000) * 12
2 FROM Emp;
ENAME
SAL (SAL+1000)*12
------- ----- ------------KING
5000
72000
BLAKE
2850
46200
CLARK
2450
41400
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

2975
1250
1600
1500
950
1250
3000
800

47700
27000
31200
30000
23400
27000
48000
21600

ENAME
SAL (SAL+1000)*12
------- ----- ------------SCOTT
3000
48000
ADAMS
1100
25200
MILLER
1300
27600
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, (Sal + 1000) * 12
2* FROM Emp
SQL> /
ENAME
(SAL+1000)*12
------- ------------KING
72000
BLAKE
46200
CLARK
41400
JONES
47700
MARTIN
27000
ALLEN
31200
TURNER
30000
JAMES
23400
WARD
27000
FORD
48000
SMITH
21600
ENAME
(SAL+1000)*12
------- ------------SCOTT
48000
ADAMS
25200
MILLER
27600
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*

SELECT
Ename,
Sal,
Sal * 12,
(Sal + 1000) * 12,
((Sal + 1000) * 12) - (Sal * 12)
FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
ENAME
SAL
SAL*12 (SAL+1000)*12 ((SAL+1000)*12)-(SAL*12)
------- ----- ---------- ------------- -----------------------KING
5000
60000
72000
12000
BLAKE
2850
34200
46200
12000
CLARK
2450
29400
41400
12000
JONES
2975
35700
47700
12000
MARTIN
1250
15000
27000
12000
ALLEN
1600
19200
31200
12000
TURNER
1500
18000
30000
12000
JAMES
950
11400
23400
12000
WARD
1250
15000
27000
12000
FORD
3000
36000
48000
12000
SMITH
800
9600
21600
12000
ENAME
SAL
SAL*12 (SAL+1000)*12 ((SAL+1000)*12)-(SAL*12)
------- ----- ---------- ------------- -----------------------SCOTT
3000
36000
48000
12000
ADAMS
1100
13200
25200
12000
MILLER
1300
15600
27600
12000
14 rows selected.
SQL> cl scr
SQL> SELECT Ename, Sal, Sal + 1000, Sal - 1000, Sal * 12, Sal * 6, Sal * 12 +
1000
2 FROM Emp;
ENAME
SAL
SAL+1000
SAL-1000
SAL*12
SAL*6 SAL*12+1000
------- ----- ---------- ---------- ---------- ---------- ----------KING
5000
6000
4000
60000
30000
61000
BLAKE
2850
3850
1850
34200
17100
35200
CLARK
2450
3450
1450
29400
14700
30400
JONES
2975
3975
1975
35700
17850
36700
MARTIN
1250
2250
250
15000
7500
16000
ALLEN
1600
2600
600
19200
9600
20200
TURNER
1500
2500
500
18000
9000
19000
JAMES
950
1950
-50
11400
5700
12400
WARD
1250
2250
250
15000
7500
16000
FORD
3000
4000
2000
36000
18000
37000
SMITH
800
1800
-200
9600
4800
10600
ENAME
SAL
SAL+1000
SAL-1000
SAL*12
SAL*6 SAL*12+1000
------- ----- ---------- ---------- ---------- ---------- ----------SCOTT
3000
4000
2000
36000
18000
37000
ADAMS
1100
2100
100
13200
6600
14200
MILLER
1300
2300
300
15600
7800
16600
14 rows selected.
SQL> cl scr
SQL> SELECT Ename, Sal, Comm
2 FROM Emp;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
SAL COMM
------- ----- ----KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250 1400
ALLEN
1600
300
TURNER
1500
0
JAMES
950
WARD
1250
500
FORD
3000
SMITH
800
ENAME
SAL COMM
------- ----- ----SCOTT
3000
ADAMS
1100
MILLER
1300
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Sal, Comm, Sal + Comm
2* FROM Emp
SQL> /
ENAME
SAL COMM
SAL+COMM
------- ----- ----- ---------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250 1400
2650
ALLEN
1600
300
1900
TURNER
1500
0
1500
JAMES
950
WARD
1250
500
1750
FORD
3000
SMITH
800
ENAME
SAL COMM
SAL+COMM
------- ----- ----- ---------SCOTT
3000
ADAMS
1100
MILLER
1300
14 rows selected.
SQL> cl scr
SQL> SELECT Ename, Sal, Comm, Sal + NVL(Comm, 0)
2 FROM Emp;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
SAL COMM SAL+NVL(COMM,0)
------- ----- ----- --------------KING
5000
5000
BLAKE
2850
2850
CLARK
2450
2450
JONES
2975
2975
MARTIN
1250 1400
2650
ALLEN
1600
300
1900
TURNER
1500
0
1500
JAMES
950
950
WARD
1250
500
1750
FORD
3000
3000
SMITH
800
800
ENAME
SAL COMM SAL+NVL(COMM,0)
------- ----- ----- --------------SCOTT
3000
3000
ADAMS
1100
1100
MILLER
1300
1300
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Sal, NVL(Comm, 500), Sal + NVL(Comm, 500)
2* FROM Emp
SQL> /
ENAME
SAL NVL(COMM,500) SAL+NVL(COMM,500)
------- ----- ------------- ----------------KING
5000
500
5500
BLAKE
2850
500
3350
CLARK
2450
500
2950
JONES
2975
500
3475
MARTIN
1250
1400
2650
ALLEN
1600
300
1900
TURNER
1500
0
1500
JAMES
950
500
1450
WARD
1250
500
1750
FORD
3000
500
3500
SMITH
800
500
1300
ENAME
SAL NVL(COMM,500) SAL+NVL(COMM,500)
------- ----- ------------- ----------------SCOTT
3000
500
3500
ADAMS
1100
500
1600
MILLER
1300
500
1800
14 rows selected.
SQL> cl scr
SQL> SELECT 125 + 25 * 35
2 FROM DUAL;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

125+25*35
---------1000
SQL> SELECT 125, 25, 125 + 25
2 FROM DUAL;
125
25
125+25
---------- ---------- ---------125
25
150
SQL> DESC DUAL
Name
Null?
Type
----------------------------------------- -------- ---------------------------DUMMY
VARCHAR2(1)
SQL> cl scr
SQL> SELECT
2 ((&GVal1 +
3 FROM DUAL;
Enter value for
Enter value for
Enter value for
Enter value for

&GVal2) * &GVal3) / &GVal4


gval1:
gval2:
gval3:
gval4:

12
25
30
5

gval1:
gval2:
gval3:
gval4:

12
NULL
30
7

((12+25)*30)/5
-------------222
SQL> /
Enter value
Enter value
Enter value
Enter value

for
for
for
for

((12+NULL)*30)/7
----------------

SQL> cl scr
SQL>
2
3
4
5

SELECT
Ename Name,
Sal Salary,
Comm Commission
FROM Emp;

NAME
SALARY COMMISSION
---------- ---------- ---------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
1400
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ALLEN
TURNER
JAMES
WARD
FORD
SMITH

1600
1500
950
1250
3000
800

300
0
500

NAME
SALARY COMMISSION
---------- ---------- ---------SCOTT
3000
ADAMS
1100
MILLER
1300
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT
Ename Name,
Sal Salary,
Comm Commission,
Sal + NVL(Comm, 0)
FROM Emp
/

NAME
SALARY COMMISSION SAL+NVL(COMM,0)
---------- ---------- ---------- --------------KING
5000
5000
BLAKE
2850
2850
CLARK
2450
2450
JONES
2975
2975
MARTIN
1250
1400
2650
ALLEN
1600
300
1900
TURNER
1500
0
1500
JAMES
950
950
WARD
1250
500
1750
FORD
3000
3000
SMITH
800
800
NAME
SALARY COMMISSION SAL+NVL(COMM,0)
---------- ---------- ---------- --------------SCOTT
3000
3000
ADAMS
1100
1100
MILLER
1300
1300
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5

SELECT
Ename Name,
Sal Salary,
Comm Commission,
Sal + NVL(Comm, 0) Gross
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

6* FROM Emp
SQL> /
NAME
SALARY COMMISSION
GROSS
---------- ---------- ---------- ---------KING
5000
5000
BLAKE
2850
2850
CLARK
2450
2450
JONES
2975
2975
MARTIN
1250
1400
2650
ALLEN
1600
300
1900
TURNER
1500
0
1500
JAMES
950
950
WARD
1250
500
1750
FORD
3000
3000
SMITH
800
800
NAME
SALARY COMMISSION
GROSS
---------- ---------- ---------- ---------SCOTT
3000
3000
ADAMS
1100
1100
MILLER
1300
1300
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 Ename Name,
3 Sal Salary,
4 Comm Commission,
5 Sal + NVL(Comm, 0) Gross Salary
6* FROM Emp
SQL> /
Sal + NVL(Comm, 0) Gross Salary
*
ERROR at line 5:
ORA-00923: FROM keyword not found where expected

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT
Ename Name,
Sal Salary,
Comm Commission,
Sal + NVL(Comm, 0) "Gross Salary"
FROM Emp
/

NAME
SALARY COMMISSION Gross Salary
---------- ---------- ---------- -----------KING
5000
5000
BLAKE
2850
2850
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

2450
2975
1250
1600
1500
950
1250
3000
800

1400
300
0
500

2450
2975
2650
1900
1500
950
1750
3000
800

NAME
SALARY COMMISSION Gross Salary
---------- ---------- ---------- -----------SCOTT
3000
3000
ADAMS
1100
1100
MILLER
1300
1300
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT
Ename AS Name,
Sal AS Salary,
Comm AS Commission,
Sal + NVL(Comm, 0) AS "Gross Salary"
FROM Emp
/

NAME
SALARY COMMISSION Gross Salary
---------- ---------- ---------- -----------KING
5000
5000
BLAKE
2850
2850
CLARK
2450
2450
JONES
2975
2975
MARTIN
1250
1400
2650
ALLEN
1600
300
1900
TURNER
1500
0
1500
JAMES
950
950
WARD
1250
500
1750
FORD
3000
3000
SMITH
800
800
NAME
SALARY COMMISSION Gross Salary
---------- ---------- ---------- -----------SCOTT
3000
3000
ADAMS
1100
1100
MILLER
1300
1300
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2

SELECT
Empno Number,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3 Ename Name,
4 Sal Salary,
5 Comm Commission,
6 Sal + NVL(Comm, 0) "Gross Salary"
7* FROM Emp
SQL> /
Empno Number,
*
ERROR at line 2:
ORA-00923: FROM keyword not found where expected

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT
Empno "Number",
Ename Name,
Sal Salary,
Comm Commission,
Sal + NVL(Comm, 0) "Gross Salary"
FROM Emp
/

Number
---------7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

NAME
SALARY COMMISSION Gross Salary
---------- ---------- ---------- -----------KING
5000
5000
BLAKE
2850
2850
CLARK
2450
2450
JONES
2975
2975
MARTIN
1250
1400
2650
ALLEN
1600
300
1900
TURNER
1500
0
1500
JAMES
950
950
WARD
1250
500
1750
FORD
3000
3000
SMITH
800
800

Number
---------7788
7876
7934

NAME
SALARY COMMISSION Gross Salary
---------- ---------- ---------- -----------SCOTT
3000
3000
ADAMS
1100
1100
MILLER
1300
1300

14 rows selected.
SQL> cl scr
SQL> SELECT Ename Name, Sal Salary, Comm Job, HireDate JoinDate
2 FROM Emp;
NAME
SALARY
JOB JOINDATE
---------- ---------- ---------- --------KING
5000
17-NOV-81
BLAKE
2850
01-MAY-81
CLARK
2450
09-JUN-81
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

2975
1250
1600
1500
950
1250
3000
800

02-APR-81
1400 28-SEP-81
300 20-FEB-81
0 08-SEP-81
03-DEC-81
500 22-FEB-81
03-DEC-81
17-DEC-80

NAME
SALARY
JOB JOINDATE
---------- ---------- ---------- --------SCOTT
3000
09-DEC-82
ADAMS
1100
12-JAN-83
MILLER
1300
23-JAN-82
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename Name, Sal Salary, Comm Job HireDate
2* FROM Emp
SQL> /
SELECT Ename Name, Sal Salary, Comm Job HireDate
*
ERROR at line 1:
ORA-00923: FROM keyword not found where expected

SQL> cl scr
SQL> SELECT Ename, Sal Salary, Comm, Salary + NVL(Comm, 0) TotSal
2 FROM Emp;
SELECT Ename, Sal Salary, Comm, Salary + NVL(Comm, 0) TotSal
*
ERROR at line 1:
ORA-00904: "SALARY": invalid identifier

SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Sal Salary, Comm, Sal + NVL(Comm, 0) TotSal
2* FROM Emp
SQL> /
ENAME
SALARY COMM
TOTSAL
------- ---------- ----- ---------KING
5000
5000
BLAKE
2850
2850
CLARK
2450
2450
JONES
2975
2975
MARTIN
1250 1400
2650
ALLEN
1600
300
1900
TURNER
1500
0
1500
JAMES
950
950
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

WARD
FORD
SMITH

1250
3000
800

500

1750
3000
800

ENAME
SALARY COMM
TOTSAL
------- ---------- ----- ---------SCOTT
3000
3000
ADAMS
1100
1100
MILLER
1300
1300
14 rows selected.
SQL> SPOOL OFF
SQL> cl scr
SQL> SELECT
2 Ename, ' You Are Working For Department ', Deptno
3 FROM Emp;
ENAME
'YOUAREWORKINGFORDEPARTMENT'
DEPTNO
---------- -------------------------------- ---------KING
You Are Working For Department
10
BLAKE
You Are Working For Department
30
CLARK
You Are Working For Department
10
JONES
You Are Working For Department
20
MARTIN
You Are Working For Department
30
ALLEN
You Are Working For Department
30
TURNER
You Are Working For Department
30
JAMES
You Are Working For Department
30
WARD
You Are Working For Department
30
FORD
You Are Working For Department
20
SMITH
You Are Working For Department
20
ENAME
'YOUAREWORKINGFORDEPARTMENT'
DEPTNO
---------- -------------------------------- ---------SCOTT
You Are Working For Department
20
ADAMS
You Are Working For Department
20
MILLER
You Are Working For Department
10
14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=28
0)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=280)

SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1
2
3*
SQL>

SELECT
Ename, '''s Designation is ', Job, ' With Salary of ', Sal
FROM Emp
/

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

'''SDESIGNATIONIS'
-----------------'s Designation is
's Designation is
's Designation is
's Designation is
's Designation is
's Designation is
's Designation is
's Designation is
's Designation is
's Designation is
's Designation is

JOB
'WITHSALARYOF'
SAL
--------- ---------------- ---------PRESIDENT With Salary of
5000
MANAGER
With Salary of
2850
MANAGER
With Salary of
2450
MANAGER
With Salary of
2975
SALESMAN
With Salary of
1250
SALESMAN
With Salary of
1600
SALESMAN
With Salary of
1500
CLERK
With Salary of
950
SALESMAN
With Salary of
1250
ANALYST
With Salary of
3000
CLERK
With Salary of
800

ENAME
---------SCOTT
ADAMS
MILLER

'''SDESIGNATIONIS'
-----------------'s Designation is
's Designation is
's Designation is

JOB
'WITHSALARYOF'
SAL
--------- ---------------- ---------ANALYST
With Salary of
3000
CLERK
With Salary of
1100
CLERK
With Salary of
1300

14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=36
4)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=364)

SQL> cl scr
SQL> SET AUTOTRACE OFF EXPLAIN
SQL> cl scr
SQL> SELECT Empno||Ename||Job||Sal||Comm||MGR||HireDate||Deptno Employee
2 FROM Emp;
EMPLOYEE
-------------------------------------------------------------------------------7839KINGPRESIDENT500017-NOV-8110
7698BLAKEMANAGER2850783901-MAY-8130
7782CLARKMANAGER2450783909-JUN-8110
7566JONESMANAGER2975783902-APR-8120
7654MARTINSALESMAN12501400769828-SEP-8130
7499ALLENSALESMAN1600300769820-FEB-8130
7844TURNERSALESMAN15000769808-SEP-8130
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7900JAMESCLERK950769803-DEC-8130
7521WARDSALESMAN1250500769822-FEB-8130
7902FORDANALYST3000756603-DEC-8120
7369SMITHCLERK800790217-DEC-8020
EMPLOYEE
-------------------------------------------------------------------------------7788SCOTTANALYST3000756609-DEC-8220
7876ADAMSCLERK1100778812-JAN-8320
7934MILLERCLERK1300778223-JAN-8210
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 Empno||' is '||Ename||' With Designation of '||Job||' Earning A Salary of
'||Sal||' With Commission of '||NVL(Comm, 0)||' Joined on '||HireDate||' in the
Department '||Deptno Employee
3* FROM Emp
SQL> cl scr
SQL> /
EMPLOYEE
-------------------------------------------------------------------------------7839 is KING With Designation of PRESIDENT Earning A Salary of 5000 With Commiss
ion of 0 Joined on 17-NOV-81 in the Department 10
7698 is BLAKE With Designation of MANAGER Earning A Salary of 2850 With Commissi
on of 0 Joined on 01-MAY-81 in the Department 30
7782 is CLARK With Designation of MANAGER Earning A Salary of 2450 With Commissi
on of 0 Joined on 09-JUN-81 in the Department 10
7566 is JONES With Designation of MANAGER Earning A Salary of 2975 With Commissi
on of 0 Joined on 02-APR-81 in the Department 20
EMPLOYEE
-------------------------------------------------------------------------------7654 is MARTIN With Designation of SALESMAN Earning A Salary of 1250 With Commis
sion of 1400 Joined on 28-SEP-81 in the Department 30
7499 is ALLEN With Designation of SALESMAN Earning A Salary of 1600 With Commiss
ion of 300 Joined on 20-FEB-81 in the Department 30
7844 is TURNER With Designation of SALESMAN Earning A Salary of 1500 With Commis
sion of 0 Joined on 08-SEP-81 in the Department 30
7900 is JAMES With Designation of CLERK Earning A Salary of 950 With Commission
EMPLOYEE
-------------------------------------------------------------------------------of 0 Joined on 03-DEC-81 in the Department 30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7521 is WARD With Designation of SALESMAN Earning A Salary of 1250 With Commissi
on of 500 Joined on 22-FEB-81 in the Department 30
7902 is FORD With Designation of ANALYST Earning A Salary of 3000 With Commissio
n of 0 Joined on 03-DEC-81 in the Department 20
7369 is SMITH With Designation of CLERK Earning A Salary of 800 With Commission
of 0 Joined on 17-DEC-80 in the Department 20

EMPLOYEE
-------------------------------------------------------------------------------7788 is SCOTT With Designation of ANALYST Earning A Salary of 3000 With Commissi
on of 0 Joined on 09-DEC-82 in the Department 20
7876 is ADAMS With Designation of CLERK Earning A Salary of 1100 With Commission
of 0 Joined on 12-JAN-83 in the Department 20
7934 is MILLER With Designation of CLERK Earning A Salary of 1300 With Commissio
n of 0 Joined on 23-JAN-82 in the Department 10

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
* 12
3*
SQL>

SELECT
Ename||'''s Salary is Fixed As '||Sal||' Monthly Costing Annually At '||Sal
"Employees And Salaries"
FROM Emp
/

Employees And Salaries


-------------------------------------------------------------------------------KING's Salary is Fixed As 5000 Monthly Costing Annually At 60000
BLAKE's Salary is Fixed As 2850 Monthly Costing Annually At 34200
CLARK's Salary is Fixed As 2450 Monthly Costing Annually At 29400
JONES's Salary is Fixed As 2975 Monthly Costing Annually At 35700
MARTIN's Salary is Fixed As 1250 Monthly Costing Annually At 15000
ALLEN's Salary is Fixed As 1600 Monthly Costing Annually At 19200
TURNER's Salary is Fixed As 1500 Monthly Costing Annually At 18000
JAMES's Salary is Fixed As 950 Monthly Costing Annually At 11400
WARD's Salary is Fixed As 1250 Monthly Costing Annually At 15000
FORD's Salary is Fixed As 3000 Monthly Costing Annually At 36000
SMITH's Salary is Fixed As 800 Monthly Costing Annually At 9600
Employees And Salaries
-------------------------------------------------------------------------------SCOTT's Salary is Fixed As 3000 Monthly Costing Annually At 36000
ADAMS's Salary is Fixed As 1100 Monthly Costing Annually At 13200
MILLER's Salary is Fixed As 1300 Monthly Costing Annually At 15600
14 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'The Sum of '||&GNum1||' And '||&GNum2||' is '||&GNum1 + &GNum2 Result
3* FROM DUAL
SQL> /
Enter value for gnum1: 25
Enter value for gnum2: 45
Enter value for gnum1:
Enter value for gnum2:
'The Sum of '||25||' And '||45||' is '|| + Result
*
ERROR at line 2:
ORA-00904: "RESULT": invalid identifier

SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'The Sum of '||&GNum1||' And '||&GNum2||' is '||&GNum3 + &GNum4 Result
3* FROM DUAL
SQL> /
Enter value for gnum1: 25
Enter value for gnum2: 45
Enter value for gnum3: 25
Enter value for gnum4: 45
'The Sum of '||25||' And '||45||' is '||25 + 45 Result
*
ERROR at line 2:
ORA-01722: invalid number

SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'The Sum of '||&GNum1||' And '||&GNum2||' is '||(&GNum3 + &GNum4) Result
3* FROM DUAL
SQL> /
Enter value for gnum1: 25
Enter value for gnum2: 45
Enter value for gnum3: 25
Enter value for gnum4: 45
RESULT
-------------------------The Sum of 25 And 45 is 70
SQL> cl scr
SQL> SELECT Ename FROM Emp;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
ENAME
---------SCOTT
ADAMS
MILLER
14 rows selected.
SQL> SELECT Deptno FROM Emp;
DEPTNO
---------10
30
10
20
30
30
30
30
30
20
20
DEPTNO
---------20
20
10
14 rows selected.
SQL> SELECT Ename, Deptno FROM Emp;
ENAME
DEPTNO
---------- ---------KING
10
BLAKE
30
CLARK
10
JONES
20
MARTIN
30
ALLEN
30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

TURNER
JAMES
WARD
FORD
SMITH

30
30
30
20
20

ENAME
DEPTNO
---------- ---------SCOTT
20
ADAMS
20
MILLER
10
14 rows selected.
SQL> SELECT Job FROM Emp;
JOB
--------PRESIDENT
MANAGER
MANAGER
MANAGER
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
ANALYST
CLERK
JOB
--------ANALYST
CLERK
CLERK
14 rows selected.
SQL> SELECT Ename, Job FROM Emp;
ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
--------PRESIDENT
MANAGER
MANAGER
MANAGER
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
ANALYST
CLERK

ENAME
JOB
---------- --------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SCOTT
ADAMS
MILLER

ANALYST
CLERK
CLERK

14 rows selected.
SQL> cl scr
SQL> SELECT DISTINCT Deptno FROM Emp;
DEPTNO
---------10
20
30
SQL> SELECT DISTINCT Job FROM Emp;
JOB
--------ANALYST
CLERK
MANAGER
PRESIDENT
SALESMAN
SQL> SELECT MGR FROM Emp;
MGR
---------7839
7839
7839
7698
7698
7698
7698
7698
7566
7902
MGR
---------7566
7788
7782
14 rows selected.
SQL> SELECT DISTINCT MGR FROM Emp;
MGR
---------7566
7698
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7782
7788
7839
7902

7 rows selected.
SQL> SELECT Comm FROM Emp;
COMM
----------

1400
300
0
500

COMM
----------

14 rows selected.
SQL> SELECT DITINCT Comm FROM Emp;
SELECT DITINCT Comm FROM Emp
*
ERROR at line 1:
ORA-00904: "DITINCT": invalid identifier

SQL> SELECT DISTINCT Comm FROM Emp;


COMM
---------0
300
500
1400

SQL> cl scr
SQL> SELECT Empno FROM Emp;
EMPNO
---------7369
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7499
7521
7566
7654
7698
7782
7788
7839
7844
7876
EMPNO
---------7900
7902
7934
14 rows selected.
SQL> SELECT DISTINCT Empno FROM Emp;
EMPNO
---------7369
7499
7521
7566
7654
7698
7782
7788
7839
7844
7876
EMPNO
---------7900
7902
7934
14 rows selected.
SQL> cl scr
SQL> SELECT Deptno, Job FROM Emp;
DEPTNO
---------10
30
10
20
30
30
30

JOB
--------PRESIDENT
MANAGER
MANAGER
MANAGER
SALESMAN
SALESMAN
SALESMAN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

30
30
20
20
DEPTNO
---------20
20
10

CLERK
SALESMAN
ANALYST
CLERK
JOB
--------ANALYST
CLERK
CLERK

14 rows selected.
SQL> SELECT DISTINCT Deptno, Job FROM Emp;
DEPTNO
---------10
10
10
20
20
20
30
30
30

JOB
--------CLERK
MANAGER
PRESIDENT
ANALYST
CLERK
MANAGER
CLERK
MANAGER
SALESMAN

9 rows selected.
SQL> SELECT DISTINCT Deptno, DISTINCT Job FROM Emp;
SELECT DISTINCT Deptno, DISTINCT Job FROM Emp
*
ERROR at line 1:
ORA-00936: missing expression

SQL> SELECT Deptno, DISTINCT Job FROM Emp;


SELECT Deptno, DISTINCT Job FROM Emp
*
ERROR at line 1:
ORA-00936: missing expression

SQL> cl scr
SQL> SELECT Ename, Sal, Deptno, Job
2 FROM Emp;
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER
MARTIN
1250
30 SALESMAN
ALLEN
1600
30 SALESMAN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

TURNER
JAMES
WARD
FORD
SMITH

1500
950
1250
3000
800

30
30
30
20
20

SALESMAN
CLERK
SALESMAN
ANALYST
CLERK

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------SCOTT
3000
20 ANALYST
ADAMS
1100
20 CLERK
MILLER
1300
10 CLERK
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE Job = 'MANAGER'
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER
SQL> SPOOL OFF
SQL> cl scr
SQL> SELECT Ename, Sal
2 FROM Emp;
ENAME
SAL
---------- ---------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
ALLEN
1600
TURNER
1500
JAMES
950
WARD
1250
FORD
3000
SMITH
800
ENAME
SAL
---------- ---------SCOTT
3000
ADAMS
1100
MILLER
1300
14 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal


FROM Emp
WHERE Sal >= 3000
/

ENAME
SAL
---------- ---------KING
5000
FORD
3000
SCOTT
3000
SQL> SELECT Ename, Deptno, Job, HireDate
2 FROM Emp
3 WHERE HireDate = '03-DEC-81';
ENAME
DEPTNO JOB
---------- ---------- --------JAMES
30 CLERK
FORD
20 ANALYST

HIREDATE
--------03-DEC-81
03-DEC-81

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Deptno, Job, HireDate


FROM Emp
WHERE HireDate = '03-DECEMBER-81'
/

ENAME
DEPTNO JOB
---------- ---------- --------JAMES
30 CLERK
FORD
20 ANALYST

HIREDATE
--------03-DEC-81
03-DEC-81

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Deptno, Job, HireDate


FROM Emp
WHERE HireDate = '03-DECEMBER-1981'
/

ENAME
DEPTNO JOB
---------- ---------- --------JAMES
30 CLERK
FORD
20 ANALYST

HIREDATE
--------03-DEC-81
03-DEC-81

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Deptno, Job, HireDate


FROM Emp
WHERE HireDate = '03-DECEMBER-2081'
/
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename||' is Working in Department '||Deptno||' Joined On '||HireDate
Employee
2 FROM Emp
3* WHERE HireDate = '03-DECEMBER-1981'
SQL> /
EMPLOYEE
-------------------------------------------------------------------------------JAMES is Working in Department 30 Joined On 03-DEC-81
FORD is Working in Department 20 Joined On 03-DEC-81
SQL> cl scr
SQL> SELECT DISTINCT Job
2 FROM Emp;
JOB
--------ANALYST
CLERK
MANAGER
PRESIDENT
SALESMAN
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT DISTINCT Job


FROM Emp
WHERE Job <> 'CLERK'
/

JOB
--------ANALYST
MANAGER
PRESIDENT
SALESMAN
SQL> cl scr
SQL> SELECT Ename, Sal, Deptno, Job
2 FROM Emp
3 /
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

2975
1250
1600
1500
950
1250
3000
800

20
30
30
30
30
30
20
20

MANAGER
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
ANALYST
CLERK

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------SCOTT
3000
20 ANALYST
ADAMS
1100
20 CLERK
MILLER
1300
10 CLERK
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE Job <> 'CLERK'
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER
MARTIN
1250
30 SALESMAN
ALLEN
1600
30 SALESMAN
TURNER
1500
30 SALESMAN
WARD
1250
30 SALESMAN
FORD
3000
20 ANALYST
SCOTT
3000
20 ANALYST
10 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE Job = 'CLERK'
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------JAMES
950
30 CLERK
SMITH
800
20 CLERK
ADAMS
1100
20 CLERK
MILLER
1300
10 CLERK
SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf


1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE Deptno <> 20
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
MARTIN
1250
30 SALESMAN
ALLEN
1600
30 SALESMAN
TURNER
1500
30 SALESMAN
JAMES
950
30 CLERK
WARD
1250
30 SALESMAN
MILLER
1300
10 CLERK
9 rows selected.
SQL> cl scr
SQL> SELECT Ename, Deptno, Sal, Sal * 12 AnnSal
2 FROM Emp
3 WHERE Sal * 12 > 35000;
ENAME
DEPTNO
SAL
ANNSAL
---------- ---------- ---------- ---------KING
10
5000
60000
JONES
20
2975
35700
FORD
20
3000
36000
SCOTT
20
3000
36000
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Deptno, Sal


FROM Emp
WHERE Sal * 12 > 35000
/

ENAME
DEPTNO
SAL
---------- ---------- ---------KING
10
5000
JONES
20
2975
FORD
20
3000
SCOTT
20
3000
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Deptno, Sal, Comm, Sal + NVL(Comm, 0) TotSal


FROM Emp
WHERE Sal + NVL(Comm, 0) > 2800
/
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
DEPTNO
SAL
COMM
TOTSAL
---------- ---------- ---------- ---------- ---------KING
10
5000
5000
BLAKE
30
2850
2850
JONES
20
2975
2975
FORD
20
3000
3000
SCOTT
20
3000
3000
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Deptno, Sal, Comm, Sal + NVL(Comm, 0) TotSal
2 FROM Emp
3* WHERE TotSal > 2800
SQL> /
WHERE TotSal > 2800
*
ERROR at line 3:
ORA-00904: "TOTSAL": invalid identifier

SQL> cl scr
SQL> SELECT 'Apple is Fruit' Fruit
2 FROM Emp
3 WHERE Empno = 7566;
FRUIT
-------------Apple is Fruit
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT 'Apple is Fruit' Fruit


FROM Emp
WHERE Empno = 1234
/

no rows selected
SQL> cl scr
SQL> SELECT 125 Value1, 25 Value2, 125 + 25 Result
2 FROM DUAL
3 WHERE 'APPLE' = 'APPLE';
VALUE1
VALUE2
RESULT
---------- ---------- ---------125
25
150
SQL> ED
Wrote file afiedt.buf
1

SELECT 125 Value1, 25 Value2, 125 + 25 Result


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2 FROM DUAL
3* WHERE 'APPLE' = 'APPLe'
SQL> /
no rows selected
SQL> cl scr
SQL>
2
3
4
5
6
7
8

SELECT
Ename,
Sal,
Deptno,
Job
FROM Emp
WHERE
Deptno = 20 AND Job = 'MANAGER';

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------JONES
2975
20 MANAGER
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

SELECT
Ename,
Sal,
Deptno,
Job
FROM Emp
WHERE
Deptno = 20
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------JONES
2975
20 MANAGER
FORD
3000
20 ANALYST
SMITH
800
20 CLERK
SCOTT
3000
20 ANALYST
ADAMS
1100
20 CLERK
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>
ENAME

SELECT
Ename,
Sal,
Deptno,
Job
FROM Emp
WHERE
Job = 'MANAGER'
/
SAL
DEPTNO JOB
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

---------- ---------- ---------- --------BLAKE


2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

SELECT
Ename,
Sal,
Deptno,
Job
FROM Emp
WHERE
Deptno = 20 AND Job = 'MANAGER'
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------JONES
2975
20 MANAGER
SQL> cl scr
SQL> SELECT
2
Empno,
3
Ename,
4
Job,
5
Sal
6 FROM Emp
7 WHERE Sal >= 1100;
EMPNO
---------7839
7698
7782
7566
7654
7499
7844
7521
7902
7788
7876

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
WARD
FORD
SCOTT
ADAMS

JOB
SAL
--------- ---------PRESIDENT
5000
MANAGER
2850
MANAGER
2450
MANAGER
2975
SALESMAN
1250
SALESMAN
1600
SALESMAN
1500
SALESMAN
1250
ANALYST
3000
ANALYST
3000
CLERK
1100

EMPNO ENAME
JOB
SAL
---------- ---------- --------- ---------7934 MILLER
CLERK
1300
12 rows selected.
SQL> SELECT
2
Empno,
3
Ename,
4
Job,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

5
6
7

Sal
FROM Emp
WHERE Job = 'CLERK';

EMPNO
---------7900
7369
7876
7934

ENAME
---------JAMES
SMITH
ADAMS
MILLER

JOB
SAL
--------- ---------CLERK
950
CLERK
800
CLERK
1100
CLERK
1300

SQL> SELECT
2
Empno,
3
Ename,
4
Job,
5
Sal
6 FROM Emp
7 WHERE Sal >= 1100 AND Job = 'CLERK';
EMPNO
---------7876
7934

ENAME
---------ADAMS
MILLER

JOB
SAL
--------- ---------CLERK
1100
CLERK
1300

SQL> cl scr
SQL>
2
3
4
5
6
7

SELECT
Ename,
Sal ,
Job
FROM Emp
WHERE
Sal >= 1500 AND Sal >= 2850;

ENAME
SAL JOB
---------- ---------- --------KING
5000 PRESIDENT
BLAKE
2850 MANAGER
JONES
2975 MANAGER
FORD
3000 ANALYST
SCOTT
3000 ANALYST
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT
Ename,
Sal ,
Job
FROM Emp
WHERE
Sal >= 2850
/

ENAME
SAL JOB
---------- ---------- --------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

KING
BLAKE
JONES
FORD
SCOTT

5000
2850
2975
3000
3000

PRESIDENT
MANAGER
MANAGER
ANALYST
ANALYST

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT
Ename,
Sal ,
Job
FROM Emp
WHERE
Sal = 1250 AND Sal = 3000
/

no rows selected
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT
Ename,
Sal ,
Job
FROM Emp
WHERE
Sal = 1250 AND Sal <> 3000
/

ENAME
SAL JOB
---------- ---------- --------MARTIN
1250 SALESMAN
WARD
1250 SALESMAN
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT
Ename,
Sal ,
Job
FROM Emp
WHERE
Job = 'MANAGER' AND Job = 'ANALYST'
/

no rows selected
SQL> SELECT
2
Ename,
3
Sal,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4
5
6
7
8

Job
FROM Emp
WHERE
(Sal >= 1500 AND Sal <= 2850) AND
Job = 'MANAGER';

ENAME
SAL JOB
---------- ---------- --------BLAKE
2850 MANAGER
CLARK
2450 MANAGER
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

SELECT
Ename,
Sal,
Job
FROM Emp
WHERE
Sal >= 1500 AND Sal <= 2850 AND
Job = 'MANAGER'
/

ENAME
SAL JOB
---------- ---------- --------BLAKE
2850 MANAGER
CLARK
2450 MANAGER
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT
Ename,
Sal,
Job
FROM Emp
WHERE
Sal >= 1500 AND (Sal <= 2850 AND Job = 'MANAGER')
/

ENAME
SAL JOB
---------- ---------- --------BLAKE
2850 MANAGER
CLARK
2450 MANAGER
SQL> cl scr
SQL> SELECT Ename, Deptno, Job
2 FROM Emp
3 WHERE Deptno = 20 OR Job = 'MANAGER';
ENAME
DEPTNO JOB
---------- ---------- --------BLAKE
30 MANAGER
CLARK
10 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

JONES
FORD
SMITH
SCOTT
ADAMS

20
20
20
20
20

MANAGER
ANALYST
CLERK
ANALYST
CLERK

7 rows selected.
SQL> cl scr
SQL> SELECT Ename, Sal, Deptno, Job
2 FROM Emp
3 WHERE Deptno = 10 OR Deptno = 30;
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
MARTIN
1250
30 SALESMAN
ALLEN
1600
30 SALESMAN
TURNER
1500
30 SALESMAN
JAMES
950
30 CLERK
WARD
1250
30 SALESMAN
MILLER
1300
10 CLERK
9 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE Sal = 1250 OR Sal = 3000
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------MARTIN
1250
30 SALESMAN
WARD
1250
30 SALESMAN
FORD
3000
20 ANALYST
SCOTT
3000
20 ANALYST
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE Sal >= 1250 AND Sal <= 3000
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------BLAKE
2850
30 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

CLARK
JONES
MARTIN
ALLEN
TURNER
WARD
FORD
SCOTT
MILLER

2450
2975
1250
1600
1500
1250
3000
3000
1300

10
20
30
30
30
30
20
20
10

MANAGER
MANAGER
SALESMAN
SALESMAN
SALESMAN
SALESMAN
ANALYST
ANALYST
CLERK

10 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE Sal <= 1250 OR Sal >= 3000
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
MARTIN
1250
30 SALESMAN
JAMES
950
30 CLERK
WARD
1250
30 SALESMAN
FORD
3000
20 ANALYST
SMITH
800
20 CLERK
SCOTT
3000
20 ANALYST
ADAMS
1100
20 CLERK
8 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6

SELECT
Ename,
Sal,
Job
FROM Emp
WHERE Sal >= 1500 OR Sal >= 2850;

ENAME
SAL JOB
---------- ---------- --------KING
5000 PRESIDENT
BLAKE
2850 MANAGER
CLARK
2450 MANAGER
JONES
2975 MANAGER
ALLEN
1600 SALESMAN
TURNER
1500 SALESMAN
FORD
3000 ANALYST
SCOTT
3000 ANALYST
8 rows selected.
SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf


1
2
3
4
5
6*
SQL>

SELECT
Ename,
Sal,
Job
FROM Emp
WHERE Sal >= 1500
/

ENAME
SAL JOB
---------- ---------- --------KING
5000 PRESIDENT
BLAKE
2850 MANAGER
CLARK
2450 MANAGER
JONES
2975 MANAGER
ALLEN
1600 SALESMAN
TURNER
1500 SALESMAN
FORD
3000 ANALYST
SCOTT
3000 ANALYST
8 rows selected.
SQL> cl scr
SQL> SELECT Ename, Sal, Deptno, Job
2 FROM Emp
3 WHERE Job <> 'MANAGER';
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
MARTIN
1250
30 SALESMAN
ALLEN
1600
30 SALESMAN
TURNER
1500
30 SALESMAN
JAMES
950
30 CLERK
WARD
1250
30 SALESMAN
FORD
3000
20 ANALYST
SMITH
800
20 CLERK
SCOTT
3000
20 ANALYST
ADAMS
1100
20 CLERK
MILLER
1300
10 CLERK
11 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE NOT Job = 'MANAGER'
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT
ADAMS
MILLER

1250
1600
1500
950
1250
3000
800
3000
1100
1300

30
30
30
30
30
20
20
20
20
10

SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
ANALYST
CLERK
ANALYST
CLERK
CLERK

11 rows selected.
SQL> cl scr
SQL> SELECT Ename, Deptno, Job
2 FROM Emp
3 WHERE Job = 'SALESMAN';
ENAME
DEPTNO JOB
---------- ---------- --------MARTIN
30 SALESMAN
ALLEN
30 SALESMAN
TURNER
30 SALESMAN
WARD
30 SALESMAN
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Deptno, Job


FROM Emp
WHERE Deptno = 30
/

ENAME
DEPTNO JOB
---------- ---------- --------BLAKE
30 MANAGER
MARTIN
30 SALESMAN
ALLEN
30 SALESMAN
TURNER
30 SALESMAN
JAMES
30 CLERK
WARD
30 SALESMAN
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Deptno, Job


FROM Emp
WHERE NOT Job = 'SALESMAN' AND Deptno = 30
/

ENAME
DEPTNO JOB
---------- ---------- --------BLAKE
30 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

JAMES

30 CLERK

SQL> INSERT INTO Emp(Empno, Ename, Deptno, Job)


2 VALUES(1234, 'SAMPLE01', 20, 'SALESMAN');
1 row created.
SQL> INSERT INTO Emp(Empno, Ename, Deptno, Job)
2 VALUES(1235, 'SAMPLE02', 10, 'SALESMAN');
1 row created.
SQL> SELECT Ename, Deptno, Job
2 FROM Emp
3 WHERE Job = 'SALESMAN';
ENAME
DEPTNO JOB
---------- ---------- --------MARTIN
30 SALESMAN
ALLEN
30 SALESMAN
TURNER
30 SALESMAN
WARD
30 SALESMAN
SAMPLE01
20 SALESMAN
SAMPLE02
10 SALESMAN
6 rows selected.
SQL>
2
3
4

SELECT Ename, Deptno, Job


FROM Emp
WHERE Deptno = 30
/

ENAME
DEPTNO JOB
---------- ---------- --------BLAKE
30 MANAGER
MARTIN
30 SALESMAN
ALLEN
30 SALESMAN
TURNER
30 SALESMAN
JAMES
30 CLERK
WARD
30 SALESMAN
6 rows selected.
SQL> SELECT Ename, Deptno, Job
2 FROM Emp
3 WHERE NOT Job = 'SALESMAN' AND Deptno = 30;
ENAME
DEPTNO JOB
---------- ---------- --------BLAKE
30 MANAGER
JAMES
30 CLERK
SQL> ED
Wrote file afiedt.buf
1

SELECT Ename, Deptno, Job


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2 FROM Emp
3* WHERE Job = 'SALESMAN' AND NOT Deptno = 30
SQL> /
ENAME
DEPTNO JOB
---------- ---------- --------SAMPLE01
20 SALESMAN
SAMPLE02
10 SALESMAN
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Deptno, Job


FROM Emp
WHERE NOT Job = 'SALESMAN' AND NOT Deptno = 30
/

ENAME
DEPTNO JOB
---------- ---------- --------KING
10 PRESIDENT
CLARK
10 MANAGER
JONES
20 MANAGER
FORD
20 ANALYST
SMITH
20 CLERK
SCOTT
20 ANALYST
ADAMS
20 CLERK
MILLER
10 CLERK
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Deptno, Job


FROM Emp
WHERE Job <> 'SALESMAN' AND Deptno <> 30
/

ENAME
DEPTNO JOB
---------- ---------- --------KING
10 PRESIDENT
CLARK
10 MANAGER
JONES
20 MANAGER
FORD
20 ANALYST
SMITH
20 CLERK
SCOTT
20 ANALYST
ADAMS
20 CLERK
MILLER
10 CLERK
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2

SELECT Ename, Deptno, Job


FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3* WHERE NOT(Job <> 'SALESMAN' AND Deptno <> 30)


SQL> /
ENAME
DEPTNO JOB
---------- ---------- --------BLAKE
30 MANAGER
MARTIN
30 SALESMAN
ALLEN
30 SALESMAN
TURNER
30 SALESMAN
JAMES
30 CLERK
WARD
30 SALESMAN
SAMPLE01
20 SALESMAN
SAMPLE02
10 SALESMAN
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Deptno, Job


FROM Emp
WHERE NOT(Job = 'SALESMAN' AND Deptno = 30)
/

ENAME
DEPTNO JOB
---------- ---------- --------KING
10 PRESIDENT
BLAKE
30 MANAGER
CLARK
10 MANAGER
JONES
20 MANAGER
JAMES
30 CLERK
FORD
20 ANALYST
SMITH
20 CLERK
SCOTT
20 ANALYST
ADAMS
20 CLERK
MILLER
10 CLERK
SAMPLE01
20 SALESMAN
ENAME
DEPTNO JOB
---------- ---------- --------SAMPLE02
10 SALESMAN
12 rows selected.
SQL> SPOOL OFF
SQL> cl scr
SQL> SELECT Ename, Sal, Deptno, Job
2 FROM Emp
3 WHERE Sal = 3000;
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------FORD
3000
20 ANALYST
SCOTT
3000
20 ANALYST
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE Sal > 3000
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE Job = 'MANAGER'
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE Job > 'MANAGER'
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
MARTIN
1250
30 SALESMAN
ALLEN
1600
30 SALESMAN
TURNER
1500
30 SALESMAN
WARD
1250
30 SALESMAN
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE Job < 'MANAGER'
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------JAMES
950
30 CLERK
FORD
3000
20 ANALYST
SMITH
800
20 CLERK
SCOTT
3000
20 ANALYST
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ADAMS
MILLER

1100
1300

20 CLERK
10 CLERK

6 rows selected.
SQL> cl scr
SQL>
2
3
4

SELECT Ename, Sal, Deptno, HireDate


FROM Emp
WHERE HireDate = '03-DEC-81'
/

ENAME
SAL
DEPTNO HIREDATE
---------- ---------- ---------- --------JAMES
950
30 03-DEC-81
FORD
3000
20 03-DEC-81
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, HireDate


FROM Emp
WHERE HireDate > '03-DEC-81'
/

ENAME
SAL
DEPTNO HIREDATE
---------- ---------- ---------- --------SCOTT
3000
20 09-DEC-82
ADAMS
1100
20 12-JAN-83
MILLER
1300
10 23-JAN-82
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, HireDate


FROM Emp
WHERE HireDate < '03-DEC-81'
/

ENAME
SAL
DEPTNO HIREDATE
---------- ---------- ---------- --------KING
5000
10 17-NOV-81
BLAKE
2850
30 01-MAY-81
CLARK
2450
10 09-JUN-81
JONES
2975
20 02-APR-81
MARTIN
1250
30 28-SEP-81
ALLEN
1600
30 20-FEB-81
TURNER
1500
30 08-SEP-81
WARD
1250
30 22-FEB-81
SMITH
800
20 17-DEC-80
9 rows selected.
SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1
2
3*
SQL>

SELECT Ename, Sal, Deptno, HireDate


FROM Emp
WHERE HireDate <> '03-DEC-81'
/

ENAME
SAL
DEPTNO HIREDATE
---------- ---------- ---------- --------KING
5000
10 17-NOV-81
BLAKE
2850
30 01-MAY-81
CLARK
2450
10 09-JUN-81
JONES
2975
20 02-APR-81
MARTIN
1250
30 28-SEP-81
ALLEN
1600
30 20-FEB-81
TURNER
1500
30 08-SEP-81
WARD
1250
30 22-FEB-81
SMITH
800
20 17-DEC-80
SCOTT
3000
20 09-DEC-82
ADAMS
1100
20 12-JAN-83
ENAME
SAL
DEPTNO HIREDATE
---------- ---------- ---------- --------MILLER
1300
10 23-JAN-82
12 rows selected.
SQL> cl scr
SQL> SELECT Ename, Sal, Comm
2 FROM Emp;
ENAME
SAL
COMM
---------- ---------- ---------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
1400
ALLEN
1600
300
TURNER
1500
0
JAMES
950
WARD
1250
500
FORD
3000
SMITH
800
ENAME
SAL
COMM
---------- ---------- ---------SCOTT
3000
ADAMS
1100
MILLER
1300
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1

SELECT Ename, Sal, Comm


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2 FROM Emp
3* WHERE Comm = NULL
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Comm


FROM Emp
WHERE Comm <> NULL
/

no rows selected
SQL> cl scr
SQL> SELECT Ename, Sal, Job, Deptno
2 FROM Emp
3 WHERE Deptno = 10;
ENAME
SAL JOB
DEPTNO
---------- ---------- --------- ---------KING
5000 PRESIDENT
10
CLARK
2450 MANAGER
10
MILLER
1300 CLERK
10
SQL> SELECT Ename, Sal, Job, Deptno
2 FROM Emp
3 WHERE 10 = Deptno;
ENAME
SAL JOB
DEPTNO
---------- ---------- --------- ---------KING
5000 PRESIDENT
10
CLARK
2450 MANAGER
10
MILLER
1300 CLERK
10
SQL> SELECT Ename, Sal, Job, Deptno
2 FROM Emp
3 WHERE Job = 'MANAGER';
ENAME
SAL JOB
DEPTNO
---------- ---------- --------- ---------BLAKE
2850 MANAGER
30
CLARK
2450 MANAGER
10
JONES
2975 MANAGER
20
SQL> SELECT Ename, Sal, Job, Deptno
2 FROM Emp
3 WHERE 'MANAGER' = Job;
ENAME
SAL JOB
DEPTNO
---------- ---------- --------- ---------BLAKE
2850 MANAGER
30
CLARK
2450 MANAGER
10
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

JONES

2975 MANAGER

20

SQL> SELECT * FROM Dept;


DEPTNO
---------10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SQL> SELECT Empno, Ename, Sal FROM Emp;


EMPNO
---------7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
SAL
---------- ---------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
ALLEN
1600
TURNER
1500
JAMES
950
WARD
1250
FORD
3000
SMITH
800

EMPNO
---------7788
7876
7934

ENAME
SAL
---------- ---------SCOTT
3000
ADAMS
1100
MILLER
1300

14 rows selected.
SQL> SELECT Ename Name, Sal Salary FROM Emp;
NAME
SALARY
---------- ---------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
ALLEN
1600
TURNER
1500
JAMES
950
WARD
1250
FORD
3000
SMITH
800
NAME
SALARY
---------- ---------SCOTT
3000
ADAMS
1100
MILLER
1300
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

14 rows selected.
SQL> cl scr
SQL> SELECTEname, Sal, Deptno, job
SP2-0734: unknown command beginning "SELECTEnam..." - rest of line ignored.
SQL> SELECT Ename, Sal, Deptno, job
2 FROM Emp
3 WHERE
4 Job = 'PRESIDENT' OR
5 Job = 'MANAGER' OR
6 Job = 'ANALYST' OR
7 Job = 'SALESMAN';
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER
MARTIN
1250
30 SALESMAN
ALLEN
1600
30 SALESMAN
TURNER
1500
30 SALESMAN
WARD
1250
30 SALESMAN
FORD
3000
20 ANALYST
SCOTT
3000
20 ANALYST
10 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Sal, Deptno, job


FROM Emp
WHERE
Job <> 'CLERK'
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER
MARTIN
1250
30 SALESMAN
ALLEN
1600
30 SALESMAN
TURNER
1500
30 SALESMAN
WARD
1250
30 SALESMAN
FORD
3000
20 ANALYST
SCOTT
3000
20 ANALYST
10 rows selected.
SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> CONN HR/HR


Connected.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

SELECT
Department_ID, Job_ID, SUM(Salary), AVG(Salary)
FROM Employees
WHERE
(
(DEPARTMENT_ID = 20 AND (
JOB_ID = 'MK_MAN' OR
JOB_ID = 'MK_REP' OR
JOB_ID = 'PU_MAN' OR
JOB_ID = 'PU_CLERK' OR
JOB_ID = 'HR_REP' OR
JOB_ID = 'SH_CLERK' OR
JOB_ID = 'IT_PROG' OR
JOB_ID = 'SA_REP'
) AND
(
SALARY >= 5000 AND SALARY <= 30000
)
) OR
(DEPARTMENT_ID = 30 AND (
JOB_ID = 'MK_MAN' OR
JOB_ID = 'MK_REP' OR
JOB_ID = 'PU_MAN' OR
JOB_ID = 'PU_CLERK' OR
JOB_ID = 'HR_REP' OR
JOB_ID = 'SH_CLERK' OR
JOB_ID = 'IT_PROG' OR
JOB_ID = 'SA_REP'
) AND
(
SALARY >= 5000 AND SALARY <= 30000
)
) OR
(DEPARTMENT_ID = 40 AND (
JOB_ID = 'MK_MAN' OR
JOB_ID = 'MK_REP' OR
JOB_ID = 'PU_MAN' OR
JOB_ID = 'PU_CLERK' OR
JOB_ID = 'HR_REP' OR
JOB_ID = 'SH_CLERK' OR
JOB_ID = 'IT_PROG' OR
JOB_ID = 'SA_REP'
) AND
(
SALARY >= 5000 AND SALARY <= 30000
)
) OR
(DEPARTMENT_ID = 50 AND (
JOB_ID = 'MK_MAN' OR
JOB_ID = 'MK_REP' OR
JOB_ID = 'PU_MAN' OR
JOB_ID = 'PU_CLERK' OR
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108

JOB_ID
JOB_ID
JOB_ID
JOB_ID
) AND
(
SALARY
)

=
=
=
=

'HR_REP' OR
'SH_CLERK' OR
'IT_PROG' OR
'SA_REP'

>= 5000 AND SALARY <= 30000

) OR
(DEPARTMENT_ID = 60 AND (
JOB_ID = 'MK_MAN' OR
JOB_ID = 'MK_REP' OR
JOB_ID = 'PU_MAN' OR
JOB_ID = 'PU_CLERK' OR
JOB_ID = 'HR_REP' OR
JOB_ID = 'SH_CLERK' OR
JOB_ID = 'IT_PROG' OR
JOB_ID = 'SA_REP'
) AND
(
SALARY >= 5000 AND SALARY <= 30000
)
) OR
(DEPARTMENT_ID = 80 AND (
JOB_ID = 'MK_MAN' OR
JOB_ID = 'MK_REP' OR
JOB_ID = 'PU_MAN' OR
JOB_ID = 'PU_CLERK' OR
JOB_ID = 'HR_REP' OR
JOB_ID = 'SH_CLERK' OR
JOB_ID = 'IT_PROG' OR
JOB_ID = 'SA_REP'
) AND
(
SALARY >= 5000 AND SALARY <= 30000
)
) OR
(DEPARTMENT_ID = 20 AND (
JOB_ID = 'MK_MAN' OR
JOB_ID = 'MK_REP' OR
JOB_ID = 'PU_MAN' OR
JOB_ID = 'PU_CLERK' OR
JOB_ID = 'HR_REP' OR
JOB_ID = 'SH_CLERK' OR
JOB_ID = 'IT_PROG' OR
JOB_ID = 'SA_REP'
) AND
(
SALARY >= 5000 AND SALARY <= 30000
)
) OR
(DEPARTMENT_ID = 20 AND (
JOB_ID = 'MK_MAN' OR
JOB_ID = 'MK_REP' OR
JOB_ID = 'PU_MAN' OR
JOB_ID = 'PU_CLERK' OR
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

109
110
111
112
113
114
115
116
117
118
119

JOB_ID
JOB_ID
JOB_ID
JOB_ID
) AND
(
SALARY
)

=
=
=
=

'HR_REP' OR
'SH_CLERK' OR
'IT_PROG' OR
'SA_REP'

>= 5000 AND SALARY <= 30000

)
)
GROUP BY Department_ID, Job_ID;

DEPARTMENT_ID
------------20
20
30
40
60
80

JOB_ID
SUM(SALARY) AVG(SALARY)
---------- ----------- ----------MK_MAN
13000
13000
MK_REP
6000
6000
PU_MAN
11000
11000
HR_REP
6500
6500
IT_PROG
15000
7500
SA_REP
243500 8396.55172

6 rows selected.
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

SELECT
Department_ID, Job_ID, SUM(Salary), AVG(Salary)
FROm Employees
WHERE
(
(DEPARTMENT_ID = 20 OR
DEPARTMENT_ID = 30 OR
DEPARTMENT_ID = 40 OR
DEPARTMENT_ID = 50 OR
DEPARTMENT_ID = 60 OR
DEPARTMENT_ID = 80
) AND
(JOB_ID = 'MK_MAN' OR
JOB_ID = 'MK_REP' OR
JOB_ID = 'PU_MAN' OR
JOB_ID = 'PU_CLERK' OR
JOB_ID = 'HR_REP' OR
JOB_ID = 'SH_CLERK' OR
JOB_ID = 'IT_PROG' OR
JOB_ID = 'SA_REP'
) AND
(
SALARY >= 5000 AND SALARY <= 30000
)
)
GROUP BY Department_ID, Job_ID;

DEPARTMENT_ID JOB_ID
SUM(SALARY) AVG(SALARY)
------------- ---------- ----------- ----------20 MK_MAN
13000
13000
20 MK_REP
6000
6000
30 PU_MAN
11000
11000
40 HR_REP
6500
6500
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

60 IT_PROG
80 SA_REP

15000
243500

7500
8396.55172

6 rows selected.
SQL> SET AUTOTRACE ON EXPLAIn
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

SELECT
Department_ID, Job_ID, SUM(Salary), AVG(Salary)
FROm Employees
WHERE
(
(DEPARTMENT_ID = 20 OR
DEPARTMENT_ID = 30 OR
DEPARTMENT_ID = 40 OR
DEPARTMENT_ID = 50 OR
DEPARTMENT_ID = 60 OR
DEPARTMENT_ID = 80
) AND
(JOB_ID = 'MK_MAN' OR
JOB_ID = 'MK_REP' OR
JOB_ID = 'PU_MAN' OR
JOB_ID = 'PU_CLERK' OR
JOB_ID = 'HR_REP' OR
JOB_ID = 'SH_CLERK' OR
JOB_ID = 'IT_PROG' OR
JOB_ID = 'SA_REP'
) AND
(
SALARY >= 5000 AND SALARY <= 30000
)
)
GROUP BY Department_ID, Job_ID;

DEPARTMENT_ID
------------20
20
30
40
60
80

JOB_ID
SUM(SALARY) AVG(SALARY)
---------- ----------- ----------MK_MAN
13000
13000
MK_REP
6000
6000
PU_MAN
11000
11000
HR_REP
6500
6500
IT_PROG
15000
7500
SA_REP
243500 8396.55172

6 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=34 Bytes=54
4)
1
2

0
1

SORT (GROUP BY) (Cost=4 Card=34 Bytes=544)


TABLE ACCESS (FULL) OF 'EMPLOYEES' (TABLE) (Cost=3 Card=
47 Bytes=752)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53

SELECT
Department_ID, Job_ID, SUM(Salary), AVG(Salary)
FROM Employees
WHERE
(
(DEPARTMENT_ID = 20 AND (
JOB_ID = 'MK_MAN' OR
JOB_ID = 'MK_REP' OR
JOB_ID = 'PU_MAN' OR
JOB_ID = 'PU_CLERK' OR
JOB_ID = 'HR_REP' OR
JOB_ID = 'SH_CLERK' OR
JOB_ID = 'IT_PROG' OR
JOB_ID = 'SA_REP'
) AND
(
SALARY >= 5000 AND SALARY <= 30000
)
) OR
(DEPARTMENT_ID = 30 AND (
JOB_ID = 'MK_MAN' OR
JOB_ID = 'MK_REP' OR
JOB_ID = 'PU_MAN' OR
JOB_ID = 'PU_CLERK' OR
JOB_ID = 'HR_REP' OR
JOB_ID = 'SH_CLERK' OR
JOB_ID = 'IT_PROG' OR
JOB_ID = 'SA_REP'
) AND
(
SALARY >= 5000 AND SALARY <= 30000
)
) OR
(DEPARTMENT_ID = 40 AND (
JOB_ID = 'MK_MAN' OR
JOB_ID = 'MK_REP' OR
JOB_ID = 'PU_MAN' OR
JOB_ID = 'PU_CLERK' OR
JOB_ID = 'HR_REP' OR
JOB_ID = 'SH_CLERK' OR
JOB_ID = 'IT_PROG' OR
JOB_ID = 'SA_REP'
) AND
(
SALARY >= 5000 AND SALARY <= 30000
)
) OR
(DEPARTMENT_ID = 50 AND (
JOB_ID = 'MK_MAN' OR
JOB_ID = 'MK_REP' OR
JOB_ID = 'PU_MAN' OR
JOB_ID = 'PU_CLERK' OR
JOB_ID = 'HR_REP' OR
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109

JOB_ID
JOB_ID
JOB_ID
) AND
(
SALARY
)

= 'SH_CLERK' OR
= 'IT_PROG' OR
= 'SA_REP'

>= 5000 AND SALARY <= 30000

) OR
(DEPARTMENT_ID = 60 AND (
JOB_ID = 'MK_MAN' OR
JOB_ID = 'MK_REP' OR
JOB_ID = 'PU_MAN' OR
JOB_ID = 'PU_CLERK' OR
JOB_ID = 'HR_REP' OR
JOB_ID = 'SH_CLERK' OR
JOB_ID = 'IT_PROG' OR
JOB_ID = 'SA_REP'
) AND
(
SALARY >= 5000 AND SALARY <= 30000
)
) OR
(DEPARTMENT_ID = 80 AND (
JOB_ID = 'MK_MAN' OR
JOB_ID = 'MK_REP' OR
JOB_ID = 'PU_MAN' OR
JOB_ID = 'PU_CLERK' OR
JOB_ID = 'HR_REP' OR
JOB_ID = 'SH_CLERK' OR
JOB_ID = 'IT_PROG' OR
JOB_ID = 'SA_REP'
) AND
(
SALARY >= 5000 AND SALARY <= 30000
)
) OR
(DEPARTMENT_ID = 20 AND (
JOB_ID = 'MK_MAN' OR
JOB_ID = 'MK_REP' OR
JOB_ID = 'PU_MAN' OR
JOB_ID = 'PU_CLERK' OR
JOB_ID = 'HR_REP' OR
JOB_ID = 'SH_CLERK' OR
JOB_ID = 'IT_PROG' OR
JOB_ID = 'SA_REP'
) AND
(
SALARY >= 5000 AND SALARY <= 30000
)
) OR
(DEPARTMENT_ID = 20 AND (
JOB_ID = 'MK_MAN' OR
JOB_ID = 'MK_REP' OR
JOB_ID = 'PU_MAN' OR
JOB_ID = 'PU_CLERK' OR
JOB_ID = 'HR_REP' OR
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

110
111
112
113
114
115
116
117
118
119

JOB_ID
JOB_ID
JOB_ID
) AND
(
SALARY
)

= 'SH_CLERK' OR
= 'IT_PROG' OR
= 'SA_REP'

>= 5000 AND SALARY <= 30000

)
)
GROUP BY Department_ID, Job_ID;

DEPARTMENT_ID
------------20
20
30
40
60
80

JOB_ID
SUM(SALARY) AVG(SALARY)
---------- ----------- ----------MK_MAN
13000
13000
MK_REP
6000
6000
PU_MAN
11000
11000
HR_REP
6500
6500
IT_PROG
15000
7500
SA_REP
243500 8396.55172

6 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=6 Bytes=96)
1
0
SORT (GROUP BY) (Cost=4 Card=6 Bytes=96)
2
1
TABLE ACCESS (FULL) OF 'EMPLOYEES' (TABLE) (Cost=3 Card=
36 Bytes=576)

SQL> cl scr
SQL> SET AUTOTRACE OFF EXPLAIN
SQL> CONN SCOTT/TIGER
Connected.
SQL> cl scr
SQL> SELECT Ename, Deptno, Sal
2 FROM Emp;
ENAME
DEPTNO
SAL
---------- ---------- ---------KING
10
5000
BLAKE
30
2850
CLARK
10
2450
JONES
20
2975
MARTIN
30
1250
ALLEN
30
1600
TURNER
30
1500
JAMES
30
950
WARD
30
1250
FORD
20
3000
SMITH
20
800
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
DEPTNO
SAL
---------- ---------- ---------SCOTT
20
3000
ADAMS
20
1100
MILLER
10
1300
14 rows selected.
SQL> SELECT Ename, Deptno, Sal
2 FROM Emp
3 WHERE Sal BETWEEN 1250 AND 2975;
ENAME
DEPTNO
SAL
---------- ---------- ---------BLAKE
30
2850
CLARK
10
2450
JONES
20
2975
MARTIN
30
1250
ALLEN
30
1600
TURNER
30
1500
WARD
30
1250
MILLER
10
1300
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Deptno, Sal


FROM Emp
WHERE Sal NOT BETWEEN 1250 AND 2975
/

ENAME
DEPTNO
SAL
---------- ---------- ---------KING
10
5000
JAMES
30
950
FORD
20
3000
SMITH
20
800
SCOTT
20
3000
ADAMS
20
1100
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Deptno, Sal, Job


FROM Emp
WHERE Job BETWEEN 'MANAGER' AND 'PRESIDENT'
/

ENAME
DEPTNO
SAL JOB
---------- ---------- ---------- --------KING
10
5000 PRESIDENT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

BLAKE
CLARK
JONES

30
10
20

2850 MANAGER
2450 MANAGER
2975 MANAGER

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Deptno, Sal, Job


FROM Emp
WHERE Job NOT BETWEEN 'MANAGER' AND 'PRESIDENT'
/

ENAME
DEPTNO
SAL JOB
---------- ---------- ---------- --------MARTIN
30
1250 SALESMAN
ALLEN
30
1600 SALESMAN
TURNER
30
1500 SALESMAN
JAMES
30
950 CLERK
WARD
30
1250 SALESMAN
FORD
20
3000 ANALYST
SMITH
20
800 CLERK
SCOTT
20
3000 ANALYST
ADAMS
20
1100 CLERK
MILLER
10
1300 CLERK
10 rows selected.
SQL> cl scr
SQL> SELECT Ename, Sal, Deptno, Job
2 FROM Emp
3 WHERE Deptno = 10 OR Deptno = 20 OR Deptno = 30;
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER
MARTIN
1250
30 SALESMAN
ALLEN
1600
30 SALESMAN
TURNER
1500
30 SALESMAN
JAMES
950
30 CLERK
WARD
1250
30 SALESMAN
FORD
3000
20 ANALYST
SMITH
800
20 CLERK
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------SCOTT
3000
20 ANALYST
ADAMS
1100
20 CLERK
MILLER
1300
10 CLERK
14 rows selected.
SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL>
2
3
4
5
6
7

SELECT
Ename,
Sal,
Job
FROM Emp
WHERE
Ename IN('FORD', 'ALLEN');

ENAME
SAL JOB
---------- ---------- --------ALLEN
1600 SALESMAN
FORD
3000 ANALYST
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT
Ename,
Sal,
Job
FROM Emp
WHERE
Ename NOT IN('FORD', 'ALLEN')
/

ENAME
SAL JOB
---------- ---------- --------KING
5000 PRESIDENT
BLAKE
2850 MANAGER
CLARK
2450 MANAGER
JONES
2975 MANAGER
MARTIN
1250 SALESMAN
TURNER
1500 SALESMAN
JAMES
950 CLERK
WARD
1250 SALESMAN
SMITH
800 CLERK
SCOTT
3000 ANALYST
ADAMS
1100 CLERK
ENAME
SAL JOB
---------- ---------- --------MILLER
1300 CLERK
12 rows selected.
SQL>
2
3
4
5
6
7

SELECT
Ename,
Sal,
Deptno
FROM Emp
WHERE
Deptno IN(10, 30);

ENAME
SAL
DEPTNO
---------- ---------- ---------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

KING
BLAKE
CLARK
MARTIN
ALLEN
TURNER
JAMES
WARD
MILLER

5000
2850
2450
1250
1600
1500
950
1250
1300

10
30
10
30
30
30
30
30
10

9 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT
Ename,
Sal,
Deptno
FROM Emp
WHERE
Deptno NOT IN(10, 30)
/

ENAME
SAL
DEPTNO
---------- ---------- ---------JONES
2975
20
FORD
3000
20
SMITH
800
20
SCOTT
3000
20
ADAMS
1100
20
SQL>
2
3
4
5
6
7

SELECT
Ename,
Sal,
Hiredate
FROM Emp
WHERE
Hiredate IN('20-FEB-1981', '09-JUN-1981');

ENAME
SAL HIREDATE
---------- ---------- --------CLARK
2450 09-JUN-81
ALLEN
1600 20-FEB-81
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT
Ename,
Sal,
Hiredate
FROM Emp
WHERE
Hiredate NOT IN('20-FEB-1981', '09-JUN-1981')
/
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
SAL HIREDATE
---------- ---------- --------KING
5000 17-NOV-81
BLAKE
2850 01-MAY-81
JONES
2975 02-APR-81
MARTIN
1250 28-SEP-81
TURNER
1500 08-SEP-81
JAMES
950 03-DEC-81
WARD
1250 22-FEB-81
FORD
3000 03-DEC-81
SMITH
800 17-DEC-80
SCOTT
3000 09-DEC-82
ADAMS
1100 12-JAN-83
ENAME
SAL HIREDATE
---------- ---------- --------MILLER
1300 23-JAN-82
12 rows selected.
SQL> cl scr
SQL> SELECT Ename, Sal, Comm
2 FROM Emp
3 WHERE Comm = NULL;
no rows selected
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Comm


FROM Emp
WHERE Comm IS NULL
/

ENAME
SAL
COMM
---------- ---------- ---------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
JAMES
950
FORD
3000
SMITH
800
SCOTT
3000
ADAMS
1100
MILLER
1300
10 rows selected.
SQL> ED
Wrote file afiedt.buf
1

SELECT Ename, Sal, Comm


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2 FROM Emp
3* WHERE Comm IS NOT NULL
SQL> /
ENAME
SAL
COMM
---------- ---------- ---------MARTIN
1250
1400
ALLEN
1600
300
TURNER
1500
0
WARD
1250
500
SQL> cl scr
SQL> SELECT Ename, Deptno, Job, Sal
2 FROM Emp;
ENAME
DEPTNO JOB
SAL
---------- ---------- --------- ---------KING
10 PRESIDENT
5000
BLAKE
30 MANAGER
2850
CLARK
10 MANAGER
2450
JONES
20 MANAGER
2975
MARTIN
30 SALESMAN
1250
ALLEN
30 SALESMAN
1600
TURNER
30 SALESMAN
1500
JAMES
30 CLERK
950
WARD
30 SALESMAN
1250
FORD
20 ANALYST
3000
SMITH
20 CLERK
800
ENAME
DEPTNO JOB
SAL
---------- ---------- --------- ---------SCOTT
20 ANALYST
3000
ADAMS
20 CLERK
1100
MILLER
10 CLERK
1300
14 rows selected.
SQL> SELECT Ename, Deptno, Job, Sal
2 FROM Emp
3 WHERE Ename = 'SMITH';
ENAME
DEPTNO JOB
SAL
---------- ---------- --------- ---------SMITH
20 CLERK
800
SQL> cl scr
SQL> SELECT Ename, Sal, Job
2 FROM Emp;
ENAME
SAL JOB
---------- ---------- --------KING
5000 PRESIDENT
BLAKE
2850 MANAGER
CLARK
2450 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

2975
1250
1600
1500
950
1250
3000
800

MANAGER
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
ANALYST
CLERK

ENAME
SAL JOB
---------- ---------- --------SCOTT
3000 ANALYST
ADAMS
1100 CLERK
MILLER
1300 CLERK
14 rows selected.
SQL>
2
3
4
5
6

SELECT
Ename,
Job
FROM Emp
WHERE
Ename LIKE 'S%';

ENAME
---------SMITH
SCOTT

JOB
--------CLERK
ANALYST

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT
Ename,
Job
FROM Emp
WHERE
Ename NOT LIKE 'S%'
/

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
ADAMS

JOB
--------PRESIDENT
MANAGER
MANAGER
MANAGER
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
ANALYST
CLERK

ENAME
JOB
---------- --------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

MILLER

CLERK

12 rows selected.
SQL>
2
3
4
5
6

SELECT
Ename,
Job
FROM Emp
WHERE
Ename LIKE '_A%';

ENAME
---------MARTIN
JAMES
WARD

JOB
--------SALESMAN
CLERK
SALESMAN

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT
Ename,
Job
FROM Emp
WHERE
Ename LIKE '%A%'
/

ENAME
---------BLAKE
CLARK
MARTIN
ALLEN
JAMES
WARD
ADAMS

JOB
--------MANAGER
MANAGER
SALESMAN
SALESMAN
CLERK
SALESMAN
CLERK

7 rows selected.
SQL>
2
3
4
5
6

SELECT
Ename,
Sal
FROM Emp
WHERE
Ename = 'SM%';

no rows selected
SQL> cl scr
SQL> SELECT Ename, Sal, Deptno, Job
2 FROM Emp
3 WHERE Job = 'MANAGER';
ENAME

SAL
DEPTNO JOB
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

---------- ---------- ---------- --------BLAKE


2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE 'MANAGER' = Job
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE Job LIKE 'MAN%'
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE 'MAN%' LIKE Job
/

no rows selected
SQL> cl scr
SQL> SELECT Ename, Sal, Deptno, HireDate
2 FROM Emp
3 WHERE HireDate = '03-DEC-81';
ENAME
SAL
DEPTNO HIREDATE
---------- ---------- ---------- --------JAMES
950
30 03-DEC-81
FORD
3000
20 03-DEC-81
SQL> SELECT Ename, Sal, Deptno, HireDate
2 FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

WHERE HireDate = '03-DEC-1981';

ENAME
SAL
DEPTNO HIREDATE
---------- ---------- ---------- --------JAMES
950
30 03-DEC-81
FORD
3000
20 03-DEC-81
SQL> SELECT Ename, Sal, Deptno, HireDate
2 FROM Emp
3 WHERE HireDate LIKE '03-DEC-81';
ENAME
SAL
DEPTNO HIREDATE
---------- ---------- ---------- --------JAMES
950
30 03-DEC-81
FORD
3000
20 03-DEC-81
SQL> SELECT Ename, Sal, Deptno, HireDate
2 FROM Emp
3 WHERE HireDate LIKE '03-DEC-1981';
no rows selected
SQL> SPOOL OFF
SQL> cl scr
SQL> SET VERIFY OFF
SQL> cl scr
SQL> SELECT * FROM Dept;
DEPTNO
---------10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SQL> INSERT INTO Dept


2 VALUES(50, 'SHIPPING_DESK', 'CHENNAI');
1 row created.
SQL> INSERT INTO Dept
2 VALUES(60, 'CARGO_DECK', 'MUMBAI');
1 row created.
SQL> INSERT INTO Dept
2 VALUES(70, 'COURIER%RACK, 'DELHI');
ERROR:
ORA-01756: quoted string not properly terminated

SQL> INSERT INTO Dept


2 VALUES(70, 'COURIER%RACK', 'DELHI');
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1 row created.
SQL> cl scr
SQL> SELECT * FROM Dept;
DEPTNO
---------10
20
30
40
50
60
70

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
SHIPPING_DESK
CARGO_DECK
COURIER%RACK

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
CHENNAI
MUMBAI
DELHI

7 rows selected.
SQL> SELECT Deptno, Dname, Loc
2 FROM Dept
3 WHERE Dname LIKE '%_%';
DEPTNO
---------10
20
30
40
50
60
70

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
SHIPPING_DESK
CARGO_DECK
COURIER%RACK

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
CHENNAI
MUMBAI
DELHI

7 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Deptno, Dname, Loc


FROM Dept
WHERE Dname LIKE '%\_%'
/

no rows selected
SQL> INSERT INTO Dept
2 VALUES(80, INV\STOCK ROOM', 'KOLKATA');
ERROR:
ORA-01756: quoted string not properly terminated

SQL> INSERT INTO Dept


2 VALUES(80, 'INV\STOCK ROOM', 'KOLKATA');
1 row created.
SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT Deptno, Dname, Loc


2 FROM Dept;
DEPTNO
---------10
20
30
40
50
60
70
80

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
SHIPPING_DESK
CARGO_DECK
COURIER%RACK
INV\STOCK ROOM

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
CHENNAI
MUMBAI
DELHI
KOLKATA

8 rows selected.
SQL> SELECT Deptno, Dname, Loc
2 FROM Dept
3 WHERE Dname LIKE '%\_%';
DEPTNO DNAME
LOC
---------- -------------- ------------80 INV\STOCK ROOM KOLKATA
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Deptno, Dname, Loc


FROM Dept
WHERE Dname LIKE '%\_%' ESCAPE '\'
/

DEPTNO
---------50
60

DNAME
-------------SHIPPING_DESK
CARGO_DECK

LOC
------------CHENNAI
MUMBAI

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Deptno, Dname, Loc


FROM Dept
WHERE Dname LIKE '%@_%' ESCAPE '@'
/

DEPTNO
---------50
60

DNAME
-------------SHIPPING_DESK
CARGO_DECK

LOC
------------CHENNAI
MUMBAI

SQL> ED
Wrote file afiedt.buf
1
2

SELECT Deptno, Dname, Loc


FROM Dept
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3* WHERE Dname LIKE '%__%' ESCAPE '_'


SQL> /
DEPTNO
---------50
60

DNAME
-------------SHIPPING_DESK
CARGO_DECK

LOC
------------CHENNAI
MUMBAI

SQL> cl scr
SQL> SELECT Ename FROM Emp;
ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
ENAME
---------SCOTT
ADAMS
MILLER
14 rows selected.
SQL> SELECT Ename, Sal FROM Emp;
ENAME
SAL
---------- ---------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
ALLEN
1600
TURNER
1500
JAMES
950
WARD
1250
FORD
3000
SMITH
800
ENAME
SAL
---------- ---------SCOTT
3000
ADAMS
1100
MILLER
1300
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

14 rows selected.
SQL> cl scr
SQL> SELECT Ename, Sal, Deptno, job
2 FROM Emp;
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER
MARTIN
1250
30 SALESMAN
ALLEN
1600
30 SALESMAN
TURNER
1500
30 SALESMAN
JAMES
950
30 CLERK
WARD
1250
30 SALESMAN
FORD
3000
20 ANALYST
SMITH
800
20 CLERK
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------SCOTT
3000
20 ANALYST
ADAMS
1100
20 CLERK
MILLER
1300
10 CLERK
14 rows selected.
SQL> SELECT Ename, Sal, Deptno, job
2 FROM Emp
3 ORDER BY Ename;
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------ADAMS
1100
20 CLERK
ALLEN
1600
30 SALESMAN
BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
FORD
3000
20 ANALYST
JAMES
950
30 CLERK
JONES
2975
20 MANAGER
KING
5000
10 PRESIDENT
MARTIN
1250
30 SALESMAN
MILLER
1300
10 CLERK
SCOTT
3000
20 ANALYST
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------SMITH
800
20 CLERK
TURNER
1500
30 SALESMAN
WARD
1250
30 SALESMAN
14 rows selected.
SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf


1
2
3*
SQL>

SELECT Ename, Sal, Deptno, job


FROM Emp
ORDER BY Deptno
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
CLARK
2450
10 MANAGER
MILLER
1300
10 CLERK
JONES
2975
20 MANAGER
SCOTT
3000
20 ANALYST
ADAMS
1100
20 CLERK
SMITH
800
20 CLERK
FORD
3000
20 ANALYST
BLAKE
2850
30 MANAGER
MARTIN
1250
30 SALESMAN
ALLEN
1600
30 SALESMAN
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------TURNER
1500
30 SALESMAN
JAMES
950
30 CLERK
WARD
1250
30 SALESMAN
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, job


FROM Emp
ORDER BY Deptno, Sal
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------MILLER
1300
10 CLERK
CLARK
2450
10 MANAGER
KING
5000
10 PRESIDENT
SMITH
800
20 CLERK
ADAMS
1100
20 CLERK
JONES
2975
20 MANAGER
FORD
3000
20 ANALYST
SCOTT
3000
20 ANALYST
JAMES
950
30 CLERK
MARTIN
1250
30 SALESMAN
WARD
1250
30 SALESMAN
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------TURNER
1500
30 SALESMAN
ALLEN
1600
30 SALESMAN
BLAKE
2850
30 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, job


FROM Emp
ORDER BY Deptno, Sal, Ename DESC
/

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------MILLER
1300
10 CLERK
CLARK
2450
10 MANAGER
KING
5000
10 PRESIDENT
SMITH
800
20 CLERK
ADAMS
1100
20 CLERK
JONES
2975
20 MANAGER
SCOTT
3000
20 ANALYST
FORD
3000
20 ANALYST
JAMES
950
30 CLERK
WARD
1250
30 SALESMAN
MARTIN
1250
30 SALESMAN
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------TURNER
1500
30 SALESMAN
ALLEN
1600
30 SALESMAN
BLAKE
2850
30 MANAGER
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Comm, Sal + NVL(Comm, 0) TotSal


FROM Emp
ORDER BY Comm
/

ENAME
SAL
COMM
TOTSAL
---------- ---------- ---------- ---------TURNER
1500
0
1500
ALLEN
1600
300
1900
WARD
1250
500
1750
MARTIN
1250
1400
2650
KING
5000
5000
FORD
3000
3000
SCOTT
3000
3000
MILLER
1300
1300
ADAMS
1100
1100
SMITH
800
800
JAMES
950
950
ENAME

SAL
COMM
TOTSAL
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

---------- ---------- ---------- ---------BLAKE


2850
2850
CLARK
2450
2450
JONES
2975
2975
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Comm, Sal + NVL(Comm, 0) TotSal


FROM Emp
ORDER BY Sal + NVL(Comm, 0)
/

ENAME
SAL
COMM
TOTSAL
---------- ---------- ---------- ---------SMITH
800
800
JAMES
950
950
ADAMS
1100
1100
MILLER
1300
1300
TURNER
1500
0
1500
WARD
1250
500
1750
ALLEN
1600
300
1900
CLARK
2450
2450
MARTIN
1250
1400
2650
BLAKE
2850
2850
JONES
2975
2975
ENAME
SAL
COMM
TOTSAL
---------- ---------- ---------- ---------FORD
3000
3000
SCOTT
3000
3000
KING
5000
5000
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Comm, Sal + NVL(Comm, 0) TotSal


FROM Emp
ORDER BY TotSal
/

ENAME
SAL
COMM
TOTSAL
---------- ---------- ---------- ---------SMITH
800
800
JAMES
950
950
ADAMS
1100
1100
MILLER
1300
1300
TURNER
1500
0
1500
WARD
1250
500
1750
ALLEN
1600
300
1900
CLARK
2450
2450
MARTIN
1250
1400
2650
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

BLAKE
JONES

2850
2975

2850
2975

ENAME
SAL
COMM
TOTSAL
---------- ---------- ---------- ---------FORD
3000
3000
SCOTT
3000
3000
KING
5000
5000
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Comm, Sal + NVL(Comm, 0) TotSal


FROM Emp
ORDER BY Empno
/

ENAME
SAL
COMM
TOTSAL
---------- ---------- ---------- ---------SMITH
800
800
ALLEN
1600
300
1900
WARD
1250
500
1750
JONES
2975
2975
MARTIN
1250
1400
2650
BLAKE
2850
2850
CLARK
2450
2450
SCOTT
3000
3000
KING
5000
5000
TURNER
1500
0
1500
ADAMS
1100
1100
ENAME
SAL
COMM
TOTSAL
---------- ---------- ---------- ---------JAMES
950
950
FORD
3000
3000
MILLER
1300
1300
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Comm, Sal + NVL(Comm, 0) TotSal


FROM Emp
ORDER BY 4
/

ENAME
SAL
COMM
TOTSAL
---------- ---------- ---------- ---------SMITH
800
800
JAMES
950
950
ADAMS
1100
1100
MILLER
1300
1300
TURNER
1500
0
1500
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

WARD
ALLEN
CLARK
MARTIN
BLAKE
JONES

1250
1600
2450
1250
2850
2975

500
300
1400

1750
1900
2450
2650
2850
2975

ENAME
SAL
COMM
TOTSAL
---------- ---------- ---------- ---------FORD
3000
3000
SCOTT
3000
3000
KING
5000
5000
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Sal, Comm, Sal + NVL(Comm, 0) TotSal
2 FROM Emp
3* ORDER BY 5
SQL> /
ORDER BY 5
*
ERROR at line 3:
ORA-01785: ORDER BY item must be the number of a SELECT-list expression
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Sal, Comm, Sal + NVL(Comm, 0) TotSal
2 FROM Emp
3* ORDER BY 4, 2 DESC, 1, Comm
SQL> /
ENAME
SAL
COMM
TOTSAL
---------- ---------- ---------- ---------SMITH
800
800
JAMES
950
950
ADAMS
1100
1100
MILLER
1300
1300
TURNER
1500
0
1500
WARD
1250
500
1750
ALLEN
1600
300
1900
CLARK
2450
2450
MARTIN
1250
1400
2650
BLAKE
2850
2850
JONES
2975
2975
ENAME
SAL
COMM
TOTSAL
---------- ---------- ---------- ---------FORD
3000
3000
SCOTT
3000
3000
KING
5000
5000
14 rows selected.
SQL> SPOOL OFF
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL>
2
3
4

SELECT
'ORACLE' String,
LOWER('ORACLE') Lower
FROM DUAL;

STRING LOWER
------ -----ORACLE oracle
SQL> SELECT Ename, Job, Sal, HireDate
2 FROM Emp;
ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
SAL HIREDATE
--------- ---------- --------PRESIDENT
5000 17-NOV-81
MANAGER
2850 01-MAY-81
MANAGER
2450 09-JUN-81
MANAGER
2975 02-APR-81
SALESMAN
1250 28-SEP-81
SALESMAN
1600 20-FEB-81
SALESMAN
1500 08-SEP-81
CLERK
950 03-DEC-81
SALESMAN
1250 22-FEB-81
ANALYST
3000 03-DEC-81
CLERK
800 17-DEC-80

ENAME
---------SCOTT
ADAMS
MILLER

JOB
SAL HIREDATE
--------- ---------- --------ANALYST
3000 09-DEC-82
CLERK
1100 12-JAN-83
CLERK
1300 23-JAN-82

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT LOWER(Ename) Ename, LOWER(Job) Job, Sal, HireDate
2* FROM Emp
SQL> /
ENAME
---------king
blake
clark
jones
martin
allen
turner
james
ward
ford
smith

JOB
SAL HIREDATE
--------- ---------- --------president
5000 17-NOV-81
manager
2850 01-MAY-81
manager
2450 09-JUN-81
manager
2975 02-APR-81
salesman
1250 28-SEP-81
salesman
1600 20-FEB-81
salesman
1500 08-SEP-81
clerk
950 03-DEC-81
salesman
1250 22-FEB-81
analyst
3000 03-DEC-81
clerk
800 17-DEC-80

ENAME

JOB
SAL HIREDATE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

---------scott
adams
miller

--------- ---------- --------analyst


3000 09-DEC-82
clerk
1100 12-JAN-83
clerk
1300 23-JAN-82

14 rows selected.
SQL> cl scr
SQL> SELECT
2 LOWER(Ename)||' is Working As '||Job Employee
3 FROM Emp;
EMPLOYEE
---------------------------------king is Working As PRESIDENT
blake is Working As MANAGER
clark is Working As MANAGER
jones is Working As MANAGER
martin is Working As SALESMAN
allen is Working As SALESMAN
turner is Working As SALESMAN
james is Working As CLERK
ward is Working As SALESMAN
ford is Working As ANALYST
smith is Working As CLERK
EMPLOYEE
---------------------------------scott is Working As ANALYST
adams is Working As CLERK
miller is Working As CLERK
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
LOWER(Ename)||' is Working As '||Job Employee
FROM Emp
WHERE LOWER(Job) = 'manager'
/

EMPLOYEE
---------------------------------blake is Working As MANAGER
clark is Working As MANAGER
jones is Working As MANAGER
SQL> cl scr
SQL>
2
3
4

SELECT
'oracle' String,
UPPER('oracle') Upper
FROM DUAL;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

STRING UPPER
------ -----oracle ORACLE
SQL> SELECT Ename, UPPER(Ename) Upper
2 FROM Emp;
ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

UPPER
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

ENAME
---------SCOTT
ADAMS
MILLER

UPPER
---------SCOTT
ADAMS
MILLER

14 rows selected.
SQL>
2
3
4

SELECT
Ename||' is Designated As '||LOWER(Job)
FROM Emp
WHERE Job = 'MANAGER';

ENAME||'ISDESIGNATEDAS'||LOWER(JOB)
------------------------------------BLAKE is Designated As manager
CLARK is Designated As manager
JONES is Designated As manager
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
Ename||' is Designated As '||LOWER(Job) Ename
FROM Emp
WHERE Job = UPPER('manager')
/

ENAME
------------------------------------BLAKE is Designated As manager
CLARK is Designated As manager
JONES is Designated As manager
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL>
2
3
4

SELECT
'oracle corporation' String,
INITCAP('oracle corporation') InitCap
FROM DUAl;

STRING
INITCAP
------------------ -----------------oracle corporation Oracle Corporation
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'sample text for demonstration purpose' String,
INITCAP('sample text for demonstration purpose') InitCap
FROM DUAL
/

STRING
INITCAP
------------------------------------- ------------------------------------sample text for demonstration purpose Sample Text For Demonstration Purpose
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'sample1text@for4demonstration%purpose' String,
INITCAP('sample1text@for4demonstration%purpose') InitCap
FROM DUAL
/

STRING
INITCAP
------------------------------------- ------------------------------------sample1text@for4demonstration%purpose Sample1text@For4demonstration%Purpose
SQL> cl scr
SQL> SELECT
2 Ename, INITCAP(Ename) InitCap
3 FROM Emp;
ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

INITCAP
---------King
Blake
Clark
Jones
Martin
Allen
Turner
James
Ward
Ford
Smith
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
---------SCOTT
ADAMS
MILLER

INITCAP
---------Scott
Adams
Miller

14 rows selected.
SQL> cl scr
SQL>
2
3
4

SELECT
Ename||' is Designated As '||INITCAP(Job) Employee
FROM Emp
WHERE LOWER(Job) = 'manager';

EMPLOYEE
------------------------------------BLAKE is Designated As Manager
CLARK is Designated As Manager
JONES is Designated As Manager
SQL> cl scr
SQL>
2
3
4
5

SELECT
'Oracle' Strimg1,
'Corporation' String2,
CONCAT('Oracle', 'Corporation') Concat
FROM DUAL;

STRIMG STRING2
CONCAT
------ ----------- ----------------Oracle Corporation OracleCorporation
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
'Oracle' Strimg1,
'Corporation' String2,
CONCAT('Oracle', CONCAT(' ', 'Corporation')) Concat
FROM DUAL
/

STRIMG STRING2
CONCAT
------ ----------- -----------------Oracle Corporation Oracle Corporation
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*

SELECT
'Oracle' Strimg1,
'Corporation' String2,
CONCAT('Oracle', CONCAT(' ', LOWER('Corporation'))) Concat
FROM DUAL
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
STRIMG STRING2
CONCAT
------ ----------- -----------------Oracle Corporation Oracle corporation
SQL> SPOOL OFF
SQL> SET VERIFY OFF
SQL> cl scr
SQL> SELECT
2
CONCAT(CONCAT(INITCAP(Ename),' is a '), Job) Job
3 FROM Emp
4 WHERE Deptno IN(10, 20);
JOB
------------------------King is a PRESIDENT
Clark is a MANAGER
Jones is a MANAGER
Ford is a ANALYST
Smith is a CLERK
Scott is a ANALYST
Adams is a CLERK
Miller is a CLERK
8 rows selected.
SQL> cl scr
SQL>
2
3
4

SELECT
'ABCDEFGHIJ' String,
SUBSTR('ABCDEFGHIJ', 0, 5) SubStr
FROM DUAL;

STRING
SUBST
---------- ----ABCDEFGHIJ ABCDE
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'ABCDEFGHIJ' String,
SUBSTR('ABCDEFGHIJ', 4) SubStr
FROM DUAL
/

STRING
SUBSTR
---------- ------ABCDEFGHIJ DEFGHIJ
SQL> ED
Wrote file afiedt.buf
1

SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2
3
4*
SQL>

'ABCDEFGHIJ' String,
SUBSTR('ABCDEFGHIJ', 4, 4) SubStr
FROM DUAL
/

STRING
SUBS
---------- ---ABCDEFGHIJ DEFG
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'ABCDEFGHIJ' String,
SUBSTR('ABCDEFGHIJ', -5, 4) SubStr
FROM DUAL
/

STRING
SUBS
---------- ---ABCDEFGHIJ FGHI
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'ABCDEFGHIJ' String,
SUBSTR('ABCDEFGHIJ', 5.25, 4.65) SubStr
FROM DUAL
/

STRING
SUBS
---------- ---ABCDEFGHIJ EFGH
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'ABCDEFGHIJ' String,
SUBSTR('ABCDEFGHIJ', 5, -4) SubStr
FROM DUAL
/

STRING
S
---------- ABCDEFGHIJ
SQL> ED
Wrote file afiedt.buf
1
2
3

SELECT
'ABCDEFGHIJ' String,
NVL(SUBSTR('ABCDEFGHIJ', 5, &GNChars), 'Fatal Error! The Character Picker
is -VE OR 0...') SubStr
4* FROM DUAL
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
Enter value for gnchars: 3
STRING
SUB
---------- --ABCDEFGHIJ EFG
SQL> /
Enter value for gnchars: 0
STRING
SUBSTR
---------- -----------------------------------------------ABCDEFGHIJ Fatal Error! The Character Picker is -VE OR 0...
SQL> /
Enter value for gnchars: -4
STRING
SUBSTR
---------- -----------------------------------------------ABCDEFGHIJ Fatal Error! The Character Picker is -VE OR 0...
SQL> cl scr
SQL>
2
3
4

SELECT Ename, Job, Deptno


FROM Emp
WHERE
SUBSTR(Job, 4, 3) = 'AGE';

ENAME
---------BLAKE
CLARK
JONES

JOB
DEPTNO
--------- ---------MANAGER
30
MANAGER
10
MANAGER
20

SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Job, SUBSTR(Job, 4, 3) SubStr, Deptno
2* FROM Emp
SQL> /
ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
--------PRESIDENT
MANAGER
MANAGER
MANAGER
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
ANALYST
CLERK

SUB
DEPTNO
--- ---------SID
10
AGE
30
AGE
10
AGE
20
ESM
30
ESM
30
ESM
30
RK
30
ESM
30
LYS
20
RK
20

ENAME

JOB
SUB
DEPTNO
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

---------SCOTT
ADAMS
MILLER

--------ANALYST
CLERK
CLERK

--- ---------LYS
20
RK
20
RK
10

14 rows selected.
SQL> cl scr
SQL> SELECT
2 CONCAT(
3
CONCAT(
4
CONCAT(
5
CONCAT(INITCAP(Ename), '''s Designation is '), INITCAP(Job)),
' But He is a '),
6
CONCAT(
7
INITCAP(
SUBSTR(Job, 1, 3)),' Eater.'))
8 FROM Emp
9 WHERE SUBSTR(Job, 4, 3) = UPPER('Age');
CONCAT(CONCAT(CONCAT(CONCAT(INITCAP(ENAME),'''SDESIGNATIONIS
-----------------------------------------------------------Blake's Designation is Manager But He is a Man Eater.
Clark's Designation is Manager But He is a Man Eater.
Jones's Designation is Manager But He is a Man Eater.
SQL> cl scr
SQL>
2
3
4

SELECT
'ORACLE' String,
LENGTH('ORACLE') Length
FROM DUAL;

STRING
LENGTH
------ ---------ORACLE
6
SQL> SELECT
2 Ename||' Your Name is A Collection of '||LENGTH(Ename)||' Characters.'
EnameLength
3 FROM Emp;
ENAMELENGTH
-------------------------------------------------------------------------------KING Your Name is A Collection of 4 Characters.
BLAKE Your Name is A Collection of 5 Characters.
CLARK Your Name is A Collection of 5 Characters.
JONES Your Name is A Collection of 5 Characters.
MARTIN Your Name is A Collection of 6 Characters.
ALLEN Your Name is A Collection of 5 Characters.
TURNER Your Name is A Collection of 6 Characters.
JAMES Your Name is A Collection of 5 Characters.
WARD Your Name is A Collection of 4 Characters.
FORD Your Name is A Collection of 4 Characters.
SMITH Your Name is A Collection of 5 Characters.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAMELENGTH
-------------------------------------------------------------------------------SCOTT Your Name is A Collection of 5 Characters.
ADAMS Your Name is A Collection of 5 Characters.
MILLER Your Name is A Collection of 6 Characters.
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 Ename||' Your Name is A Collection of '||LENGTH(Ename)||' Characters.'
EnameLength
3 FROM Emp
4* WHERE LENGTH(Ename) = &GLength
SQL> /
Enter value for glength: 4
ENAMELENGTH
-------------------------------------------------------------------------------KING Your Name is A Collection of 4 Characters.
WARD Your Name is A Collection of 4 Characters.
FORD Your Name is A Collection of 4 Characters.
SQL> /
Enter value for glength: 5
ENAMELENGTH
-------------------------------------------------------------------------------BLAKE Your Name is A Collection of 5 Characters.
CLARK Your Name is A Collection of 5 Characters.
JONES Your Name is A Collection of 5 Characters.
ALLEN Your Name is A Collection of 5 Characters.
JAMES Your Name is A Collection of 5 Characters.
SMITH Your Name is A Collection of 5 Characters.
SCOTT Your Name is A Collection of 5 Characters.
ADAMS Your Name is A Collection of 5 Characters.
8 rows selected.
SQL> Ed
Wrote file afiedt.buf
1 SELECT
2 Ename||' Your Name is A Collection of '||LENGTH(Ename)||' Characters.'
EnameLength
3 FROM Emp
4* WHERE LENGTH(Ename) = &GLength AND Ename LIKE '%A%'
SQL> /
Enter value for glength: 5
ENAMELENGTH
-------------------------------------------------------------------------------BLAKE Your Name is A Collection of 5 Characters.
CLARK Your Name is A Collection of 5 Characters.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ALLEN Your Name is A Collection of 5 Characters.


JAMES Your Name is A Collection of 5 Characters.
ADAMS Your Name is A Collection of 5 Characters.
SQL> cl scr
SQL> SELECT
2
INITCAP(Ename) Name,
3
Job
4 FROM Emp
5 WHERE LENGTH(Job) = 7;
NAME
---------Blake
Clark
Jones
Ford
Scott

JOB
--------MANAGER
MANAGER
MANAGER
ANALYST
ANALYST

SQL> cl scr
SQL> SELECT
2 INTICAP(Ename),
3 Job
4 FROM Emp
5 WHERE SUBSTR(Job, 4, LENGTH(SUBSTR(Job, 4, 3))) = 'AGE';
INTICAP(Ename),
*
ERROR at line 2:
ORA-00904: "INTICAP": invalid identifier

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
INITCAP(Ename),
Job
FROM Emp
WHERE SUBSTR(Job, 4, LENGTH(SUBSTR(Job, 4, 3))) = 'AGE'
/

INITCAP(EN
---------Blake
Clark
Jones

JOB
--------MANAGER
MANAGER
MANAGER

SQL> cl scr
SQL>
2
3
4

SELECT
'STRING' Original,
INSTR('STRING' , 'R') InString
FROM DUAL;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ORIGIN
INSTRING
------ ---------STRING
3
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'STRING' Original,
INSTR('STRING' , 'RIN', 2) InString
FROM DUAL
/

ORIGIN
INSTRING
------ ---------STRING
3
SQL> fsfx/
SP2-0042: unknown command "fsfx/" - rest of line ignored.
SQL> /
ORIGIN
INSTRING
------ ---------STRING
3
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'STRING' Original,
INSTR('STRING' , 'RN', 2) InString
FROM DUAL
/

ORIGIN
INSTRING
------ ---------STRING
0
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'CORPORATE FLOOR' Original,
INSTR('CORPORATE FLOOR', 'OR', 3, 2) InString
FROM DUAL
/

ORIGINAL
INSTRING
--------------- ---------CORPORATE FLOOR
14
SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1
2
3
4*
SQL>

SELECT
'CORPORATE FLOOR' Original,
INSTR('CORPORATE FLOOR', 'OR', 3, 1) InString
FROM DUAL
/

ORIGINAL
INSTRING
--------------- ---------CORPORATE FLOOR
5
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'CORPORATE FLOOR' Original,
INSTR('CORPORATE FLOOR', 'OR', 2, 1) InString
FROM DUAL
/

ORIGINAL
INSTRING
--------------- ---------CORPORATE FLOOR
2
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'CORPORATE FLOOR' Original,
INSTR('CORPORATE FLOOR', 'OR', 2, 2) InString
FROM DUAL
/

ORIGINAL
INSTRING
--------------- ---------CORPORATE FLOOR
5
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'CORPORATE FLOOR' Original,
INSTR('CORPORATE FLOOR', 'OR', 2, 3) InString
FROM DUAL
/

ORIGINAL
INSTRING
--------------- ---------CORPORATE FLOOR
14
SQL> ED
Wrote file afiedt.buf
1
2
3
4*

SELECT
'CORPORATE FLOOR' Original,
INSTR('CORPORATE FLOOR', 'OR', 5, 3) InString
FROM DUAL
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
ORIGINAL
INSTRING
--------------- ---------CORPORATE FLOOR
0
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'CORPORATE FLOOR' Original,
INSTR('CORPORATE FLOOR', 'OR', -7, 1) InString
FROM DUAL
/

ORIGINAL
INSTRING
--------------- ---------CORPORATE FLOOR
5
SQL> cl scr
SQL>
2
3
4

SELECT
Ename, Job, INSTR(Job, 'A', 1, 2) InString
FROM Emp
WHERE Job = 'MANAGER';

ENAME
---------BLAKE
CLARK
JONES

JOB
INSTRING
--------- ---------MANAGER
4
MANAGER
4
MANAGER
4

SQL> cl scr
SQL>
2
3
4
5
6

SELECT
Ename,
Job Original,
SUBSTR(Job,INSTR(Job, 'A', 1, 2), 3) SubString
FROM Emp
WHERE Job = 'MANAGER';

ENAME
---------BLAKE
CLARK
JONES
SQL>
2
3
4
5
6

ORIGINAL
--------MANAGER
MANAGER
MANAGER

SUB
--AGE
AGE
AGE

SELECT
Ename,
Job Original,
SUBSTR(Job,INSTR(Job, 'A', 1, 2), 3) SubString
FROM Emp
WHERE SUBSTR(Job, INSTR(Job, 'A', 1, 2), 1) = 'A';

ENAME
ORIGINAL SUB
---------- --------- --Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
WARD
FORD
SCOTT

MANAGER
MANAGER
MANAGER
SALESMAN
SALESMAN
SALESMAN
SALESMAN
ANALYST
ANALYST

AGE
AGE
AGE
AN
AN
AN
AN
ALY
ALY

9 rows selected.
SQL> cl scr
SQL>
2
3
4
5

SELECT
'Sample_Text' String,
'String',
'Text'
FROM DUAL;

STRING
'STRIN 'TEX
----------- ------ ---Sample_Text String Text
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
'Sample_Text' String,
SUBSTR('Sample_Text', 1, 6) Sample,
SUBSTR('Sample_Text', 8) Text
FROM DUAL
/

STRING
SAMPLE TEXT
----------- ------ ---Sample_Text Sample Text
SQL> cl scr
SQL>
2
3
4
5

SELECT
'Sample_Text' OrgString,
SUBSTR('Sample_Text', 1, INSTR('Sample_Text', '_', 1, 1) - 1) Sample,
SUBSTR('Sample_Text', INSTR('Sample_Text', '_', 1, 1) + 1) Text
FROM DUAL;

ORGSTRING
SAMPLE TEXT
----------- ------ ---Sample_Text Sample Text
SQL> ED
Wrote file afiedt.buf
1
2
3

SELECT
'&GString1' OrgString,
SUBSTR('&GString2', 1, INSTR('&GString3', '_', 1, 1) - 1) Sample,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4 SUBSTR('&GString4', INSTR('&GString5', '_', 1, 1) + 1) Text


5* FROM DUAL
SQL> /
Enter value for gstring1: CARGO_BASE
Enter value for gstring2: CARGO_BASE
Enter value for gstring3: CARGO_BASE
Enter value for gstring4: CARGO_BASE
Enter value for gstring5: CARGO_BASE
ORGSTRING SAMPL TEXT
---------- ----- ---CARGO_BASE CARGO BASE
SQL> /
Enter value
Enter value
Enter value
Enter value
Enter value

for
for
for
for
for

gstring1:
gstring2:
gstring3:
gstring4:
gstring5:

ATTITUDE_BEHAVIOUR
ATTITUDE_BEHAVIOUR
ATTITUDE_BEHAVIOUR
ATTITUDE_BEHAVIOUR
ATTITUDE_BEHAVIOUR

ORGSTRING
SAMPLE
TEXT
------------------ -------- --------ATTITUDE_BEHAVIOUR ATTITUDE BEHAVIOUR
SQL> COLUMN String1 FORMAT A7
SQL> COLUMN String2 FORMAT A7
SQL> COLUMN String3 FORMAT A7
SQL> SELECT
2 'APPLE_IS_FRUIT' OrgString,
3 SUBSTR('APPLE_IS_FRUIT', 1, INSTR('APPLE_IS_FRUIT', '_', 1, 1) - 1) String1,
4 SUBSTR('APPLE_IS_FRUIT',
5
(INSTR('APPLE_IS_FRUIT', '_', 1, 1) + 1),
6
(INSTR('APPLE_IS_FRUIT', '_', 1, 2) - 1) - ((INSTR('APPLE_IS_FRUIT', '_',
1, 1)))) String2,
7 SUBSTR('APPLE_IS_FRUIT', (INSTR('APPLE_IS_FRUIT', '_', 1, 2) + 1)) String3
8 FROM DUAL;
ORGSTRING
STRING1 STRING2 STRING3
-------------- ------- ------- ------APPLE_IS_FRUIT APPLE
IS
FRUIT
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
2
3
1) 4
5

COLUMN Area FORMAT A4


COLUMN Street FORMAT A6
COLUMN Lane FORMAT A4
COLUMN Sector FORMAT A6
COLUMN Building FORMAT A8
COLUMN Floor FORMAT A8
COLUMN Flat FORMAT A4
COLUMN Door FORMAT A4
SELECT
'125-23-46-235/A/C-12/B' HouseNo,
SUBSTR('125-23-46-235/A/C-12/B', 1, INSTR('125-23-46-235/A/C-12/B', '-', 1,
1) Area,
SUBSTR('125-23-46-235/A/C-12/B',
(INSTR('125-23-46-235/A/C-12/B', '-', 1, 1) + 1),
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

6
(INSTR('125-23-46-235/A/C-12/B', '-', 1, 2)
235/A/C-12/B', '-', 1, 1)))) Street,
7 SUBSTR('125-23-46-235/A/C-12/B',
8
(INSTR('125-23-46-235/A/C-12/B', '-', 1, 2) +
9
(INSTR('125-23-46-235/A/C-12/B', '-', 1, 3)
235/A/C-12/B', '-', 1, 2)))) Lane,
10 SUBSTR('125-23-46-235/A/C-12/B',
11
(INSTR('125-23-46-235/A/C-12/B', '-', 1, 3) +
12
(INSTR('125-23-46-235/A/C-12/B', '/', 1, 1)
235/A/C-12/B', '-', 1, 3)))) Sector,
13 SUBSTR('125-23-46-235/A/C-12/B',
14
(INSTR('125-23-46-235/A/C-12/B', '/', 1, 1) +
15
(INSTR('125-23-46-235/A/C-12/B', '/', 1, 2)
235/A/C-12/B', '/', 1, 1)))) Building,
16 SUBSTR('125-23-46-235/A/C-12/B',
17
(INSTR('125-23-46-235/A/C-12/B', '/', 1, 2) +
18
(INSTR('125-23-46-235/A/C-12/B', '-', 1, 4)
235/A/C-12/B', '/', 1, 2)))) Floor,
19 SUBSTR('125-23-46-235/A/C-12/B',
20
(INSTR('125-23-46-235/A/C-12/B', '-', 1, 4) +
21
(INSTR('125-23-46-235/A/C-12/B', '/', 1, 3)
235/A/C-12/B', '-', 1, 4)))) Flat,
22 SUBSTR('125-23-46-235/A/C-12/B',
23
(INSTR('125-23-46-235/A/C-12/B', '/', 1, 3) +
24 FROM DUAL
25 /

- 1) - ((INSTR('125-23-46-

1),
- 1) - ((INSTR('125-23-46-

1),
- 1) - ((INSTR('125-23-46-

1),
- 1) - ((INSTR('125-23-46-

1),
- 1) - ((INSTR('125-23-46-

1),
- 1) - ((INSTR('125-23-46-

1)) Door

HOUSENO
AREA STREET LANE SECTOR BUILDING FLOOR
FLAT DOOR
---------------------- ---- ------ ---- ------ -------- -------- ---- ---125-23-46-235/A/C-12/B 125 23
46
235
A
C
12
B
SQL> SPOOL OFF
SQL> cl scr
SQL> SET VERIFY OFF
SQL> cl scr
SQL>
2
3
4

SELECT
'Page 1' MyString,
LPAD('Page 1', 15, '*.') LPadded
FROM DUAL;

MYSTRI LPADDED
------ --------------Page 1 *.*.*.*.*Page 1
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'Page 1' MyString,
LPAD('Page 1', 15) LPadded
FROM DUAL
/

MYSTRI LPADDED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

------ --------------Page 1
Page 1
SQL>
2
3
4

SELECT
Ename,
LPAD(Ename, 10, '-') LPad
FROM Emp WHERE Sal >= 2500;

ENAME
---------KING
BLAKE
JONES
FORD
SCOTT

LPAD
---------------KING
-----BLAKE
-----JONES
------FORD
-----SCOTT

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
Ename,
LPAD(Ename, 10) LPad
FROM Emp WHERE Sal >= 2500
/

ENAME
LPAD
---------- ---------KING
KING
BLAKE
BLAKE
JONES
JONES
FORD
FORD
SCOTT
SCOTT
SQL>
2
3
4

SELECT
'Page 1' String1,
RPAD('Page 1' , 15, '*.') RPad
FROM DUAL;

STRING RPAD
------ --------------Page 1 Page 1*.*.*.*.*
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'Page 1' String1,
RPAD('Page 1' , 15) RPad
FROM DUAL
/

STRING RPAD
------ --------------Page 1 Page 1
SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL>
2
3
4

SELECT
Ename,
LPAD(RPAD(Ename, 10, '-'), 15, '-') Center
FROM Emp;

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

CENTER
-------------------KING----------BLAKE---------CLARK---------JONES---------MARTIN--------ALLEN---------TURNER--------JAMES---------WARD----------FORD----------SMITH-----

ENAME
---------SCOTT
ADAMS
MILLER

CENTER
-------------------SCOTT---------ADAMS---------MILLER----

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
Ename,
LPAD(RPAD(Ename, 10), 15) Center
FROM Emp
/

ENAME
CENTER
---------- --------------KING
KING
BLAKE
BLAKE
CLARK
CLARK
JONES
JONES
MARTIN
MARTIN
ALLEN
ALLEN
TURNER
TURNER
JAMES
JAMES
WARD
WARD
FORD
FORD
SMITH
SMITH
ENAME
CENTER
---------- --------------SCOTT
SCOTT
ADAMS
ADAMS
MILLER
MILLER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

14 rows selected.
SQL> cl scr
SQL>
2
3
4

SELECT
'xyzXxyLAST WORD' OrgStr,
LTRIM('xyzXxyLAST WORD', 'xy')
FROM DUAL;

Ltrim

ORGSTR
LTRIM
--------------- ------------xyzXxyLAST WORD zXxyLAST WORD
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'xyzXxyLAST WORD' OrgStr,
LTRIM('xyzXxyLAST WORD', 'xzy')
FROM DUAL
/

Ltrim

ORGSTR
LTRIM
--------------- -----------xyzXxyLAST WORD XxyLAST WORD
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'xyzXxyLAST WORD' OrgStr,
LTRIM('xyzXxyLAST WORD', 'xzyX')
FROM DUAL
/

Ltrim

ORGSTR
LTRIM
--------------- --------xyzXxyLAST WORD LAST WORD
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'
LAST WORD' OrgStr,
LTRIM('
LAST WORD') Ltrim
FROM DUAL
/

ORGSTR
LTRIM
------------------ --------LAST WORD LAST WORD
SQL> cl scr
SQL> SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2 'BROWNINGyxXxy' String
3 RTRIM('BROWNINGyxXxy', 'xy') Rtrim
4 FROM DUAL;
RTRIM('BROWNINGyxXxy', 'xy') Rtrim
*
ERROR at line 3:
ORA-00923: FROM keyword not found where expected

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'BROWNINGyxXxy' String,
RTRIM('BROWNINGyxXxy', 'xy') Rtrim
FROM DUAL
/

STRING
RTRIM
------------- ----------BROWNINGyxXxy BROWNINGyxX
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'BROWNINGyxXxy' String,
RTRIM('BROWNINGyxXxy', 'xyX') Rtrim
FROM DUAL
/

STRING
RTRIM
------------- -------BROWNINGyxXxy BROWNING
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'BROWNING
RTRIM('BROWNING
FROM DUAL
/

' String,
') Rtrim

STRING
RTRIM
----------------- -------BROWNING
BROWNING
SQL> cl scr
SQL>
2
3
4
5

SELECT
Ename, Job, Sal
FROM Emp
WHERE
LTRIM(Job, 'MAN') LIKE 'GER';
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
---------BLAKE
CLARK
JONES

JOB
SAL
--------- ---------MANAGER
2850
MANAGER
2450
MANAGER
2975

SQL> cl scr
SQL>
2
3
4

SELECT
'MITHSS' String,
TRIM('S' FROM 'MITHSS') Trimmed
FROM DUAL;

STRING TRIM
------ ---MITHSS MITH
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'SSMITH' String,
TRIM('S' FROM 'SSMITH') Trimmed
FROM DUAL
/

STRING TRIM
------ ---SSMITH MITH
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'SSMITHSS' String,
TRIM('S' FROM 'SSMITHSS') Trimmed
FROM DUAL
/

STRING
TRIM
-------- ---SSMITHSS MITH
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'SSMITHSS' String,
TRIM(LEADING 'S' FROM 'SSMITHSS') Trimmed
FROM DUAL
/

STRING
TRIMME
-------- -----SSMITHSS MITHSS
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'SSMITHSS' String,
TRIM(TRAILING 'S' FROM 'SSMITHSS') Trimmed
FROM DUAL
/

STRING
TRIMME
-------- -----SSMITHSS SSMITH
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'SSMITHSS' String,
TRIM(BOTH 'S' FROM 'SSMITHSS') Trimmed
FROM DUAL
/

STRING
TRIM
-------- ---SSMITHSS MITH
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'SSMITHSS' String,
3 TRIM(BOTH 'SO' FROM 'SOSMITHSOS') Trimmed
4* FROM DUAL
SQL> /
TRIM(BOTH 'SO' FROM 'SOSMITHSOS') Trimmed
*
ERROR at line 3:
ORA-30001: trim set should have only one character

SQL> cl scr
SQL>
2
3
4

SELECT
'JACK AND JUE' OrgStr,
REPLACE('JACK AND JUE' , 'J', 'BL') Replace
FROM DUAL;

ORGSTR
REPLACE
------------ -------------JACK AND JUE BLACK AND BLUE
SQL> ED
Wrote file afiedt.buf
1
2

SELECT
'JACK AND JUE' OrgStr,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3 REPLACE('JACK AND JUE' , 'J') Replace


4* FROM DUAL
SQL> /
ORGSTR
REPLACE
------------ ---------JACK AND JUE ACK AND UE
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'JACK AND JUE' OrgStr,
3 LENGTH('JACK AND JUE') - LENGTH(REPLACE('JACK AND JUE' , 'J')) "N J's
Found"
4* FROM DUAL
SQL> /
ORGSTR
N J's Found
------------ ----------JACK AND JUE
2
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename,
REPLACE(JOB, 'MAN', 'DAM') Replace
FROM Emp
WHERE Job = 'MANAGER'
/

ENAME
---------BLAKE
CLARK
JONES
SQL>
2
3
4

REPLACE
--------------------------DAMAGER
DAMAGER
DAMAGER

SELECT Ename, Job,


REPLACE (Job, 'P') Replace
FROM Emp
WHERE Job = 'PRESIDENT';

ENAME
JOB
REPLACE
---------- --------- --------KING
PRESIDENT RESIDENT
SQL> cl scr
SQL>
2
3
4

SELECT Job,
REPLACE (Job, 'MAN', 'EXECUTIVE') Replace
FROM Emp
WHERE Job = 'SALESMAN';

JOB
--------REPLACE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

-------------------------------------------------------------------------------SALESMAN
SALESEXECUTIVE
SALESMAN
SALESEXECUTIVE
SALESMAN
SALESEXECUTIVE

JOB
--------REPLACE
-------------------------------------------------------------------------------SALESMAN
SALESEXECUTIVE

SQL> cl scr
SQL>
2
3
4

SELECT
Ename, Job,
TRANSLATE(Job, 'P', ' ') Translate
FROM Emp
WHERE Job = 'PRESIDENT';

ENAME
JOB
TRANSLATE
---------- --------- --------KING
PRESIDENT RESIDENT
SQL> ED
Wrote file afiedt.buf
1 SELECT
Ename, Job,
2 TRANSLATE(Job, 'P') Translate
3 FROM Emp
4* WHERE Job = 'PRESIDENT'
SQL> /
TRANSLATE(Job, 'P') Translate
*
ERROR at line 2:
ORA-00909: invalid number of arguments

SQL>
2
3
4

SELECT Job,
TRANSLATE(Job, 'MN', 'DM') Translate
FROM Emp
WHERE Job = 'MANAGER';

JOB
--------MANAGER
MANAGER
MANAGER

TRANSLATE
--------DAMAGER
DAMAGER
DAMAGER

SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT
2 'The Data is : '||CHR(67)||CHR(65)||CHR(84) Sample
3 FROM DUAL;
SAMPLE
----------------The Data is : CAT
SQL> cl scr
SQL> SELECT
2 'The Character of ASCII '||&GVal1||' is '||CHR(&GVal2) "ASCII 2 CHAR"
3 FROM DUAL;
Enter value for gval1: 1
Enter value for gval2: 1
ASCII 2 CHAR
----------------------------The Character of ASCII 1 is
SQL> /
Enter value for gval1: 2
Enter value for gval2: 2
ASCII 2 CHAR
----------------------------The Character of ASCII 2 is
SQL> /
Enter value for gval1: 3
Enter value for gval2: 3
ASCII 2 CHAR
----------------------------The Character of ASCII 3 is
SQL> /
Enter value for gval1: 4
Enter value for gval2: 4
ASCII 2 CHAR
----------------------------The Character of ASCII 4 is
SQL> /
Enter value for gval1: 5
Enter value for gval2: 5
ASCII 2 CHAR
----------------------------The Character of ASCII 5 is
SQL> cl scr
SQL> COLUMN Empno FORMAT 9999
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL>
SQL>
SQL>
SQL>
SQL>

COLUMN
COLUMN
COLUMN
COLUMN
SELECT

Sal FORMAT 9999


Comm FORMAT 9999
Deptno FORMAT 99
MGR FORMAT 9999
* FROM Emp;

EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20

EMPNO
----7788
7876
7934

ENAME
---------SCOTT
ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

14 rows selected.
SQL> SELECT
2 'Employee Number : '||Empno||CHR(10)||
3 'Employee Name
: '||Ename||CHR(10)||
4 'Employee Job
: '||Job||CHR(10)||
5 'Employee Salary : '||Sal||CHR(10)||
6 'Employee Comm
: '||Comm||CHR(10)||
7 'Employee HireDT : '||HireDate||CHR(10)||
8 'Employee Deptno : '||Deptno||CHR(10)||
9 'Employee MGR
: '||MGR||CHR(10) "Employees Report"
10 FROM Emp
11 WHERE Empno = &GEmpno;
Enter value for gempno: 7839
Employees Report
-------------------------------------------------------------------------------Employee Number : 7839
Employee Name
: KING
Employee Job
: PRESIDENT
Employee Salary : 5000
Employee Comm
:
Employee HireDT : 17-NOV-81
Employee Deptno : 10
Employee MGR
:

SQL> /
Enter value for gempno: 7654
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Employees Report
-------------------------------------------------------------------------------Employee Number : 7654
Employee Name
: MARTIN
Employee Job
: SALESMAN
Employee Salary : 1250
Employee Comm
: 1400
Employee HireDT : 28-SEP-81
Employee Deptno : 30
Employee MGR
: 7698

SQL> /
Enter value for gempno: 7566
Employees Report
-------------------------------------------------------------------------------Employee Number : 7566
Employee Name
: JONES
Employee Job
: MANAGER
Employee Salary : 2975
Employee Comm
:
Employee HireDT : 02-APR-81
Employee Deptno : 20
Employee MGR
: 7839

SQL> cl scr
SQL> SELECT
2 'The ASCII Value of Character '||'&GVal1'||' is ||ASCII('&GVal2') "CHAR 2
ASCII"
3 FROM DUAL;
Enter value for gval1: A
Enter value for gval2: A
ERROR:
ORA-01756: quoted string not properly terminated

SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'The ASCII Value of Character '||'&GVal1'||' is '||ASCII('&GVal2') "CHAR 2
ASCII"
3* FROM DUAL
SQL> /
Enter value for gval1: A
Enter value for gval2: A
CHAR 2 ASCII
-----------------------------------The ASCII Value of Character A is 65
SQL> /
Enter value for gval1: Z
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Enter value for gval2: Z


CHAR 2 ASCII
-----------------------------------The ASCII Value of Character Z is 90
SQL> /
Enter value for gval1: APPLE
Enter value for gval2: APPLE
CHAR 2 ASCII
---------------------------------------The ASCII Value of Character APPLE is 65
SQL> /
Enter value for gval1: SAMPLE
Enter value for gval2: SAMPLE
CHAR 2 ASCII
----------------------------------------The ASCII Value of Character SAMPLE is 83
SQL> cl scr
SQL> CREATE TABLE SampleT
2 (
3
SampID NUMBER(2),
4
SampName VARCHAR2(15)
5 );
Table created.
SQL> INSERT INTO SampleT(SampID, SampName)
2 VALUES(&GSampID, '&GSampName');
Enter value for gsampid: 1
Enter value for gsampname: Sample Name
1 row created.
SQL> /
Enter value for gsampid: 2
Enter value for gsampname: Sample&Name
1 row created.
SQL> ED
Wrote file afiedt.buf
1 INSERT INTO SampleT(SampID, SampName)
2* VALUES(3, 'Sample&Name')
SQL> /
Enter value for name: &Name
1 row created.
SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf


1 INSERT INTO SampleT(SampID, SampName)
2* VALUES(4, 'Sample'||'&'||'Name')
SQL> /
1 row created.
SQL> ED
Wrote file afiedt.buf
1 INSERT INTO SampleT(SampID, SampName)
2* VALUES(5, CONCAT('Sample', CONCAT('&', 'Name')))
SQL> /
1 row created.
SQL> ED
Wrote file afiedt.buf
1 INSERT INTO SampleT(SampID, SampName)
2* VALUES(6, 'Sample'||CHR(ASCII('&'))||'Name')
SQL> /
1 row created.
SQL> SELECT * FROM SampINS;
SELECT * FROM SampINS
*
ERROR at line 1:
ORA-00942: table or view does not exist

SQL> SELECT * FROM SampT;


SELECT * FROM SampT
*
ERROR at line 1:
ORA-00942: table or view does not exist

SQL> SELECT * FROM SampleT;


SAMPID
---------1
2
3
4
5
6

SAMPNAME
--------------Sample Name
Sample&Name
Sample&Name
Sample&Name
Sample&Name
Sample&Name

6 rows selected.
SQL> SPOOL OFF
SQL> SET VERIFY OFF
SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT Ename, Sal, Comm


2 FROM Emp
3 WHERE Sal < Comm;
ENAME
SAL
COMM
---------- ---------- ---------MARTIN
1250
1400
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Comm


FROM Emp
WHERE SIGN(Sal - Comm) = -1
/

ENAME
SAL
COMM
---------- ---------- ---------MARTIN
1250
1400
SQL> cl scr
SQL> SELECT 'The Current calender in Server is : '||SYSDATE Today FROM DUAL;
TODAY
--------------------------------------------The Current calender in Server is : 07-JUL-10
SQL> cl scr
SQL> SELECT SYSDATE Today, SYSDATE + 3 "3 Days"
2 FROM DUAL;
TODAY
3 Days
--------- --------07-JUL-10 10-JUL-10
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
SYSDATE Today,
SYSDATE + 45 "45 Days"
FROM DUAL
/

TODAY
45 Days
--------- --------07-JUL-10 21-AUG-10
SQL> ED
Wrote file afiedt.buf
1
2

SELECT
SYSDATE Today,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3 SYSDATE + 450 "450 Days"


4* FROM DUAL
SQL> /
TODAY
450 Days
--------- --------07-JUL-10 30-SEP-11
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
SYSDATE Today,
SYSDATE - 450 "450 Days"
FROM DUAL
/

TODAY
450 Days
--------- --------07-JUL-10 13-APR-09
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
SYSDATE Today,
SYSDATE - 45 "45 Days"
FROM DUAL
/

TODAY
45 Days
--------- --------07-JUL-10 23-MAY-10
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
SYSDATE Today,
SYSDATE - 5500 "5500 Days"
FROM DUAL
/

TODAY
5500 Days
--------- --------07-JUL-10 16-JUN-95
SQL> cl scr
SQL> SELECT Ename, SYSDATE Today, HireDate, SYSDATE - HireDate DateDiff
2 FROM Emp;
ENAME
---------KING
BLAKE

TODAY
HIREDATE
DATEDIFF
--------- --------- ---------07-JUL-10 17-NOV-81 10459.4756
07-JUL-10 01-MAY-81 10659.4756
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10

09-JUN-81
02-APR-81
28-SEP-81
20-FEB-81
08-SEP-81
03-DEC-81
22-FEB-81
03-DEC-81
17-DEC-80

10620.4756
10688.4756
10509.4756
10729.4756
10529.4756
10443.4756
10727.4756
10443.4756
10794.4756

ENAME
---------SCOTT
ADAMS
MILLER

TODAY
--------07-JUL-10
07-JUL-10
07-JUL-10

HIREDATE
--------09-DEC-82
12-JAN-83
23-JAN-82

DATEDIFF
---------10072.4756
10038.4756
10392.4756

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, SYSDATE Today, HireDate,


TRUNC(SYSDATE - HireDate) DateDiff
FROM Emp
/

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

TODAY
--------07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10

HIREDATE
DATEDIFF
--------- ---------17-NOV-81
10459
01-MAY-81
10659
09-JUN-81
10620
02-APR-81
10688
28-SEP-81
10509
20-FEB-81
10729
08-SEP-81
10529
03-DEC-81
10443
22-FEB-81
10727
03-DEC-81
10443
17-DEC-80
10794

ENAME
---------SCOTT
ADAMS
MILLER

TODAY
--------07-JUL-10
07-JUL-10
07-JUL-10

HIREDATE
DATEDIFF
--------- ---------09-DEC-82
10072
12-JAN-83
10038
23-JAN-82
10392

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5

SELECT Ename, SYSDATE Today, HireDate,


TRUNC(SYSDATE - HireDate) Days,
TRUNC((SYSDATE - HireDate) / 365) Years
FROM Emp
WHERE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

6* TRUNC((SYSDATE - HireDate) / 365) > 28


SQL> /
ENAME
---------BLAKE
CLARK
JONES
ALLEN
WARD
SMITH

TODAY
--------07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10

HIREDATE
DAYS
YEARS
--------- ---------- ---------01-MAY-81
10659
29
09-JUN-81
10620
29
02-APR-81
10688
29
20-FEB-81
10729
29
22-FEB-81
10727
29
17-DEC-80
10794
29

6 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename, SYSDATE Today, HireDate,


TRUNC(HireDate - SYSDATE) Days,
TRUNC((SYSDATE - HireDate) / 365) Years
FROM Emp
WHERE
TRUNC((SYSDATE - HireDate) / 365) > 28
/

ENAME
---------BLAKE
CLARK
JONES
ALLEN
WARD
SMITH

TODAY
--------07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10

HIREDATE
DAYS
YEARS
--------- ---------- ---------01-MAY-81
-10659
29
09-JUN-81
-10620
29
02-APR-81
-10688
29
20-FEB-81
-10729
29
22-FEB-81
-10727
29
17-DEC-80
-10794
29

6 rows selected.
SQL> cl scr
SQL> SELECT Ename, HireDate, SYSDATE, SYSDATE + HireDate Added
2 FROM Emp;
SELECT Ename, HireDate, SYSDATE, SYSDATE + HireDate Added
*
ERROR at line 1:
ORA-00975: date + date not allowed

SQL> cl scr
SQL> SELECT
2 '07-JUL-10' Today,
3 '07-JUL-10' + 3 "3 Days"
4 FROM DUAL;
'07-JUL-10' + 3 "3 Days"
*
ERROR at line 3:
ORA-01722: invalid number
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT
2 SYSDATE Today,
3 SYSDATE - '01-MAY-10' Diff
4 FROM DUAL;
SYSDATE - '01-MAY-10' Diff
*
ERROR at line 3:
ORA-01722: invalid number

SQL> cl scr
SQL>
2
3
4

SELECT
SYSDATE Today,
SYSDATE + 90 "3 Months"
FROM DUAL;

TODAY
3 Months
--------- --------07-JUL-10 05-OCT-10
SQL>
2
3
4

SELECT
SYSDATE ToDay,
ADD_MONTHS(SYSDATE, 3) "3 Months"
FROM DUAL;

TODAY
3 Months
--------- --------07-JUL-10 07-OCT-10
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
SYSDATE ToDay,
ADD_MONTHS(SYSDATE, -3) "3 Months"
FROM DUAL
/

TODAY
3 Months
--------- --------07-JUL-10 07-APR-10
SQL> cl scr
SQL>
2
3
4

SELECT
Ename, Sal, SYSDATE Today, HireDate,
MONTHS_BETWEEN(SYSDATE, HireDate) "Months"
FROM Emp;

ENAME
SAL TODAY
HIREDATE
Months
---------- ---------- --------- --------- ---------KING
5000 07-JUL-10 17-NOV-81 343.693194
BLAKE
2850 07-JUL-10 01-MAY-81 350.209323
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

2450
2975
1250
1600
1500
950
1250
3000
800

07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10
07-JUL-10

09-JUN-81
02-APR-81
28-SEP-81
20-FEB-81
08-SEP-81
03-DEC-81
22-FEB-81
03-DEC-81
17-DEC-80

348.951258
351.177065
345.338355
352.59642
345.983516
343.144807
352.531903
343.144807
354.693194

ENAME
SAL TODAY
HIREDATE
Months
---------- ---------- --------- --------- ---------SCOTT
3000 07-JUL-10 09-DEC-82 330.951258
ADAMS
1100 07-JUL-10 12-JAN-83 329.854484
MILLER
1300 07-JUL-10 23-JAN-82 341.499645
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
Ename, Sal, SYSDATE Today, HireDate,
TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate)) "Months"
FROM Emp
/

ENAME
SAL TODAY
HIREDATE
Months
---------- ---------- --------- --------- ---------KING
5000 07-JUL-10 17-NOV-81
343
BLAKE
2850 07-JUL-10 01-MAY-81
350
CLARK
2450 07-JUL-10 09-JUN-81
348
JONES
2975 07-JUL-10 02-APR-81
351
MARTIN
1250 07-JUL-10 28-SEP-81
345
ALLEN
1600 07-JUL-10 20-FEB-81
352
TURNER
1500 07-JUL-10 08-SEP-81
345
JAMES
950 07-JUL-10 03-DEC-81
343
WARD
1250 07-JUL-10 22-FEB-81
352
FORD
3000 07-JUL-10 03-DEC-81
343
SMITH
800 07-JUL-10 17-DEC-80
354
ENAME
SAL TODAY
HIREDATE
Months
---------- ---------- --------- --------- ---------SCOTT
3000 07-JUL-10 09-DEC-82
330
ADAMS
1100 07-JUL-10 12-JAN-83
329
MILLER
1300 07-JUL-10 23-JAN-82
341
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4

SELECT
Ename, Sal, SYSDATE Today, HireDate,
TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate)) "Months"
FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

5 WHERE
6* TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate)) > 343
SQL> /
ENAME
SAL TODAY
HIREDATE
Months
---------- ---------- --------- --------- ---------BLAKE
2850 07-JUL-10 01-MAY-81
350
CLARK
2450 07-JUL-10 09-JUN-81
348
JONES
2975 07-JUL-10 02-APR-81
351
MARTIN
1250 07-JUL-10 28-SEP-81
345
ALLEN
1600 07-JUL-10 20-FEB-81
352
TURNER
1500 07-JUL-10 08-SEP-81
345
WARD
1250 07-JUL-10 22-FEB-81
352
SMITH
800 07-JUL-10 17-DEC-80
354
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT
Ename, Sal, SYSDATE Today, HireDate,
TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate)) "Months",
TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate) / 12) "Years"
FROM Emp
WHERE
TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate) / 12) > 28
/

ENAME
SAL TODAY
HIREDATE
Months
Years
---------- ---------- --------- --------- ---------- ---------BLAKE
2850 07-JUL-10 01-MAY-81
350
29
CLARK
2450 07-JUL-10 09-JUN-81
348
29
JONES
2975 07-JUL-10 02-APR-81
351
29
ALLEN
1600 07-JUL-10 20-FEB-81
352
29
WARD
1250 07-JUL-10 22-FEB-81
352
29
SMITH
800 07-JUL-10 17-DEC-80
354
29
6 rows selected.
SQL> cl scr
SQL>
2
3
4

SELECT
'07-JUL-10' Today,
ADD_MONTHS('07-JUL-10', 3) Months
FROM DUAL;

TODAY
MONTHS
--------- --------07-JUL-10 07-OCT-10
SQL>
2
3
4
5

SELECT
'07-JUL-10' Today,
'07-FEB-10' Past,
MONTHS_BETWEEN('07-JUL-10', +
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
'07-JUL-10' Today,
'07-FEB-10' Past,
MONTHS_BETWEEN('07-JUL-10', '07-JUL-10') Months
FROM DUAL
/

TODAY
PAST
MONTHS
--------- --------- ---------07-JUL-10 07-FEB-10
0
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
'07-JUL-10' Today,
'07-FEB-10' Past,
MONTHS_BETWEEN('07-JUL-10', '07-FEB-10') Months
FROM DUAL
/

TODAY
PAST
MONTHS
--------- --------- ---------07-JUL-10 07-FEB-10
5
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
'07-JUL-10' Today,
'07-FEB-10' Past,
MONTHS_BETWEEN('07-JUL-10', '10-FEB-10') Months
FROM DUAL
/

TODAY
PAST
MONTHS
--------- --------- ---------07-JUL-10 07-FEB-10 4.90322581
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
'07-JUL-10' Today,
'07-FEB-10' Past,
MONTHS_BETWEEN('07-FEB-10', '07-JUL-10') Months
FROM DUAL
/

TODAY
PAST
MONTHS
--------- --------- ---------07-JUL-10 07-FEB-10
-5
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL>
2
3
4

SELECT
SYSDATE Today,
NEXT_DAY(SYSDATE, 'FRI') "Friday"
FROM DUAL;

TODAY
Friday
--------- --------07-JUL-10 09-JUL-10
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
SYSDATE Today,
NEXT_DAY(SYSDATE, 6) "Friday"
FROM DUAL
/

TODAY
Friday
--------- --------07-JUL-10 09-JUL-10
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
SYSDATE Today,
NEXT_DAY(SYSDATE, 'FRIDAY') "Friday"
FROM DUAL
/

TODAY
Friday
--------- --------07-JUL-10 09-JUL-10
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
SYSDATE Today,
NEXT_DAY(SYSDATE, 'WED') "Wednesday"
FROM DUAL
/

TODAY
Wednesday
--------- --------07-JUL-10 14-JUL-10
SQL> cl scr
SQL>
2
3
4

SELECT
SYSDATE Today,
LAST_DAY(SYSDATE) LastDay
FROM DUAL;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

TODAY
LASTDAY
--------- --------07-JUL-10 31-JUL-10
SQL>
2
3
4
5
6

SELECT
'The Days Left in The Current Month Are : '||
(
LAST_DAY(SYSDATE) - SYSDATE
) "Days Left"
FROM DUAL;

Days Left
-------------------------------------------------------------------------------The Days Left in The Current Month Are : 24
SQL> cl scr
SQL>
2
3
4
5

SELECT
SYSDATE Today,
ROUND(SYSDATE) Round,
TRUNC(SYSDATE) Trunc
FROM DUAL;

TODAY
ROUND
TRUNC
--------- --------- --------07-JUL-10 08-JUL-10 07-JUL-10
SQL>
1
2
3
4
5*

R
SELECT
SYSDATE Today,
ROUND(SYSDATE) Round,
TRUNC(SYSDATE) Trunc
FROM DUAL

TODAY
ROUND
TRUNC
--------- --------- --------07-JUL-10 07-JUL-10 07-JUL-10
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
SYSDATE Today,
ROUND(SYSDATE, 'DAY') Round,
TRUNC(SYSDATE, 'DAY') Trunc
FROM DUAL
/

TODAY
ROUND
TRUNC
--------- --------- --------07-JUL-10 11-JUL-10 04-JUL-10
SQL> R
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1
2
3
4
5*

SELECT
SYSDATE Today,
ROUND(SYSDATE, 'DAY') Round,
TRUNC(SYSDATE, 'DAY') Trunc
FROM DUAL

TODAY
ROUND
TRUNC
--------- --------- --------07-JUL-10 04-JUL-10 04-JUL-10
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
SYSDATE Today,
ROUND(SYSDATE, 'MONTH') Round,
TRUNC(SYSDATE, 'MONTH') Trunc
FROM DUAL
/

TODAY
ROUND
TRUNC
--------- --------- --------07-JUL-10 01-JUL-10 01-JUL-10
SQL> /
TODAY
ROUND
TRUNC
--------- --------- --------16-JUL-10 01-AUG-10 01-JUL-10
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
SYSDATE Today,
ROUND(SYSDATE, 'YEAR') Round,
TRUNC(SYSDATE, 'YEAR') Trunc
FROM DUAL
cl scr

SQL>
1
2
3
4
5*

R
SELECT
SYSDATE Today,
ROUND(SYSDATE, 'YEAR') Round,
TRUNC(SYSDATE, 'YEAR') Trunc
FROM DUAL

TODAY
ROUND
TRUNC
--------- --------- --------07-JUL-10 01-JAN-11 01-JAN-10
SQL> R
1 SELECT
2 SYSDATE Today,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3 ROUND(SYSDATE, 'YEAR') Round,


4 TRUNC(SYSDATE, 'YEAR') Trunc
5* FROM DUAL
TODAY
ROUND
TRUNC
--------- --------- --------07-JUN-10 01-JAN-10 01-JAN-10
SQL> SPOOL OFF
SQL> cl scr
SQL> SET VERIFY OFF
SQL> cl scr
SQL> SELECT Ename, Sal, Comm, Sal - Comm Diff
2 FROM Emp
3 WHERE Comm IS NOT NULL;
ENAME
SAL
COMM
DIFF
---------- ---------- ---------- ---------MARTIN
1250
1400
-150
ALLEN
1600
300
1300
TURNER
1500
0
1500
WARD
1250
500
750
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Sal, Comm,


TO_CHAR(Sal - Comm, '9999MI') Diff
FROM Emp
WHERE Comm IS NOT NULL
/

ENAME
SAL
COMM DIFF
---------- ---------- ---------- ----MARTIN
1250
1400 150ALLEN
1600
300 1300
TURNER
1500
0 1500
WARD
1250
500 750
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Sal, Comm,


TO_CHAR(Sal - Comm, '9999PR') Diff
FROM Emp
WHERE Comm IS NOT NULL
/

ENAME
SAL
COMM DIFF
---------- ---------- ---------- -----MARTIN
1250
1400 <150>
ALLEN
1600
300 1300
TURNER
1500
0 1500
WARD
1250
500
750
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Sal, Comm,


TO_CHAR(Sal - Comm, '9999PT') Diff
FROM Emp
WHERE Comm IS NOT NULL
/

ENAME
SAL
COMM DIFF
---------- ---------- ---------- -----MARTIN
1250
1400 (150)
ALLEN
1600
300 1300
TURNER
1500
0 1500
WARD
1250
500
750
SQL> cl scr
SQL> SELECT
2 'The Roman Number of Decimal '||&GVal1||' is '||
3 TO_CHAR(&GVal2, 'RN') "Deci 2 Roman"
4 FROM DUAL;
Enter value for gval1: 1
Enter value for gval2: 1
Deci 2 Roman
-----------------------------------------------The Roman Number of Decimal 1 is
I
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'The Roman Number of Decimal '||&GVal1||' is '||
3 LTRIM(TO_CHAR(&GVal2, 'RN')) "Deci 2 Roman"
4* FROM DUAL
SQL> /
Enter value for gval1: 8
Enter value for gval2: 8
Deci 2 Roman
-----------------------------------------------The Roman Number of Decimal 8 is VIII
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'The Roman Number of Decimal '||&GVal1||' is '||
3 LTRIM(TO_CHAR(&GVal2, 'rn')) "Deci 2 Roman"
4* FROM DUAL
SQL> /
Enter value for gval1: 8
Enter value for gval2: 8
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Deci 2 Roman
-----------------------------------------------The Roman Number of Decimal 8 is viii
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'The Roman Number of Decimal '||&GVal1||' is '||
3 LTRIM(TO_CHAR(&GVal2, 'RN')) "Deci 2 Roman"
4* FROM DUAL
SQL> /
Enter value for gval1: 2456
Enter value for gval2: 2456
Deci 2 Roman
--------------------------------------------------The Roman Number of Decimal 2456 is MMCDLVI
SQL> /
Enter value for gval1: 3999
Enter value for gval2: 3999
Deci 2 Roman
--------------------------------------------------The Roman Number of Decimal 3999 is MMMCMXCIX
SQL> /
Enter value for gval1: 4000
Enter value for gval2: 4000
Deci 2 Roman
--------------------------------------------------The Roman Number of Decimal 4000 is ###############
SQL> cl scr
SQL>
2
3
4

SELECT
Ename, Sal, Comm, TO_CHAR(Sal - Comm, '9G999D99S') Diff
FROM Emp
WHERE Comm IS NOT NULL;

ENAME
SAL
COMM DIFF
---------- ---------- ---------- --------MARTIN
1250
1400
150.00ALLEN
1600
300 1,300.00+
TURNER
1500
0 1,500.00+
WARD
1250
500
750.00+
SQL> ED
Wrote file afiedt.buf
1
2
3
4*

SELECT
Ename, Sal, Comm, TO_CHAR(Sal - Comm, 'S9G999D99') Diff
FROM Emp
WHERE Comm IS NOT NULL
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
ENAME
SAL
COMM DIFF
---------- ---------- ---------- --------MARTIN
1250
1400
-150.00
ALLEN
1600
300 +1,300.00
TURNER
1500
0 +1,500.00
WARD
1250
500
+750.00
SQL> cl scr
SQL> SELECT
2 'The Hexadecimal Value of Decimal '||&GVal1||' is '||
3 TO_CHAR(&GVal2, 'X') "Deci 2 Hexa"
4 FROM DUAL;
Enter value for gval1: 10
Enter value for gval2: 10
Deci 2 Hexa
----------------------------------------The Hexadecimal Value of Decimal 10 is A
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'The Hexadecimal Value of Decimal '||&GVal1||' is '||
3 TO_CHAR(&GVal2, 'x') "Deci 2 Hexa"
4* FROM DUAL
SQL> /
Enter value for gval1: 10
Enter value for gval2: 10
Deci 2 Hexa
----------------------------------------The Hexadecimal Value of Decimal 10 is a
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'The Hexadecimal Value of Decimal '||&GVal1||' is '||
3 TO_CHAR(&GVal2, 'X') "Deci 2 Hexa"
4* FROM DUAL
SQL> /
Enter value for gval1: 25
Enter value for gval2: 25
Deci 2 Hexa
----------------------------------------The Hexadecimal Value of Decimal 25 is ##
SQL> ED
Wrote file afiedt.buf
1

SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2 'The Hexadecimal Value of Decimal '||&GVal1||' is '||


3 LTRIM(TO_CHAR(&GVal2, 'XXXXXXXXX')) "Deci 2 Hexa"
4* FROM DUAL
SQL> /
Enter value for gval1: 25
Enter value for gval2: 25
Deci 2 Hexa
------------------------------------------------The Hexadecimal Value of Decimal 25 is 19
SQL> /
Enter value for gval1: 2345
Enter value for gval2: 2345
Deci 2 Hexa
--------------------------------------------------The Hexadecimal Value of Decimal 2345 is 929
SQL> /
Enter value for gval1: 45634
Enter value for gval2: 45634
Deci 2 Hexa
---------------------------------------------------The Hexadecimal Value of Decimal 45634 is B242
SQL> cl scr
SQL> SELECT Ename, Sal, Comm
2 FROM Emp;
ENAME
SAL
COMM
---------- ---------- ---------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
1400
ALLEN
1600
300
TURNER
1500
0
JAMES
950
WARD
1250
500
FORD
3000
SMITH
800
ENAME
SAL
COMM
---------- ---------- ---------SCOTT
3000
ADAMS
1100
MILLER
1300
14 rows selected.
SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1
2
3
4*
SQL>

SELECT Ename,
TO_CHAR(Sal, '0999') Sal,
TO_CHAR(Comm, '0999') Comm
FROM Emp
/

ENAME
SAL
COMM
---------- ----- ----KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250 1400
ALLEN
1600 0300
TURNER
1500 0000
JAMES
0950
WARD
1250 0500
FORD
3000
SMITH
0800
ENAME
SAL
COMM
---------- ----- ----SCOTT
3000
ADAMS
1100
MILLER
1300
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename,
TO_CHAR(Sal, '0G999D99') Sal,
TO_CHAR(Comm, '0G999D99') Comm
FROM Emp
/

ENAME
SAL
COMM
---------- --------- --------KING
5,000.00
BLAKE
2,850.00
CLARK
2,450.00
JONES
2,975.00
MARTIN
1,250.00 1,400.00
ALLEN
1,600.00 0,300.00
TURNER
1,500.00 0,000.00
JAMES
0,950.00
WARD
1,250.00 0,500.00
FORD
3,000.00
SMITH
0,800.00
ENAME
SAL
COMM
---------- --------- --------SCOTT
3,000.00
ADAMS
1,100.00
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

MILLER

1,300.00

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename,
TO_CHAR(Sal, '0G999D99') Sal,
TO_CHAR(NVL(Comm, 0), '0G999D99') Comm,
TO_CHAR(Sal + NVL(Comm, 0), '0G999D99') TotSal
FROM Emp
/

ENAME
SAL
COMM
TOTSAL
---------- --------- --------- --------KING
5,000.00 0,000.00 5,000.00
BLAKE
2,850.00 0,000.00 2,850.00
CLARK
2,450.00 0,000.00 2,450.00
JONES
2,975.00 0,000.00 2,975.00
MARTIN
1,250.00 1,400.00 2,650.00
ALLEN
1,600.00 0,300.00 1,900.00
TURNER
1,500.00 0,000.00 1,500.00
JAMES
0,950.00 0,000.00 0,950.00
WARD
1,250.00 0,500.00 1,750.00
FORD
3,000.00 0,000.00 3,000.00
SMITH
0,800.00 0,000.00 0,800.00
ENAME
SAL
COMM
TOTSAL
---------- --------- --------- --------SCOTT
3,000.00 0,000.00 3,000.00
ADAMS
1,100.00 0,000.00 1,100.00
MILLER
1,300.00 0,000.00 1,300.00
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename,
TO_CHAR(Sal, '0G000D00') Sal,
TO_CHAR(NVL(Comm, 0), '0G999D99') Comm,
TO_CHAR(Sal + NVL(Comm, 0), '0G999D99') TotSal
FROM Emp
/

ENAME
SAL
COMM
TOTSAL
---------- --------- --------- --------KING
5,000.00 0,000.00 5,000.00
BLAKE
2,850.00 0,000.00 2,850.00
CLARK
2,450.00 0,000.00 2,450.00
JONES
2,975.00 0,000.00 2,975.00
MARTIN
1,250.00 1,400.00 2,650.00
ALLEN
1,600.00 0,300.00 1,900.00
TURNER
1,500.00 0,000.00 1,500.00
JAMES
0,950.00 0,000.00 0,950.00
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

WARD
FORD
SMITH

1,250.00
3,000.00
0,800.00

0,500.00
0,000.00
0,000.00

1,750.00
3,000.00
0,800.00

ENAME
SAL
COMM
TOTSAL
---------- --------- --------- --------SCOTT
3,000.00 0,000.00 3,000.00
ADAMS
1,100.00 0,000.00 1,100.00
MILLER
1,300.00 0,000.00 1,300.00
14 rows selected.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename,
TO_CHAR(Sal, '0G999D99C') Sal,
TO_CHAR(NVL(Comm, 0), '0G999D99C') Comm,
TO_CHAR(Sal + NVL(Comm, 0), '0G999D99C') TotSal
FROM Emp
/

ENAME
SAL
COMM
TOTSAL
---------- ---------------- ---------------- ---------------KING
5,000.00USD
0,000.00USD
5,000.00USD
BLAKE
2,850.00USD
0,000.00USD
2,850.00USD
CLARK
2,450.00USD
0,000.00USD
2,450.00USD
JONES
2,975.00USD
0,000.00USD
2,975.00USD
MARTIN
1,250.00USD
1,400.00USD
2,650.00USD
ALLEN
1,600.00USD
0,300.00USD
1,900.00USD
TURNER
1,500.00USD
0,000.00USD
1,500.00USD
JAMES
0,950.00USD
0,000.00USD
0,950.00USD
WARD
1,250.00USD
0,500.00USD
1,750.00USD
FORD
3,000.00USD
0,000.00USD
3,000.00USD
SMITH
0,800.00USD
0,000.00USD
0,800.00USD
ENAME
SAL
COMM
TOTSAL
---------- ---------------- ---------------- ---------------SCOTT
3,000.00USD
0,000.00USD
3,000.00USD
ADAMS
1,100.00USD
0,000.00USD
1,100.00USD
MILLER
1,300.00USD
0,000.00USD
1,300.00USD
14 rows selected.
SQL> cl scr
SQL> SELECT
2 'Today is : '||SYSDATE||TO_CHAR(SYSDATE, 'B.C.') Today
3 FROM DUAL;
TODAY
-----------------------Today is : 09-JUL-10A.D.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT
'Today is : '||SYSDATE||TO_CHAR(SYSDATE, ' B.C.') Today
FROM DUAL
/

TODAY
------------------------Today is : 09-JUL-10 A.D.
SQL> SELECT Ename, Sal, HireDate||TO_CHAR(HireDate, ' B.C.') HireDate
2 FROM Emp;
ENAME
SAL HIREDATE
---------- ---------- -------------KING
5000 17-NOV-81 A.D.
BLAKE
2850 01-MAY-81 A.D.
CLARK
2450 09-JUN-81 A.D.
JONES
2975 02-APR-81 A.D.
MARTIN
1250 28-SEP-81 A.D.
ALLEN
1600 20-FEB-81 A.D.
TURNER
1500 08-SEP-81 A.D.
JAMES
950 03-DEC-81 A.D.
WARD
1250 22-FEB-81 A.D.
FORD
3000 03-DEC-81 A.D.
SMITH
800 17-DEC-80 A.D.
ENAME
SAL HIREDATE
---------- ---------- -------------SCOTT
3000 09-DEC-82 A.D.
ADAMS
1100 12-JAN-83 A.D.
MILLER
1300 23-JAN-82 A.D.
14 rows selected.
SQL> cl cr
SP2-0158: unknown CLEAR option "cr"
SQL> cl scr
SQL>
2
3
4

SELECT
'The Meridian in My Clock is : '||
TO_CHAR(SYSDATE, 'P.M.') Meridian
FROM DUAL;

MERIDIAN
---------------------------------The Meridian in My Clock is : A.M.
SQL> cl scr
SQL>
2
3
4

SELECT
'The Current Date is '||
SYSDATE||' '||TO_CHAR(SYSDATE, 'CC, B.C.') Calendar
FROM DUAL;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

CALENDAR
-------------------------------------The Current Date is 09-JUL-10 21, A.D.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'The Current Date is '||
SYSDATE||' '||TO_CHAR(SYSDATE, 'SCC, B.C.') Calendar
FROM DUAL
/

CALENDAR
--------------------------------------The Current Date is 09-JUL-10 21, A.D.
SQL> cl scr
SQL>
2
3
4

SELECT
Ename,
HireDate||' '||TO_CHAR(HireDate, 'CC, B.C.') HireDate
FROM Emp;

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

HIREDATE
-----------------17-NOV-81 20, A.D.
01-MAY-81 20, A.D.
09-JUN-81 20, A.D.
02-APR-81 20, A.D.
28-SEP-81 20, A.D.
20-FEB-81 20, A.D.
08-SEP-81 20, A.D.
03-DEC-81 20, A.D.
22-FEB-81 20, A.D.
03-DEC-81 20, A.D.
17-DEC-80 20, A.D.

ENAME
---------SCOTT
ADAMS
MILLER

HIREDATE
-----------------09-DEC-82 20, A.D.
12-JAN-83 20, A.D.
23-JAN-82 20, A.D.

14 rows selected.
SQL> cl scr
SQL>
2
3
4

SELECT
'The Weekday Number of Today : '||
TO_CHAR(SYSDATE, 'D') WeekDay
FROM DUAL;

WEEKDAY
------------------------------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

The Weekday Number of Today : 6


SQL>
2
3
4

SELECT
Ename||' You Joined on The Weekday of '||
TO_CHAR(HireDate, 'D') WeekDay
FROM Emp;

WEEKDAY
----------------------------------------KING You Joined on The Weekday of 3
BLAKE You Joined on The Weekday of 6
CLARK You Joined on The Weekday of 3
JONES You Joined on The Weekday of 5
MARTIN You Joined on The Weekday of 2
ALLEN You Joined on The Weekday of 6
TURNER You Joined on The Weekday of 3
JAMES You Joined on The Weekday of 5
WARD You Joined on The Weekday of 1
FORD You Joined on The Weekday of 5
SMITH You Joined on The Weekday of 4
WEEKDAY
----------------------------------------SCOTT You Joined on The Weekday of 5
ADAMS You Joined on The Weekday of 4
MILLER You Joined on The Weekday of 7
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 Ename||' You Joined on The Weekday of '||
3 TO_CHAR(HireDate, 'D') WeekDay
4 FROM Emp
5* WHERE TO_CHAR(HireDate, 'D') = &GWeekday
SQL> /
Enter value for gweekday: 1
WEEKDAY
----------------------------------------WARD You Joined on The Weekday of 1
SQL> /
Enter value for gweekday: 7
WEEKDAY
----------------------------------------MILLER You Joined on The Weekday of 7
SQL> /
Enter value for gweekday: 3
WEEKDAY
----------------------------------------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

KING You Joined on The Weekday of 3


CLARK You Joined on The Weekday of 3
TURNER You Joined on The Weekday of 3
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT
'Today is '||SYSDATE||TO_CHAR(SYSDATE, ' Day') Today
FROM DUAL
/

TODAY
---------------------------Today is 09-JUL-10 Friday
SQL> cl scr
SQL>
2
3
4

SELECT
Ename||' You Are Recruited on '||HireDate||
TO_CHAR(HireDate, ' Day') Hiredate
FROM Emp;

HIREDATE
--------------------------------------------------KING You Are Recruited on 17-NOV-81 Tuesday
BLAKE You Are Recruited on 01-MAY-81 Friday
CLARK You Are Recruited on 09-JUN-81 Tuesday
JONES You Are Recruited on 02-APR-81 Thursday
MARTIN You Are Recruited on 28-SEP-81 Monday
ALLEN You Are Recruited on 20-FEB-81 Friday
TURNER You Are Recruited on 08-SEP-81 Tuesday
JAMES You Are Recruited on 03-DEC-81 Thursday
WARD You Are Recruited on 22-FEB-81 Sunday
FORD You Are Recruited on 03-DEC-81 Thursday
SMITH You Are Recruited on 17-DEC-80 Wednesday
HIREDATE
--------------------------------------------------SCOTT You Are Recruited on 09-DEC-82 Thursday
ADAMS You Are Recruited on 12-JAN-83 Wednesday
MILLER You Are Recruited on 23-JAN-82 Saturday
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
Ename||' You Are Recruited on '||HireDate||
TO_CHAR(HireDate, ' Day') Hiredate
FROM Emp
WHERE TO_CHAR(HireDate, ' Day') = 'Friday'
/

no rows selected
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
Ename||' You Are Recruited on '||HireDate||
TO_CHAR(HireDate, ' Day') Hiredate
FROM Emp
WHERE RTRIM(TO_CHAR(HireDate, 'Day')) = 'Friday'
/

HIREDATE
--------------------------------------------------BLAKE You Are Recruited on 01-MAY-81 Friday
ALLEN You Are Recruited on 20-FEB-81 Friday
SQL>
2
3
4

SELECT
'We Are on the Day '||TO_CHAR(SYSDATE, 'DD')||
' of This Month.' MonthDay
FROM DUAL;

MONTHDAY
----------------------------------We Are on the Day 09 of This Month.
SQL> SELECT Ename, HireDate, Sal
2 FROM Emp
3 WHERE TO_CHAR(HireDate, 'DD') = 3;
ENAME
---------JAMES
FORD

HIREDATE
SAL
--------- ---------03-DEC-81
950
03-DEC-81
3000

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'The Current day Running in This Year : '||
TO_CHAR(SYSDATE, 'DDD') Yearday
FROM DUAL
/

YEARDAY
-----------------------------------------The Current day Running in This Year : 190
SQL>
2
3
4

SELECT Ename, Sal, HireDate


FROM Emp
WHERE
TO_CHAR(HireDate, 'DDD') > 245;

ENAME
SAL HIREDATE
---------- ---------- --------KING
5000 17-NOV-81
MARTIN
1250 28-SEP-81
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

TURNER
JAMES
FORD
SMITH
SCOTT

1500
950
3000
800
3000

08-SEP-81
03-DEC-81
03-DEC-81
17-DEC-80
09-DEC-82

7 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Sal, HireDate


FROM Emp
WHERE
TO_CHAR(HireDate, 'DDD') BETWEEN 245 AND 300
/

ENAME
SAL HIREDATE
---------- ---------- --------MARTIN
1250 28-SEP-81
TURNER
1500 08-SEP-81
SQL> cl scr
SQL> SELECT
2 'Today is : '||TO_CHAr(SYSDATE, 'DY') Today
3 FROM DUAL;
TODAY
-------------Today is : FRI
SQL> cl scr
SQL>
2
3
4

SELECT
'The Current Week of This Year is : '
||TO_CHAR(SYSDATE, 'IW') YearWeek
FROM DUAL;

YEARWEEK
------------------------------------The Current Week of This Year is : 27
SQL> cl scr
SQL>
2
3
4

SELECT
Ename, Sal, HireDate, TO_CHAR(HireDate, 'IW') YearWeek
FROM Emp
WHERE TO_CHAR(HireDate, 'IW') > 25;

ENAME
SAL HIREDATE YE
---------- ---------- --------- -KING
5000 17-NOV-81 47
MARTIN
1250 28-SEP-81 40
TURNER
1500 08-SEP-81 37
JAMES
950 03-DEC-81 49
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

FORD
SMITH
SCOTT

3000 03-DEC-81 49
800 17-DEC-80 51
3000 09-DEC-82 49

7 rows selected.
SQL> SPOOL OFF
SQL> cl scr
SQL> SELECT
2 'The Current Year is : '||TO_CHAR(SYSDATE, 'IYYY, B.C.') ThisYear
3 FROM DUAL;
THISYEAR
-------------------------------The Current Year is : 2010, A.D.
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'The Current Year is : '||TO_CHAR(SYSDATE, 'IYYY, B.C. "Century : "CC')
ThisYear
3* FROM DUAL
SQL> /
THISYEAR
--------------------------------------------The Current Year is : 2010, A.D. Century : 21
SQL> SELECT
2 Ename||'''s Recruited Year is '||TO_CHAR(HireDate, 'IYYY, B.C.') EmpHire
3 FROM Emp;
EMPHIRE
----------------------------------------KING's Recruited Year is 1981, A.D.
BLAKE's Recruited Year is 1981, A.D.
CLARK's Recruited Year is 1981, A.D.
JONES's Recruited Year is 1981, A.D.
MARTIN's Recruited Year is 1981, A.D.
ALLEN's Recruited Year is 1981, A.D.
TURNER's Recruited Year is 1981, A.D.
JAMES's Recruited Year is 1981, A.D.
WARD's Recruited Year is 1981, A.D.
FORD's Recruited Year is 1981, A.D.
SMITH's Recruited Year is 1980, A.D.
EMPHIRE
----------------------------------------SCOTT's Recruited Year is 1982, A.D.
ADAMS's Recruited Year is 1983, A.D.
MILLER's Recruited Year is 1982, A.D.
14 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
Ename||'''s Recruited Year is '||
TO_CHAR(HireDate, 'YYYY "=>" Year, B.C.') EmpHire
FROM Emp
/

EMPHIRE
-------------------------------------------------------------------------------KING's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
BLAKE's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
CLARK's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
JONES's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
MARTIN's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
ALLEN's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
TURNER's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
JAMES's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
WARD's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
FORD's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
SMITH's Recruited Year is 1980 => Nineteen Eighty, A.D.
EMPHIRE
-------------------------------------------------------------------------------SCOTT's Recruited Year is 1982 => Nineteen Eighty-Two, A.D.
ADAMS's Recruited Year is 1983 => Nineteen Eighty-Three, A.D.
MILLER's Recruited Year is 1982 => Nineteen Eighty-Two, A.D.
14 rows selected.
SQL>
2
3
4

SELECT
'The Current Year is : '||
TO_CHAR(SYSDATE, 'YYYY "=>" Year, B.C.') Year
FROM DUAl;

YEAR
-----------------------------------------------------------------------------The Current Year is : 2010 => Twenty Ten, A.D.
SQL> cl scr
SQL>
2
3
4

SELECT
'The Current Week in This Month is : '||
TO_CHAR(SYSDATE, 'W') MonthWeek
FROM DUAl;

MONTHWEEK
------------------------------------The Current Week in This Month is : 2
SQL> SELECT
2 Ename, Sal, HireDate, Job
3 FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

WHERE TO_CHAR(HireDate, 'W') = 3;

ENAME
SAL HIREDATE JOB
---------- ---------- --------- --------KING
5000 17-NOV-81 PRESIDENT
ALLEN
1600 20-FEB-81 SALESMAN
SMITH
800 17-DEC-80 CLERK
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT
Ename, Sal, HireDate, Job
FROM Emp
WHERE
TO_CHAR(HireDate, 'YYYY') = 1981 AND
TO_CHAR(HireDate, 'W') = 3
/

ENAME
SAL HIREDATE JOB
---------- ---------- --------- --------KING
5000 17-NOV-81 PRESIDENT
ALLEN
1600 20-FEB-81 SALESMAN
SQL> cl scr
SQL>
2
3
4

SELECT
'The Current Quarter of This Year : '||
TO_CHAR(SYSDATE, 'Q') MyDate
FROM DUAL;

MYDATE
-----------------------------------The Current Quarter of This Year : 3
SQL>
2
3
4
5

SELECT
Ename, HireDate, Deptno, Job, Sal
FROM Emp
WHERE
TO_CHAR(HireDate, 'YYYY') = 1981;

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD

HIREDATE
DEPTNO JOB
SAL
--------- ---------- --------- ---------17-NOV-81
10 PRESIDENT
5000
01-MAY-81
30 MANAGER
2850
09-JUN-81
10 MANAGER
2450
02-APR-81
20 MANAGER
2975
28-SEP-81
30 SALESMAN
1250
20-FEB-81
30 SALESMAN
1600
08-SEP-81
30 SALESMAN
1500
03-DEC-81
30 CLERK
950
22-FEB-81
30 SALESMAN
1250
03-DEC-81
20 ANALYST
3000

10 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT
Ename, HireDate, Deptno, Job, Sal
FROM Emp
WHERE
TO_CHAR(HireDate, 'YYYY') = 1981 AND
TO_CHAR(hireDate, 'Q') = 3
/

ENAME
---------MARTIN
TURNER

HIREDATE
DEPTNO JOB
SAL
--------- ---------- --------- ---------28-SEP-81
30 SALESMAN
1250
08-SEP-81
30 SALESMAN
1500

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT
Ename, HireDate, Deptno, Job, Sal
FROM Emp
WHERE
TO_CHAR(HireDate, 'YYYY') = 1981 AND
TO_CHAR(HireDate, 'Q') = 3 AND
TO_CHAR(HireDate, 'W') = 4
/

ENAME
HIREDATE
DEPTNO JOB
SAL
---------- --------- ---------- --------- ---------MARTIN
28-SEP-81
30 SALESMAN
1250
SQL> cl scr
SQL> SELECT
2 'The Number of Days Completed '||CHR(10)||
3 'Since January 1ST 4712 B.C To '||CHR(10)||
4 'July 12TH 2010 A.C. Are : '||(TO_CHAR(SYSDATE, J') - 1) "Julian Days"
5 FROm DUAL;
ERROR:
ORA-01756: quoted string not properly terminated

SQL> Ed
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
'The Number of Days Completed '||CHR(10)||
'Since January 1ST 4712 B.C To '||CHR(10)||
'July 12TH 2010 A.C. Are : '||(TO_CHAR(SYSDATE,
FROm DUAL
/

'J') - 1) "Julian Days"

Julian Days
-------------------------------------------------------------------------------The Number of Days Completed
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Since January 1ST 4712 B.C To


July 12TH 2010 A.C. Are : 2455389

SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'The Number of Days Completed '||CHR(10)||
3 'Since January 1ST 4712 B.C To '||CHR(10)||
4 'July 12TH 2010 A.D. Are : '||(TO_CHAR(SYSDATE,
"Julian Days"
5* FROm DUAL
SQL> /

'J') - 1)||' Days.'

Julian Days
-------------------------------------------------------------------------------The Number of Days Completed
Since January 1ST 4712 B.C To
July 12TH 2010 A.D. Are : 2455389 Days.

SQL> SELECT 'The Julian Day of Today is : '||TO_CHAR(SYSDATE, 'J') Julian


2 FROM DUAL;
JULIAN
-----------------------------------The Julian Day of Today is : 2455390
SQL> cl scr
SQL>
2
3
4

SELECT
'The Different Days Are : '||
TO_CHAR(SYSDATE, 'J, DDD, DD, D') Days
FROM DUAL;

DAYS
-------------------------------------------The Different Days Are : 2455390, 193, 12, 2
SQL> cl scr
SQL> SELECT 'The Current Month is '||TO_CHAR(SYSDATE, 'MM') Month
2 FROM DUAL;
MONTH
----------------------The Current Month is 07
SQL>
2
3
4

SELECT Ename, HireDate, Sal, Job


FROM Emp
WHERE TO_CHAR(HireDate, 'YYYY') = 1981 AND
TO_CHAR(HireDate, 'MM') = 9;

ENAME
HIREDATE
SAL JOB
---------- --------- ---------- --------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

MARTIN
TURNER

28-SEP-81
08-SEP-81

1250 SALESMAN
1500 SALESMAN

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, TO_CHAR(HireDate, 'DD-MM-YYYY') HireDate,


FROM Emp
WHERE TO_CHAR(HireDate, 'YYYY') = 1981 AND
TO_CHAR(HireDate, 'MM') = 9
/

ENAME
---------MARTIN
TURNER

Sal, Job

HIREDATE
SAL JOB
---------- ---------- --------28-09-1981
1250 SALESMAN
08-09-1981
1500 SALESMAN

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, TO_CHAR(HireDate, 'Day, DD-MM-YYYY B.C.') HireDate,


FROM Emp
WHERE TO_CHAR(HireDate, 'YYYY') = 1981 AND
TO_CHAR(HireDate, 'MM') = 9
/

ENAME
---------MARTIN
TURNER

Sal, Job

HIREDATE
SAL JOB
-------------------------- ---------- --------Monday
, 28-09-1981 A.D.
1250 SALESMAN
Tuesday , 08-09-1981 A.D.
1500 SALESMAN

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename,
TO_CHAR(HireDate, 'Day, DD-MM, Year B.C.') HireDate
FROM Emp
WHERE TO_CHAR(HireDate, 'YYYY') = 1981 AND
TO_CHAR(HireDate, 'MM') = 9
/

ENAME
---------MARTIN
TURNER

HIREDATE
----------------------------------------------------------------Monday
, 28-09, Nineteen Eighty-One A.D.
Tuesday , 08-09, Nineteen Eighty-One A.D.

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename,
TO_CHAR(HireDate, 'Day, DD, Month, Year B.C.') HireDate
FROM Emp
WHERE TO_CHAR(HireDate, 'YYYY') = 1981 AND
TO_CHAR(HireDate, 'MM') = 9
/
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
---------HIREDATE
------------------------------------------------------------------------MARTIN
Monday
, 28, September, Nineteen Eighty-One A.D.
TURNER
Tuesday

, 08, September, Nineteen Eighty-One A.D.

SQL> ED
Wrote file afiedt.buf
1
2
3*
4

SELECT Ename,
TO_CHAR(HireDate, 'Day, DD, Month, Year B.C.') HireDate
FROM Emp
/

ENAME
---------HIREDATE
------------------------------------------------------------------------KING
Tuesday , 17, November , Nineteen Eighty-One A.D.
BLAKE
Friday

, 01, May

, Nineteen Eighty-One A.D.

CLARK
Tuesday

, 09, June

, Nineteen Eighty-One A.D.

ENAME
---------HIREDATE
------------------------------------------------------------------------JONES
Thursday , 02, April
, Nineteen Eighty-One A.D.
MARTIN
Monday

, 28, September, Nineteen Eighty-One A.D.

ALLEN
Friday

, 20, February , Nineteen Eighty-One A.D.

ENAME
---------HIREDATE
------------------------------------------------------------------------TURNER
Tuesday , 08, September, Nineteen Eighty-One A.D.
JAMES
Thursday , 03, December , Nineteen Eighty-One A.D.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

WARD
Sunday

, 22, February , Nineteen Eighty-One A.D.

ENAME
---------HIREDATE
------------------------------------------------------------------------FORD
Thursday , 03, December , Nineteen Eighty-One A.D.
SMITH
Wednesday, 17, December , Nineteen Eighty A.D.
SCOTT
Thursday , 09, December , Nineteen Eighty-Two A.D.

ENAME
---------HIREDATE
------------------------------------------------------------------------ADAMS
Wednesday, 12, January , Nineteen Eighty-Three A.D.
MILLER
Saturday , 23, January

, Nineteen Eighty-Two A.D.

14 rows selected.
SQL> cl scr
SQL>
2
3
4

SELECT
'The Current Hour in My Server is : '||
TO_CHAR(SYSDATE, 'HH') Hour
FROM DUAL;

HOUR
------------------------------------The Current Hour in My Server is : 11
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'The Current Hour in My Server is : '||
TO_CHAR(SYSDATE, 'HH, P.M.') Hour
FROM DUAL
/

HOUR
------------------------------------------The Current Hour in My Server is : 11, A.M.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'The Current Time in My Server is : '||
TO_CHAR(SYSDATE, 'HH:MI:SS P.M.') MyTime
FROM DUAL
/

MYTIME
-----------------------------------------------The Current Time in My Server is : 11:44:25 A.M.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'The Current Time in My Server is : '||
TO_CHAR(SYSDATE, 'HH" Hours" MI" Minutes" SS" Seconds" P.M.') MyTime
FROM DUAL
/

MYTIME
---------------------------------------------------------------------The Current Time in My Server is : 11 Hours 45 Minutes 23 Seconds A.M.
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'The Current Calender : '||
3 TO_CHAR(SYSDATE, 'Day, DD, Month, Year B.C., HH" Hours" MI" Minutes" SS"
Seconds" P.M.') MyCalender
4* FROM DUAL
SQL> /
TO_CHAR(SYSDATE, 'Day, DD, Month, Year B.C., HH" Hours" MI" Minutes" SS"
Seconds" P.M.') MyCalender
*
ERROR at line 3:
ORA-01801: date format is too long for internal buffer

SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'The Current Calender : '||
3 TO_CHAR(SYSDATE, 'Day, DD, Month, Year B.C.')||
4 TO_CHAR(SYSDATE, ", HH" Hours" MI" Minutes" SS" Seconds" P.M.') MyCalender
5* FROM DUAL
SQL> /
ERROR:
ORA-01740: missing double quote in identifier

SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf


1
2
3
4
5*
SQL>

SELECT
'The Current Calender : '||
TO_CHAR(SYSDATE, 'Day, DD, Month, Year B.C.')||
TO_CHAR(SYSDATE, ', HH" Hours" MI" Minutes" SS" Seconds" P.M.') MyCalender
FROM DUAL
/

MYCALENDER
-------------------------------------------------------------------------------The Current Calender : Monday
, 12, July
, Twenty Ten A.D., 11 Hours 48 Mi
nutes 03 Seconds A.M.

SQL> cl scr
SQL> SELECT
2 SYSDATE, TO_CHAR(SYSDATE, 'DD-RM-YYYY') Today
3 FROM DUAL;
SYSDATE
TODAY
--------- -----------12-JUL-10 12-VII -2010
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT
SYSDATE, TO_CHAR(SYSDATE, 'DD-rm-YYYY') Today
FROM DUAL
/

SYSDATE
TODAY
--------- -----------12-JUL-10 12-vii -2010
SQL> cl scr
SQL>
2
3
4

SELECT
'The Seconds Since 12.00 A.M. : '||
TO_CHAR(SYSDATE, 'SSSSS') Seconds
FROM DUAL;

SECONDS
-----------------------------------The Seconds Since 12.00 A.M. : 42702
SQL> /
SECONDS
-----------------------------------The Seconds Since 12.00 A.M. : 42710
SQL> /
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SECONDS
-----------------------------------The Seconds Since 12.00 A.M. : 42713
SQL> /
SECONDS
-----------------------------------The Seconds Since 12.00 A.M. : 42716
SQL> cl scr
SQL>
2
3
4

SELECT
'The Current Date is : '||
TO_CHAR(SYSDATE, 'DDTH, Month Year B.C.') MyDate
FROM DUAL;

MYDATE
-------------------------------------------------------------------------------The Current Date is : 12TH, July
Twenty Ten A.D.
SQL> /
MYDATE
-------------------------------------------------------------------------------The Current Date is : 01ST, July
Twenty Ten A.D.
SQL> /
MYDATE
-------------------------------------------------------------------------------The Current Date is : 02ND, July
Twenty Ten A.D.
SQL> /
MYDATE
-------------------------------------------------------------------------------The Current Date is : 03RD, July
Twenty Ten A.D.
SQL> /
MYDATE
-------------------------------------------------------------------------------The Current Date is : 12TH, July
Twenty Ten A.D.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'The Current Date is : '||
TO_CHAR(SYSDATE, 'DDSP, Month Year B.C.') MyDate
FROM DUAL
/

MYDATE
-------------------------------------------------------------------------------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

The Current Date is : TWELVE, July

Twenty Ten A.D.

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'The Current Date is : '||
TO_CHAR(SYSDATE, 'DDSPTH, Month Year B.C.') MyDate
FROM DUAL
/

MYDATE
-------------------------------------------------------------------------------The Current Date is : TWELFTH, July
Twenty Ten A.D.
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'The Current Date is : '||
3 TO_CHAR(SYSDATE, '"Day "DDSPTH "of" MMSPTH" Month" " Year "YYYYSP B.C.')
MyDate
4* FROM DUAL
SQL> /
MYDATE
-------------------------------------------------------------------------------The Current Date is : Day TWELFTH of SEVENTH Month Year TWO THOUSAND TEN A.D.
SQL> cl scr
SQL> SELECT
2 Ename||
3 ' You Are Hired on : '||
4 TO_CHAR(HireDate, 'Day, "Day "DDSPTH "of" Month "Month" "in The Year"
YYYYSP B.C.') EmpHire
5 FROM Emp;
EMPHIRE
-------------------------------------------------------------------------------KING You Are Hired on : Tuesday , Day SEVENTEENTH of November Month in The Yea
r ONE THOUSAND NINE HUNDRED EIGHTY-ONE A.D.
BLAKE You Are Hired on : Friday
, Day FIRST of May
THOUSAND NINE HUNDRED EIGHTY-ONE A.D.

Month in The Year ONE

CLARK You Are Hired on : Tuesday , Day NINTH of June


THOUSAND NINE HUNDRED EIGHTY-ONE A.D.

Month in The Year ONE

JONES You Are Hired on : Thursday , Day SECOND of April


E THOUSAND NINE HUNDRED EIGHTY-ONE A.D.

Month in The Year ON

EMPHIRE
-------------------------------------------------------------------------------MARTIN You Are Hired on : Monday
, Day TWENTY-EIGHTH of September Month in The
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Year ONE THOUSAND NINE HUNDRED EIGHTY-ONE A.D.


ALLEN You Are Hired on : Friday
, Day TWENTIETH of February
ONE THOUSAND NINE HUNDRED EIGHTY-ONE A.D.

Month in The Year

TURNER You Are Hired on : Tuesday , Day EIGHTH of September Month in The Year O
NE THOUSAND NINE HUNDRED EIGHTY-ONE A.D.
JAMES You Are Hired on : Thursday , Day THIRD of December

Month in The Year ONE

EMPHIRE
-------------------------------------------------------------------------------THOUSAND NINE HUNDRED EIGHTY-ONE A.D.
WARD You Are Hired on : Sunday
, Day TWENTY-SECOND of February
ear ONE THOUSAND NINE HUNDRED EIGHTY-ONE A.D.
FORD You Are Hired on : Thursday , Day THIRD of December
THOUSAND NINE HUNDRED EIGHTY-ONE A.D.

Month in The Y

Month in The Year ONE

SMITH You Are Hired on : Wednesday, Day SEVENTEENTH of December


ar ONE THOUSAND NINE HUNDRED EIGHTY A.D.

Month in The Ye

EMPHIRE
-------------------------------------------------------------------------------SCOTT You Are Hired on : Thursday , Day NINTH of December Month in The Year ONE
THOUSAND NINE HUNDRED EIGHTY-TWO A.D.
ADAMS You Are Hired on : Wednesday, Day TWELFTH of January
NE THOUSAND NINE HUNDRED EIGHTY-THREE A.D.

Month in The Year O

MILLER You Are Hired on : Saturday , Day TWENTY-THIRD of January


Year ONE THOUSAND NINE HUNDRED EIGHTY-TWO A.D.

Month in The

14 rows selected.
SQL> cl scr
SQL>
2
3
4

SELECT
'Today is : '||
TO_CHAR(SYSDATE, 'Day, DD, Month YYYY') MyDate
FROM DUAL;

MYDATE
---------------------------------------Today is : Monday
, 12, July
2010
SQL> ED
Wrote file afiedt.buf
1
2
3
4*

SELECT
'Today is : '||
TO_CHAR(SYSDATE, 'FMDay, DD, Month YYYY') MyDate
FROM DUAL
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
MYDATE
---------------------------------------Today is : Monday, 12, July 2010
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'Today is : '||
TO_CHAR(SYSDATE, 'Day, DD, FMMonth YYYY') MyDate
FROM DUAL
/

MYDATE
---------------------------------------Today is : Monday
, 12, July 2010
SQL> cl scr
SQL> SELECT
2 '1,234.00' Num1,
3 '2,345.00' Num2,
4 '1,234.00' + '2,345.00' Result
5 FROM DUAL;
'1,234.00' + '2,345.00' Result
*
ERROR at line 4:
ORA-01722: invalid number

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
'1,234.00' Num1,
'2,345.00' Num2,
TO_CHAR(1234 + 2345, '9G999D99') Result
FROM DUAL
/

NUM1
NUM2
RESULT
-------- -------- --------1,234.00 2,345.00 3,579.00
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT
'1,234.00' Num1,
'2,345.00' Num2,
TO_NUMBER('1,234.00', '9G999D99') +
TO_NUMBER('2,345.00', '9G999D99') Result
FROM DUAL
/
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

NUM1
NUM2
RESULT
-------- -------- ---------1,234.00 2,345.00
3579
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT
'1,234.00' Num1,
'2,345.00' Num2,
TO_CHAR((TO_NUMBER('1,234.00', '9G999D99') +
TO_NUMBER('2,345.00', '9G999D99')), '9G999D99') Result
FROM DUAL
/

NUM1
NUM2
RESULT
-------- -------- --------1,234.00 2,345.00 3,579.00
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT
'1,234.00INR' Num1,
'2,345.00INR' Num2,
TO_NUMBER('1,234.00INR', '9G999D99L', 'NLS_CURRENCY = INR') +
TO_NUMBER('2,345.00INR', '9G999D99L', 'NLS_CURRENCY = INR') Result
FROM DUAL
/

NUM1
NUM2
RESULT
----------- ----------- ---------1,234.00INR 2,345.00INR
3579
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 '1,234.00INR' Num1,
3 '2,345.00INR' Num2,
4 TO_CHAR(
5 (TO_NUMBER('1,234.00INR', '9G999D99L', 'NLS_CURRENCY = INR') +
6 TO_NUMBER('2,345.00INR', '9G999D99L', 'NLS_CURRENCY = INR')), '9G999D99L',
'NLS_CURRENCY = INR') Result
7* FROM DUAL
SQL> /
NUM1
NUM2
RESULT
----------- ----------- ------------------1,234.00INR 2,345.00INR
3,579.00INR
SQL> ED
Wrote file afiedt.buf
1

SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2 '12-JUL-10' Today,
3 '12-JUL-10' + 3 "3 Days"
4* FROM DUAL
SQL> /
'12-JUL-10' + 3 "3 Days"
*
ERROR at line 3:
ORA-01722: invalid number

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'12-JUL-10' Today,
TO_DATE('12-JUL-10', 'DD-MON-YY') + 3 "3 Days"
FROM DUAL
/

TODAY
3 Days
--------- --------12-JUL-10 15-JUL-10
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'Monday, July 12, 2010 A.D.' Today,
3 'Monday, July 12, 2010 A.D.' + 3 "3 Days"
4* FROM DUAL
SQL> /
'Monday, July 12, 2010 A.D.' + 3 "3 Days"
*
ERROR at line 3:
ORA-01722: invalid number

SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'Monday, July 12, 2010 A.D.' Today,
3 TO_DATE('Monday, July 12, 2010 A.D.', 'Day, Month DD, YYYY B.C.') + 3 "3
Days"
4* FROM DUAL
SQL> /
TODAY
3 Days
-------------------------- --------Monday, July 12, 2010 A.D. 15-JUL-10
SQL> ED
Wrote file afiedt.buf
1
2

SELECT
'Monday, July 12, 2010 A.D.' Today,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3 TO_CHAR((TO_DATE('Monday, July 12, 2010 A.D.', 'Day, Month DD, YYYY B.C.')
+ 3), 'Day, Month DD, YYYY B.C.') "3 Days"
4* FROM DUAL
SQL> /
TODAY
3 Days
-------------------------- ---------------------------------Monday, July 12, 2010 A.D. Thursday , July
15, 2010 A.D.
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'Monday, July 12, 2010 A.D.' Today,
3 TO_CHAR((TO_DATE('Monday, July 12, 2010 A.D.', 'Day, Month DD, YYYY B.C.')
+ 3), 'FMDay, Month DD, YYYY B.C.') "3 Days"
4* FROM DUAL
SQL> /
TODAY
3 Days
-------------------------- ---------------------------Monday, July 12, 2010 A.D. Thursday, July 15, 2010 A.D.
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 'Tuesday, July 12, 2010 A.D.' Today,
3 TO_CHAR((TO_DATE('Tuesday, July 12, 2010 A.D.', 'Day, Month DD, YYYY B.C.')
+ 3), 'FMDay, Month DD, YYYY B.C.') "3 Days"
4* FROM DUAL
SQL> /
TO_CHAR((TO_DATE('Tuesday, July 12, 2010 A.D.', 'Day, Month DD, YYYY B.C.') + 3),
'FMDay, Month DD, YYYY B.C.') "3 Days"
*
ERROR at line 3:
ORA-01835: day of week conflicts with Julian date

SQL> SPOOL OFF


SQL> cl scr
SQL> CREATE TABLE SampTab
2 (
3
SampID NUMBER(6),
4
SampDate DATE
5 );
Table created.
SQL> INSERT INTO SampTab
2 VALUES(100000, SYSDATE);
1 row created.
SQL> INSERT INTO SampTab
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

VALUES('100001', SYSDATE);

1 row created.
SQL> INSERT INTO SampTab
2 VALUES('-100002', SYSDATE);
1 row created.
SQL> INSERT INTO SampTab
2 VALUES('100003.25', SYSDATE);
1 row created.
SQL> INSERT INTO SampTab
2 VALUES('100004-', SYSDATE);
VALUES('100004-', SYSDATE)
*
ERROR at line 2:
ORA-01722: invalid number

SQL> INSERT INTO SampTab


2 VALUES(TO_NUMBER('100004-', '999999MI'), SYSDATE);
1 row created.
SQL> SELECT * FROM SampTab;
SAMPID
---------100000
100001
-100002
100003
-100004

SAMPDATE
--------13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10

SQL> INSERT INTO SampTab


2 VALUES('1,00,005', SYSDATE);
VALUES('1,00,005', SYSDATE)
*
ERROR at line 2:
ORA-01722: invalid number

SQL> INSERT INTO SampTab


2 VALUES(TO_NUMBER('1,00,005', '9G99G999'), SYSDATE);
1 row created.
SQL> INSERT INTO SampTab
2 VALUES('<1,00,006>', SYSDATE);
VALUES('<1,00,006>', SYSDATE)
*
ERROR at line 2:
ORA-01722: invalid number
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> INSERT INTO SampTab


2 VALUES(TO_NUMBER('<1,00,006>', '9G99G999PR'), SYSDATE);
1 row created.
SQL> SELECT * FROm SampTab;
SAMPID
---------100000
100001
-100002
100003
-100004
100005
-100006

SAMPDATE
--------13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10

7 rows selected.
SQL> INSERT INTO SampTab
2 VALUES('1,00,007INR', SYSDATE);
VALUES('1,00,007INR', SYSDATE)
*
ERROR at line 2:
ORA-01722: invalid number

SQL> INSERT INTO SampTab


2 VALUES(TO_NUMBER('1,00,007INR', '9G99G999L', 'NLS_CURRENCY = INR'),
SYSDATE);
1 row created.
SQL> SELECT TO_CHAR(100008, 'XXXXXX') Hexa FROM DUAL;
HEXA
------186A8
SQL> INSERT INTO SampTab
2 VALUES('186A8', SYSDATE);
VALUES('186A8', SYSDATE)
*
ERROR at line 2:
ORA-01722: invalid number

SQL> INSERT INTO SampTab


2 VALUES(TO_NUMBER('186A8', 'XXXXXXXX'), SYSDATE);
1 row created.
SQL> SELECT * FROm SampTab;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SAMPID
---------100000
100001
-100002
100003
-100004
100005
-100006
100007
100008

SAMPDATE
--------13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10

9 rows selected.
SQL> INSERT INTO SampTab
2 VALUES(100009, '13-JUL-10');
1 row created.
SQL> INSERT INTO SampTab
2 VALUES(100010, '13-JULY-10');
1 row created.
SQL> INSERT INTO SampTab
2 VALUES(100011, '13-JULY-2010');
1 row created.
SQL> INSERT INTO SampTab
2 VALUES(100012, '13JULY2010');
1 row created.
SQL> INSERT INTO SampTab
2 VALUES(100013, '13072010');
VALUES(100013, '13072010')
*
ERROR at line 2:
ORA-01861: literal does not match format string

SQL> INSERT INTO SampTab


2 VALUES(100013, '13-07-2010');
VALUES(100013, '13-07-2010')
*
ERROR at line 2:
ORA-01843: not a valid month

SQL> cl scr
SQL> SELECT * FROM SampTab;
SAMPID SAMPDATE
---------- --------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

100000
100001
-100002
100003
-100004
100005
-100006
100007
100008
100009
100010

13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10

SAMPID
---------100011
100012

SAMPDATE
--------13-JUL-10
13-JUL-10

13 rows selected.
SQL> SELECT * FROM SampTab
2 WHERE SampDate = SYSDATE;
no rows selected
SQL> SELECT * FROM SampTab
2 WHERE TO_CHAR(SampDate, 'DD-MON-YY') = TO_CHAR(SYSDATE, 'DD-MON-YY');
SAMPID
---------100000
100001
-100002
100003
-100004
100005
-100006
100007
100008
100009
100010

SAMPDATE
--------13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10

SAMPID
---------100011
100012

SAMPDATE
--------13-JUL-10
13-JUL-10

13 rows selected.
SQL> SELECT * FROM SampTab
2 WHERE SampDate = '13-JUL-10';
SAMPID
---------100009
100010
100011

SAMPDATE
--------13-JUL-10
13-JUL-10
13-JUL-10
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

100012 13-JUL-10
SQL> SELECT * FROM SampTab
2 WHERE TO_CHAR(SampDate, 'DD-MON-YY') = '13-JUL-10';
SAMPID
---------100000
100001
-100002
100003
-100004
100005
-100006
100007
100008
100009
100010

SAMPDATE
--------13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10

SAMPID
---------100011
100012

SAMPDATE
--------13-JUL-10
13-JUL-10

13 rows selected.
SQL> cl scr
SQL> SELECT * FROM SampTab;
SAMPID
---------100000
100001
-100002
100003
-100004
100005
-100006
100007
100008
100009
100010

SAMPDATE
--------13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10

SAMPID
---------100011
100012

SAMPDATE
--------13-JUL-10
13-JUL-10

13 rows selected.
SQL> INSERT INTO SampTab
2 VALUES(100013, '13-JUL-2010, 11:59:45 A.M.');
VALUES(100013, '13-JUL-2010, 11:59:45 A.M.')
*
ERROR at line 2:
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ORA-01830: date format picture ends before converting entire input string

SQL> ED
Wrote file afiedt.buf
1 INSERT INTO SampTab
2 VALUES(
3
100013,
4* TO_DATE('13-JUL-2010, 11:59:45 A.M.', 'DD-MON-YYYY, HH:MI:SS P.M.'))
SQL> /
1 row created.
SQL> SELECT * FROm SampTab;
SAMPID
---------100000
100001
-100002
100003
-100004
100005
-100006
100007
100008
100009
100010

SAMPDATE
--------13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10
13-JUL-10

SAMPID
---------100011
100012
100013

SAMPDATE
--------13-JUL-10
13-JUL-10
13-JUL-10

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT SampID, TO_CHAR(SampDate, 'DD-FMMonth-YYYY, HH:MI:SS P.M.') SampDate
2* FROM SampTab
SQL> /
SAMPID
---------100000
100001
-100002
100003
-100004
100005
-100006
100007
100008

SAMPDATE
-------------------------------13-July-2010, 11:13:45 A.M.
13-July-2010, 11:14:19 A.M.
13-July-2010, 11:14:46 A.M.
13-July-2010, 11:15:23 A.M.
13-July-2010, 11:17:20 A.M.
13-July-2010, 11:21:5 A.M.
13-July-2010, 11:22:42 A.M.
13-July-2010, 11:25:0 A.M.
13-July-2010, 11:29:15 A.M.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

100009 13-July-2010, 12:0:0 A.M.


100010 13-July-2010, 12:0:0 A.M.
SAMPID
---------100011
100012
100013

SAMPDATE
-------------------------------13-July-2010, 12:0:0 A.M.
13-July-2010, 12:0:0 A.M.
13-July-2010, 11:59:45 A.M.

14 rows selected.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1 INSERT INTO SampTab
2* VALUES(100014, '12:04:45 P.M.')
SQL> /
VALUES(100014, '12:04:45 P.M.')
*
ERROR at line 2:
ORA-01843: not a valid month

SQL> ED
Wrote file afiedt.buf
1 INSERT INTO SampTab
2* VALUES(100014, TO_DATE('12:04:45 P.M.', 'HH:MI:SS A.M.'))
SQL> /
1 row created.
SQL> SELECT
2 SampID, TO_CHAR(SampDate, 'DD-MON-YYYY, HH:MI:SS A.M.') SampDate
3 FROM SampTab;
SAMPID
---------100000
100001
-100002
100003
-100004
100005
-100006
100007
100008
100009
100010

SAMPDATE
-------------------------13-JUL-2010, 11:13:45 A.M.
13-JUL-2010, 11:14:19 A.M.
13-JUL-2010, 11:14:46 A.M.
13-JUL-2010, 11:15:23 A.M.
13-JUL-2010, 11:17:20 A.M.
13-JUL-2010, 11:21:05 A.M.
13-JUL-2010, 11:22:42 A.M.
13-JUL-2010, 11:25:00 A.M.
13-JUL-2010, 11:29:15 A.M.
13-JUL-2010, 12:00:00 A.M.
13-JUL-2010, 12:00:00 A.M.

SAMPID
---------100011
100012

SAMPDATE
-------------------------13-JUL-2010, 12:00:00 A.M.
13-JUL-2010, 12:00:00 A.M.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

100013 13-JUL-2010, 11:59:45 A.M.


100014 01-JUL-2010, 12:04:45 P.M.
15 rows selected.
SQL> cl scr
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> SELECT * FROM SampTAB;
no rows selected
SQL> INSERT INTO SampTab
2 VALUES(100000, SYSDATE);
1 row created.
SQL> INSERT INTO SampTab
2 VALUES(100001, '13-JUL-2010');
1 row created.
SQL> SELECT SampID, TO_CHAR(SampDate, 'DD-MON-YYYY, CC, B.C.') SampDate
2 FROM SampTab;
SAMPID
---------100000
100001

SAMPDATE
--------------------13-JUL-2010, 21, A.D.
13-JUL-2010, 21, A.D.

SQL> INSERT INTO SampTab


2 VALUES(100002, '13-JUL-2010, B.C.');
VALUES(100002, '13-JUL-2010, B.C.')
*
ERROR at line 2:
ORA-01830: date format picture ends before converting entire input string

SQL> INSERT INTO SampTab


2 VALUES(100002, TO_DATE('13-JUL-2010, B.C.', 'DD-MON-YYYY, A.D'));
VALUES(100002, TO_DATE('13-JUL-2010, B.C.', 'DD-MON-YYYY, A.D'))
*
ERROR at line 2:
ORA-01821: date format not recognized

SQL> ED
Wrote file afiedt.buf
1 INSERT INTO SampTab
2* VALUES(100002, TO_DATE('13-JUL-2010, B.C.', 'DD-MON-YYYY, A.D.'))
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
1 row created.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
SampID,
TO_CHAR(SampDate, 'DD-MON-YYYY, CC, B.C.') SampDate
FROM SampTab
/

SAMPID
---------100000
100001
100002

SAMPDATE
--------------------13-JUL-2010, 21, A.D.
13-JUL-2010, 21, A.D.
13-JUL-2010, 21, B.C.

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
SampID,
TO_CHAR(SampDate, 'DD-MON-YYYY, CC, B.C.') SampDate,
TO_CHAR(SampDate, 'J') Julian
FROM SampTab
/

SAMPID
---------100000
100001
100002

SAMPDATE
--------------------13-JUL-2010, 21, A.D.
13-JUL-2010, 21, A.D.
13-JUL-2010, 21, B.C.

JULIAN
------2455391
2455391
0987099

SQL> INSERT INTO SampTab


2 VALUES(100003, '2455391');
VALUES(100003, '2455391')
*
ERROR at line 2:
ORA-01861: literal does not match format string

SQL> INSERT INTO SampTab


2 VALUES(100003, TO_DATE('2455391', 'J'));
1 row created.
SQL> INSERT INTO SampTab
2 VALUES(100004, TO_DATE('0987099', 'J'));
1 row created.
SQL> SELECT
2 SampID,
3 TO_CHAR(SampDate, 'DD-MON-YYYY, CC, B.C.') SampDate,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4
5

TO_CHAR(SampDate, 'J') Julian


FROM SampTab;

SAMPID
---------100000
100001
100002
100003
100004

SAMPDATE
--------------------13-JUL-2010, 21, A.D.
13-JUL-2010, 21, A.D.
13-JUL-2010, 21, B.C.
13-JUL-2010, 21, A.D.
13-JUL-2010, 21, B.C.

JULIAN
------2455391
2455391
0987099
2455391
0987099

SQL> INSERT INTO SampTab


2 VALUES(100005, TO_DATE('1', 'J'));
1 row created.
SQL> INSERT INTO SampTab
2 VALUES(100005, TO_DATE('0', 'J'));
VALUES(100005, TO_DATE('0', 'J'))
*
ERROR at line 2:
ORA-01854: julian date must be between 1 and 5373484

SQL> INSERT INTO SampTab


2 VALUES(100005, TO_DATE('5373484', 'J'));
1 row created.
SQL> SELECT
2 SampID,
3 TO_CHAR(SampDate, 'DD-MON-YYYY, CC, B.C.') SampDate,
4 TO_CHAR(SampDate, 'J') Julian
5 FROM SampTab;
ERROR:
ORA-01801: date format is too long for internal buffer

no rows selected
SQL> DELETE FROM SampTab
2 WHERE SampID = 100000;
1 row deleted.
SQL> DELETE FROM SampTab
2 WHERE SampID = 100001;
1 row deleted.
SQL> DELETE FROM SampTab
2 WHERE SampID = 100002;
1 row deleted.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT
2 SampID,
3 TO_CHAR(SampDate, 'DD-MON-YYYY, CC, B.C.') SampDate
4 FROM SampTab;
ERROR:
ORA-01801: date format is too long for internal buffer

no rows selected
SQL> DELETE FROM SampTab
2 WHERE SampID = 100003;
1 row deleted.
SQL> DELETE FROM SampTab
2 WHERE SampID = 100004;
1 row deleted.
SQL> SELECT
2 SampID,
3 TO_CHAR(SampDate, 'DD-MON-YYYY, CC, B.C.') SampDate
4 FROM SampTab;
ERROR:
ORA-01801: date format is too long for internal buffer

no rows selected
SQL> ROLLBACK;
Rollback complete.
SQL> SELECT * FROM SampTAB;
no rows selected
SQL> INSERT INTO SampTab
2 VALUES(100005, TO_DATE('1', 'J'));
1 row created.
SQL> SELECT SampID, TO_CHAR(SampDate, 'DD-MON-YYYY A.D.') SampDate
2 FROM SampTab;
SAMPID SAMPDATE
---------- ---------------100005 01-JAN-4712 B.C.
SQL> INSERT INTO SampTab
2 VALUES(100005, TO_DATE('5373484', 'J'));
1 row created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT SampID, TO_CHAR(SampDate, 'DD-MON-YYYY A.D.') SampDate


2 FROM SampTab;
SAMPID
---------100005
100005

SAMPDATE
---------------01-JAN-4712 B.C.
31-DEC-9999 A.D.

SQL> ED
Wrote file afiedt.buf
1 SELECT
2 SampID,
3 TO_CHAR(SampDate, 'DD-MON-YYYY A.D. ') SampDate,
4 TO_CHAR(SampDate, 'SCC') CurrentCentury
5* FROM SampTab
SQL> /
ERROR:
ORA-01801: date format is too long for internal buffer

no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 SampID,
3 TO_CHAR(SampDate, 'SCC') CurrentCentury
4* FROM SampTab
SQL> /
ERROR:
ORA-01801: date format is too long for internal buffer

no rows selected
SQL> SPOOL OFF
SQL> cl scr
SQL> SET VERIFY OFF
SQL> cl scr
SQL> DESC SampTAB;
Name
Null?
----------------------------------------- -------SAMPID
SAMPDATE

Type
---------------------------NUMBER(6)
DATE

SQL> SELECT * FROM TAB;


TNAME
TABTYPE CLUSTERID
------------------------------ ------- ---------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

EMP_SUM
SUBTOTALS
SAMPTAB
MYAUDIT
TRAPPEDMESSAGES
DEPT
EMP
BONUS
SALGRADE
DUMMY
CUSTOMER

TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE

TNAME
-----------------------------ORD
ITEM
PRODUCT
PRICE
CUMSUM
INSERTDEPT
EMPSALINFO
ORGDESIGNATIONS
DEPTSALSUMMARY
EMPJOBINFO
EMPTOTSALINFO

TABTYPE CLUSTERID
------- ---------TABLE
TABLE
TABLE
TABLE
VIEW
VIEW
VIEW
VIEW
VIEW
VIEW
VIEW

TNAME
-----------------------------EMPLOYEES
EMPMANAGERS
EMPGRADES
EMP_SUMV
EMPDATA
EMPACCOUNTS
EDEPT30
SALES
EMPINFO
EMPLOYEE

TABTYPE CLUSTERID
------- ---------VIEW
VIEW
VIEW
VIEW
VIEW
VIEW
VIEW
VIEW
VIEW
SYNONYM

32 rows selected.
SQL> SELECT * FROM SampTAB;
no rows selected
SQL> cl scr
SQL> INSERT INTO SampTab
2 VALUES(100000, '14-JUL-10');
1 row created.
SQL> INSERT INTO SampTab
2 VALUES(100001, '14-JUL-98');
1 row created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> INSERT INTO SampTab


2 VALUES(100002, '14-JUL-10');
1 row created.
SQL> INSERT INTO SampTab
2 VALUES(100003, '14-JUL-98');
1 row created.
SQL> SELECT * FROM SampTab;
SAMPID
---------100000
100001
100002
100003

SAMPDATE
--------14-JUL-10
14-JUL-98
14-JUL-10
14-JUL-98

SQL> SELECT SampID, TO_CHAR(SampDate, 'DD-MON-YYYY') SampDate


2 FROM SampTab;
SAMPID
---------100000
100001
100002
100003

SAMPDATE
----------14-JUL-2010
14-JUL-1998
14-JUL-2110
14-JUL-2098

SQL> cl scr
SQL> SELECT Ename, HireDate
2 FROM Emp
3 WHERE Ename = 'SMITH';
ENAME
HIREDATE
---------- --------SMITH
17-DEC-80
SQL>
2
3
4
5
6
7

SELECT
Ename,
Hiredate,
TO_CHAR(ADD_MONTHS(Hiredate, 1),
'DD-MON-YYYY') "NEXT MONTH"
FROM Emp
WHERE Ename = 'SMITH';

ENAME
HIREDATE NEXT MONTH
---------- --------- ----------SMITH
17-DEC-80 17-JAN-1981
SQL>
2
3
4

SELECT
CONCAT(CONCAT(Ename, ' is a '), Job) Designation
FROM Emp
WHERE Empno = 7900;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

DESIGNATION
------------------------JAMES is a CLERK
SQL> cl scr
SQL>
2
3
4
5

SELECT
'27-OCT-92' SampDate,
TRUNC(TO_DATE('27-OCT-92' , 'DD-MON-YY'),
'YEAR') "NEW YEAR"
FROM DUAL;

SAMPDATE NEW YEAR


--------- --------27-OCT-92 01-JAN-92
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'27-OCT-92' SampDate,
ADD_MONTHS('27-OCT-92', -10) "NEW YEAR"
FROM DUAL
/

SAMPDATE NEW YEAR


--------- --------27-OCT-92 27-DEC-91
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'27-OCT-92' SampDate,
ADD_MONTHS('27-OCT-92', -10) + 5 "NEW YEAR"
FROM DUAL
/

SAMPDATE NEW YEAR


--------- --------27-OCT-92 01-JAN-92
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'27-OCT-92' SampDate,
ADD_MONTHS('27-OCT-92', -9) "NEW YEAR"
FROM DUAL
/

SAMPDATE NEW YEAR


--------- --------27-OCT-92 27-JAN-92
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'27-OCT-92' SampDate,
ADD_MONTHS('27-OCT-92', -9) - 26 "NEW YEAR"
FROM DUAL
/

SAMPDATE NEW YEAR


--------- --------27-OCT-92 01-JAN-92
SQL> cl scr
SQL> SELECT Ename, HireDate
2 FROM Emp
3 WHERE Ename = 'MARTIN';
ENAME
HIREDATE
---------- --------MARTIN
28-SEP-81
SQL> cl scr
SQL>
2
3
4
5
6

SELECT
Ename,
Hiredate,
TO_CHAR(ADD_MONTHS(LAST_DAY(Hiredate) , 5), 'DD-MON-YYYY') "FIVE MONTHS"
FROM Emp
WHERE Ename = 'MARTIN';

ENAME
HIREDATE FIVE MONTHS
---------- --------- ----------MARTIN
28-SEP-81 28-FEB-1982
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT
Ename,
Hiredate,
TO_CHAR(ADD_MONTHS(LAST_DAY(Hiredate) , 6), 'DD-MON-YYYY') "FIVE MONTHS"
FROM Emp
WHERE Ename = 'MARTIN'
/

ENAME
HIREDATE FIVE MONTHS
---------- --------- ----------MARTIN
28-SEP-81 31-MAR-1982
SQL> ED
Wrote file afiedt.buf
1
2

SELECT
Ename,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3
4
5
6*
SQL>

Hiredate,
TO_CHAR(ADD_MONTHS(Hiredate , 6), 'DD-MON-YYYY') "FIVE MONTHS"
FROM Emp
WHERE Ename = 'MARTIN'
/

ENAME
HIREDATE FIVE MONTHS
---------- --------- ----------MARTIN
28-SEP-81 28-MAR-1982
SQL> cl scr
SQL> SELECT
2 Ename,
3 Hiredate,
4 TO_CHAR(ADD_MONTHS(LAST_DAY(Hiredate) + 1 , 5), 'DD-MON-YYYY') "FIVE
MONTHS"
5 FROM Emp
6 WHERE Ename = 'MARTIN';
ENAME
HIREDATE FIVE MONTHS
---------- --------- ----------MARTIN
28-SEP-81 01-MAR-1982
SQL> cl scr
SQL>
2
3
4
5
6
7

SELECT
'02-02-1995' Date1,
'01-01-1995' Date2,
MONTHS_BETWEEN(
TO_DATE('02-02-1995' , 'MM-DD-YYYY'),
TO_DATE('01-01-1995', 'MM-DD-YYYY')) MONTHS
FROM Dual;

DATE1
DATE2
MONTHS
---------- ---------- ---------02-02-1995 01-01-1995 1.03225806
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT
'02-02-1995' Date1,
'01-01-1995' Date2,
MONTHS_BETWEEN(
TO_DATE('02-02-1995' , 'DD-MM-YYYY'),
TO_DATE('01-01-1995', 'DD-MM-YYYY')) MONTHS
FROM Dual
/

DATE1
DATE2
MONTHS
---------- ---------- ---------02-02-1995 01-01-1995 1.03225806
SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL>
2
3
4

SELECT
'15-MAR-98' Date1,
NEXT_DAY('15-MAR-98', 'TUESDAY') "Next Day"
FROM DUAL;

DATE1
Next Day
--------- --------15-MAR-98 17-MAR-98
SQL> cl scr
SQL>
2
3
4
5

SELECT
Ename,
NVL(TO_CHAR(Comm), 'Not Applicable') "Commission"
FROM Emp
WHERE Deptno = 30;

ENAME
---------BLAKE
MARTIN
ALLEN
TURNER
JAMES
WARD

Commission
---------------------------------------Not Applicable
1400
300
0
Not Applicable
500

6 rows selected.
SQL> cl scr
SQL>
2
3
4
5

SELECT
'27-OCT-92' MyDate,
ROUND(TO_DATE('27-OCT-92', 'DD-MON-YY'),
'YEAR') "New Year"
FROM DUAL;

MYDATE
New Year
--------- --------27-OCT-92 01-JAN-93
SQL> cl scr
SQL>
2
3
4
5
6

SELECT
Ename,
HireDate,
TO_CHAR(HireDate, 'MONTH DD, YYYY')
FROM Emp
WHERE Ename = 'BLAKE';

ENAME
HIREDATE TO_CHAR(HIREDATE,'
---------- --------- -----------------BLAKE
01-MAY-81 MAY
01, 1981
SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1
2
3
4
5
6*
SQL>

SELECT
Ename,
HireDate,
TO_CHAR(HireDate, 'FMMONTH DD, YYYY')
FROM Emp
WHERE Ename = 'BLAKE'
/

ENAME
HIREDATE TO_CHAR(HIREDATE,'
---------- --------- -----------------BLAKE
01-MAY-81 MAY 1, 1981
SQL> cl scr
SQL>
2
3
4

SELECT
'27-OCT-98' Date1,
TO_CHAR(TO_DATE('27-OCT-98', 'DD-MON-RR'), 'YYYY') YEAR
FROM DUAL;

DATE1
YEAR
--------- ---27-OCT-98 1998
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 '27-OCT-98' Date1,
3 TO_CHAR('27-OCT-98', 'DD-MON-RRRR') YEAR
4* FROM DUAL
SQL> /
TO_CHAR('27-OCT-98', 'DD-MON-RRRR') YEAR
*
ERROR at line 3:
ORA-01722: invalid number

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'27-OCT-98' Date1,
TO_CHAR(TO_DATE('27-OCT-98', 'DD-MON-YY'), 'DD-MON-RRRR') YEAR
FROM DUAL
/

DATE1
YEAR
--------- ----------27-OCT-98 27-OCT-2098
SQL> ED
Wrote file afiedt.buf
1
2
3

SELECT
'27-OCT-98' Date1,
TO_CHAR(TO_DATE('27-OCT-98', 'DD-MON-RR'), 'DD-MON-RRRR') YEAR
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4* FROM DUAL
SQL> /
DATE1
YEAR
--------- ----------27-OCT-98 27-OCT-1998
SQL> cl scr
SQL> SELECT
2 TO_CHAR(SYSDATE, 'FMDDTH')||' of '||TO_CHAR( SYSDATE, 'Month')||' ,
'||TO_CHAR (SYSDATE, 'YYYY') Idea
3 FROM DUAL;
IDEA
-----------------------14TH of July
, 2010
SQL> cl scr
SQL> SELECT
2 TO_CHAR(SYSDATE, 'FMDAY' )||'''s Special' "MENU"
3 FROM DUAL;
MENU
------------------WEDNESDAY's Special
SQL> cl scr
SQL> SELECT
2 TO_CHAR(TO_DATE('&GiveNumber', 'J'), 'JSP') "Spelled Number"
3 FROM DUAL;
Enter value for givenumber: 1
Spe
--ONE
SQL> /
Enter value for givenumber: 1234
Spelled Number
-----------------------------------ONE THOUSAND TWO HUNDRED THIRTY-FOUR
SQL> /
Enter value for givenumber: 256546
Spelled Number
----------------------------------------------------TWO HUNDRED FIFTY-SIX THOUSAND FIVE HUNDRED FORTY-SIX
SQL> cl scr
SQL> SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2
3
4
5
6

'SATISH KUMAR YELLANKI' OrgName,


TRANSLATE('SATISH KUMAR YELLANKI',
'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
'1234567890!@#$%^&*()-=_+;,.') EncryptedName
FROM DUAL;

ORGNAME
ENCRYPTEDNAME
--------------------- --------------------SATISH KUMAR YELLANKI (1)9(8 !-#1* ;5@@1$!9
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT
'(1)9(8 !-#1* ;5@@1$!9' EncryptName,
TRANSLATE('(1)9(8 !-#1* ;5@@1$!9',
'1234567890!@#$%^&*()-=_+;,.',
'ABCDEFGHIJKLMNOPQRSTUVWXYZ') DecryptedName
FROM DUAL
/

ENCRYPTNAME
DECRYPTEDNAME
--------------------- --------------------(1)9(8 !-#1* ;5@@1$!9 SATISH KUMAR YELLANKI
SQL> SPOOL OFF
SQL> cl scr
SQL> SET VERIFY OFF
SQL> cl scr
SQL> SELECT AVG(Sal) FROM Emp;
AVG(SAL)
---------2073.21429
SQL> ED
Wrote file afiedt.buf
1* SELECT TRUNC(AVG(Sal), 2) AvgSal FROM Emp
SQL> /
AVGSAL
---------2073.21
SQL> SELECT AVG(Sal), AVG(DISTINCT Sal) FROM Emp;
AVG(SAL) AVG(DISTINCTSAL)
---------- ---------------2073.21429
2064.58333
SQL> cl scr
SQL> SELECT Ename, AVG(Sal) FROM Emp;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SELECT Ename, AVG(Sal) FROM Emp


*
ERROR at line 1:
ORA-00937: not a single-group group function

SQL> cl scr
SQL> SELECT AVG(Comm), AVG(Sal)
2 FROM EMp;
AVG(COMM)
AVG(SAL)
---------- ---------550 2073.21429
SQL> ED
Wrote file afiedt.buf
1 SELECT AVG(Comm), AVG(NVL(Comm, 0))
2* FROM EMp
SQL> /
AVG(COMM) AVG(NVL(COMM,0))
---------- ---------------550
157.142857
SQL> cl scr
SQL> SELECT SUM(Sal) FROM Emp;
SUM(SAL)
---------29025
SQL> SELECT SUM(Sal), SUM(Comm) FROM Emp;
SUM(SAL) SUM(COMM)
---------- ---------29025
2200
SQL> SELECT SUM(Sal), AVG(Sal) FROM Emp;
SUM(SAL)
AVG(SAL)
---------- ---------29025 2073.21429
SQL> cl scr
SQL> SELECT SUM(Sal)
2 FROM Emp
3 WHERE Deptno = &GDeptno;
Enter value for gdeptno: 10
SUM(SAL)
---------8750
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1 SELECT SUM(Sal), AVG(Sal)
2 FROM Emp
3* WHERE Deptno = &GDeptno
SQL> /
Enter value for gdeptno: 10
SUM(SAL)
AVG(SAL)
---------- ---------8750 2916.66667
SQL> cl scr
SQL> SELECT MAX(Sal), MIN(Sal)
2 FROM Emp;
MAX(SAL)
MIN(SAL)
---------- ---------5000
800
SQL> SELECT Ename, MAX(Sal)
2 FROM Emp;
SELECT Ename, MAX(Sal)
*
ERROR at line 1:
ORA-00937: not a single-group group function

SQL> SELECT MAX(Ename), MIN(Ename) FROM Emp;


MAX(ENAME) MIN(ENAME)
---------- ---------WARD
ADAMS
SQL> SELECT MAX(HireDate), MIN(HireDate) FROM Emp;
MAX(HIRED MIN(HIRED
--------- --------12-JAN-83 17-DEC-80
SQL> cl scr
SQL> SELECT MAX(Comm), MIN(Comm) FROM Emp;
MAX(COMM) MIN(COMM)
---------- ---------1400
0
SQL> cl scr
SQL> SELECT COUNT(*) FROM Emp;
COUNT(*)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

---------14
SQL> SELECT COUNT(Empno) FROM Emp;
COUNT(EMPNO)
-----------14
SQL> SELECT COUNT(MGR) FROM Emp;
COUNT(MGR)
---------13
SQL> SELECT COUNT(Comm) FROM Emp;
COUNT(COMM)
----------4
SQL> cl scr
SQL> SELECT Deptno
2 FROM Emp
3 GROUP BY Deptno;
DEPTNO
---------10
20
30
SQL> SELECT DISTINCT Deptno FROM Emp;
DEPTNO
---------10
20
30
SQL> cl scr
SQL> SELECT Job FROM Emp
2 GROUP BY Job;
JOB
--------ANALYST
CLERK
MANAGER
PRESIDENT
SALESMAN
SQL> ed
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1 SELECT SUM(Sal)
2* FROM Emp
3 /
SUM(SAL)
---------29025
SQL> ED
Wrote file afiedt.buf
1 SELECT Deptno, SUM(Sal)
2* FROM Emp
SQL> /
SELECT Deptno, SUM(Sal)
*
ERROR at line 1:
ORA-00937: not a single-group group function

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Deptno, SUM(Sal)


FROM Emp
GROUP BY Deptno
/

DEPTNO
SUM(SAL)
---------- ---------10
8750
20
10875
30
9400
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Deptno, SUM(Sal)


FROM Emp
WHERE Deptno <> 10
GROUP BY Deptno
/

DEPTNO
SUM(SAL)
---------- ---------20
10875
30
9400
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2

SELECT SUM(Sal)
FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3* GROUP BY Deptno
SQL> /
SUM(SAL)
---------8750
10875
9400
SQL> cl scr
SQL> SELECT TO_CHAR(HireDate, 'YYYY') Year
2 FROM Emp;
YEAR
---1981
1981
1981
1981
1981
1981
1981
1981
1981
1981
1980
YEAR
---1982
1983
1982
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT TO_CHAR(HireDate, 'YYYY') Year


FROM Emp
GROUP BY TO_CHAR(HireDate, 'YYYY')
/

YEAR
---1980
1981
1982
1983
SQL> ED
Wrote file afiedt.buf
1
2

SELECT TO_CHAR(HireDate, 'Month') Year


FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3* GROUP BY TO_CHAR(HireDate, 'Month')


SQL> /
YEAR
--------April
December
February
January
June
May
November
September
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT TO_CHAR(HireDate, 'Month') Year


FROM Emp
GROUP BY TO_CHAR(HireDate, 'Month')
ORDER BY TO_CHAR(HireDate, 'Month')
/

YEAR
--------April
December
February
January
June
May
November
September
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT TO_CHAR(HireDate, 'Month') Year
2 FROM Emp
3 GROUP BY TO_CHAR(HireDate, 'Month')
4* ORDER BY TO_CHAR(HireDate, 'MM')
SQL> /
ORDER BY TO_CHAR(HireDate, 'MM')
*
ERROR at line 4:
ORA-00979: not a GROUP BY expression

SQL> SELECT Deptno FROM Emp


2 GROUP BY Deptno;
DEPTNO
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

---------10
20
30
SQL> ED
Wrote file afiedt.buf
1 SELECT Deptno FROM Emp
2* GROUP BY Deptno DESC
SQL> /
GROUP BY Deptno DESC
*
ERROR at line 2:
ORA-00933: SQL command not properly ended

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Deptno FROM Emp


GROUP BY Deptno
ORDER BY Deptno DESC
/

DEPTNO
---------30
20
10
SQL> ED
Wrote file afiedt.buf
1 SELECT Deptno FROM Emp
2 GROUP BY Deptno
3* ORDER BY Job DESC
SQL> /
ORDER BY Job DESC
*
ERROR at line 3:
ORA-00979: not a GROUP BY expression

SQL> cl scr
SQL> SELECT TO_CHAR(HireDate, 'Month') Month
2 FROM Emp
3 GROUP BY TO_CHAR(HireDate, 'Month');
MONTH
--------April
December
February
January
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

June
May
November
September
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>
S.
-01
02
04
05
06
09
11
12

SELECT
TO_CHAR(HireDate,
TO_CHAR(HireDate,
FROM Emp
GROUP BY
TO_CHAR(HireDate,
TO_CHAR(HireDate,
/

'MM') "S.No",
'Month') Month

'MM'),
'Month')

MONTH
--------January
February
April
May
June
September
November
December

8 rows selected.
SQL> cl scr
SQL> SELECT Deptno, Job
2 FROM Emp
3 GROUP BY Deptno;
SELECT Deptno, Job
*
ERROR at line 1:
ORA-00979: not a GROUP BY expression

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Deptno, Job


FROM Emp
GROUP BY Deptno, Job
/

DEPTNO
---------10
10
10

JOB
--------CLERK
MANAGER
PRESIDENT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

20
20
20
30
30
30

CLERK
ANALYST
MANAGER
CLERK
MANAGER
SALESMAN

9 rows selected.
SQL> SELECT DISTINCT Deptno, Job FROM Emp;
DEPTNO
---------10
10
10
20
20
20
30
30
30

JOB
--------CLERK
MANAGER
PRESIDENT
ANALYST
CLERK
MANAGER
CLERK
MANAGER
SALESMAN

9 rows selected.
SQL> SELECT Deptno, AVG(Sal)
2 FROM Emp
3 GROUP BY Deptno;
DEPTNO
AVG(SAL)
---------- ---------10 2916.66667
20
2175
30 1566.66667
SQL> SELECT DISTINCT Deptno, AVG(Sal)
2 FROM Emp;
SELECT DISTINCT Deptno, AVG(Sal)
*
ERROR at line 1:
ORA-00937: not a single-group group function

SQL> cl scr
SQL> SELECT Deptno, AVG(Sal)
2 FROM Emp
3 GROUP BY Deptno;
DEPTNO
AVG(SAL)
---------- ---------10 2916.66667
20
2175
30 1566.66667
SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf


1
2
3
4*
SQL>

SELECT Deptno, AVG(Sal)


FROM Emp
GROUP BY Deptno
ORDER BY AVG(Sal)
/

DEPTNO
AVG(SAL)
---------- ---------30 1566.66667
20
2175
10 2916.66667
SQL> ED
Wrote file afiedt.buf
1 SELECT Deptno, AVG(Sal) SalAvg
2 FROM Emp
3 GROUP BY Deptno
4* ORDER BY SalAvg
SQL> ./
SP2-0042: unknown command "./" - rest of line ignored.
SQL> /
DEPTNO
SALAVG
---------- ---------30 1566.66667
20
2175
10 2916.66667
SQL> cl scr
SQL> SELECT Deptno, Job, SUM(Sal)
2 FROM Emp
3 GROUP BY Deptno, Job;
DEPTNO
---------10
10
10
20
20
20
30
30
30

JOB
SUM(SAL)
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
CLERK
1900
ANALYST
6000
MANAGER
2975
CLERK
950
MANAGER
2850
SALESMAN
5600

9 rows selected.
SQL> cl scr
SQL> SELECT SUM(Sal) FROM Emp;
SUM(SAL)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

---------29025
SQL> SELECT Deptno, SUM(Sal)
2 FROM Emp
3 GROUP BY Deptno;
DEPTNO
SUM(SAL)
---------- ---------10
8750
20
10875
30
9400
SQL> SELECT Deptno, Job, SUM(Sal)
2 FROM Emp
3 GROUP BY Deptno, Job;
DEPTNO
---------10
10
10
20
20
20
30
30
30

JOB
SUM(SAL)
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
CLERK
1900
ANALYST
6000
MANAGER
2975
CLERK
950
MANAGER
2850
SALESMAN
5600

9 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

SELECT
TO_CHAR(HireDate, 'YYYY') Year,
Deptno, Job, SUM(Sal)
FROM Emp
GROUP BY
Deptno,
Job,
TO_CHAR(HireDate, 'YYYY')
/

YEAR
DEPTNO JOB
SUM(SAL)
---- ---------- --------- ---------1982
10 CLERK
1300
1981
10 MANAGER
2450
1981
10 PRESIDENT
5000
1980
20 CLERK
800
1983
20 CLERK
1100
1981
20 ANALYST
3000
1982
20 ANALYST
3000
1981
20 MANAGER
2975
1981
30 CLERK
950
1981
30 MANAGER
2850
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1981

30 SALESMAN

5600

11 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10*
SQL>

SELECT
TO_CHAR(HireDate, 'YYYY') Year,
TO_CHAR(HireDate, 'Q') Quarter,
Deptno, Job, SUM(Sal)
FROM Emp
GROUP BY
Deptno,
Job,
TO_CHAR(HireDate, 'YYYY'),
TO_CHAR(HireDate, 'Q')
/

YEAR
---1982
1981
1981
1980
1983
1981
1982
1981
1981
1981
1981

Q
DEPTNO JOB
SUM(SAL)
- ---------- --------- ---------1
10 CLERK
1300
2
10 MANAGER
2450
4
10 PRESIDENT
5000
4
20 CLERK
800
1
20 CLERK
1100
4
20 ANALYST
3000
4
20 ANALYST
3000
2
20 MANAGER
2975
4
30 CLERK
950
2
30 MANAGER
2850
1
30 SALESMAN
2850

YEAR Q
DEPTNO JOB
SUM(SAL)
---- - ---------- --------- ---------1981 3
30 SALESMAN
2750
12 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12*
SQL>

SELECT
TO_CHAR(HireDate, 'YYYY') Year,
TO_CHAR(HireDate, 'Q') Quarter,
TO_CHAR(HireDate, 'FMMonth') Month,
Deptno, Job, SUM(Sal)
FROM Emp
GROUP BY
Deptno,
Job,
TO_CHAR(HireDate, 'YYYY'),
TO_CHAR(HireDate, 'Q'),
TO_CHAR(HireDate, 'FMMonth')
/
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

YEAR
---1982
1981
1981
1980
1983
1981
1982
1981
1981
1981
1981

Q
1
2
4
4
1
4
4
2
4
2
1

MONTH
DEPTNO JOB
SUM(SAL)
--------- ---------- --------- ---------January
10 CLERK
1300
June
10 MANAGER
2450
November
10 PRESIDENT
5000
December
20 CLERK
800
January
20 CLERK
1100
December
20 ANALYST
3000
December
20 ANALYST
3000
April
20 MANAGER
2975
December
30 CLERK
950
May
30 MANAGER
2850
February
30 SALESMAN
2850

YEAR Q MONTH
DEPTNO JOB
SUM(SAL)
---- - --------- ---------- --------- ---------1981 3 September
30 SALESMAN
2750
12 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13
14*
SQL>

SELECT
TO_CHAR(HireDate, 'YYYY') Year,
TO_CHAR(HireDate, 'Q') Quarter,
TO_CHAR(HireDate, 'FMMonth') Month,
TO_CHAR(HireDate, 'W') Week,
Deptno, Job, SUM(Sal)
FROM Emp
GROUP BY
Deptno,
Job,
TO_CHAR(HireDate, 'YYYY'),
TO_CHAR(HireDate, 'Q'),
TO_CHAR(HireDate, 'FMMonth'),
TO_CHAR(HireDate, 'W')
/

YEAR
---1982
1981
1981
1980
1983
1981
1982
1981
1981
1981
1981

Q
1
2
4
4
1
4
4
2
4
2
1

MONTH
--------January
June
November
December
January
December
December
April
December
May
February

W
DEPTNO JOB
SUM(SAL)
- ---------- --------- ---------4
10 CLERK
1300
2
10 MANAGER
2450
3
10 PRESIDENT
5000
3
20 CLERK
800
2
20 CLERK
1100
1
20 ANALYST
3000
2
20 ANALYST
3000
1
20 MANAGER
2975
1
30 CLERK
950
1
30 MANAGER
2850
3
30 SALESMAN
1600

YEAR Q MONTH
W
DEPTNO JOB
SUM(SAL)
---- - --------- - ---------- --------- ---------1981 1 February 4
30 SALESMAN
1250
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1981 3 September 2
1981 3 September 4

30 SALESMAN
30 SALESMAN

1500
1250

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16*
SQL>

SELECT
TO_CHAR(HireDate, 'YYYY') Year,
TO_CHAR(HireDate, 'Q') Quarter,
TO_CHAR(HireDate, 'FMMonth') Month,
TO_CHAR(HireDate, 'W') Week,
TO_CHAR(HireDate, 'FMDay') Day,
Deptno, Job, SUM(Sal)
FROM Emp
GROUP BY
Deptno,
Job,
TO_CHAR(HireDate, 'YYYY'),
TO_CHAR(HireDate, 'Q'),
TO_CHAR(HireDate, 'FMMonth'),
TO_CHAR(HireDate, 'W'),
TO_CHAR(HireDate, 'FMDay')
/

YEAR
---1982
1981
1981
1980
1983
1981
1982
1981
1981
1981
1981

Q
1
2
4
4
1
4
4
2
4
2
1

MONTH
--------January
June
November
December
January
December
December
April
December
May
February

W
4
2
3
3
2
1
2
1
1
1
3

DAY
DEPTNO JOB
SUM(SAL)
--------- ---------- --------- ---------Saturday
10 CLERK
1300
Tuesday
10 MANAGER
2450
Tuesday
10 PRESIDENT
5000
Wednesday
20 CLERK
800
Wednesday
20 CLERK
1100
Thursday
20 ANALYST
3000
Thursday
20 ANALYST
3000
Thursday
20 MANAGER
2975
Thursday
30 CLERK
950
Friday
30 MANAGER
2850
Friday
30 SALESMAN
1600

YEAR
---1981
1981
1981

Q
1
3
3

MONTH
--------February
September
September

W
4
2
4

DAY
DEPTNO JOB
SUM(SAL)
--------- ---------- --------- ---------Sunday
30 SALESMAN
1250
Tuesday
30 SALESMAN
1500
Monday
30 SALESMAN
1250

14 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6

SELECT
Deptno,
AVG(Sal)
FROM Emp
GROUP BY Deptno
HAVING MAX(Sal) > 2900;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

DEPTNO
AVG(SAL)
---------- ---------10 2916.66667
20
2175
SQL>
2
3
4

SELECT
Deptno
FROM Emp
/

DEPTNO
---------10
30
10
20
30
30
30
30
30
20
20
DEPTNO
---------20
20
10
14 rows selected.
SQL>
2
3
4
5

SELECT
Deptno
FROM Emp
GROUP BY Deptno
/

DEPTNO
---------10
20
30
SQL>
2
3
4
5
6

SELECT
Deptno,
AVG(Sal)
FROM Emp
GROUP BY Deptno
/

DEPTNO
AVG(SAL)
---------- ---------10 2916.66667
20
2175
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

30 1566.66667
SQL> SELECT Deptno, MAX(Sal)
2 FROM Emp
3 GROUP BY Deptno;
DEPTNO
MAX(SAL)
---------- ---------10
5000
20
3000
30
2850
SQL> SPOOL OFF
SQL> cl scr
SQL>
2
3
4
5
6

SELECT
Deptno,
AVG(Sal)
FROM Emp
GROUP BY Deptno
HAVING MAX(Sal) > 2900;

DEPTNO
AVG(SAL)
---------- ---------10 2916.66667
20
2175
SQL> cl scr
SQL>
2
3
4
5
6
7
8

SELECT
Job,
SUM(Sal) Payroll
FROM Emp
WHERE Job NOT LIKE 'SALES%'
GROUP BY Job
HAVING SUM(Sal) > 5000
ORDER BY SUM(Sal);

JOB
PAYROLL
--------- ---------ANALYST
6000
MANAGER
8275
SQL>
2
3
4

SELECT
Job
FROM Emp
/

JOB
--------PRESIDENT
MANAGER
MANAGER
MANAGER
SALESMAN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SALESMAN
SALESMAN
CLERK
SALESMAN
ANALYST
CLERK
JOB
--------ANALYST
CLERK
CLERK
14 rows selected.
SQL>
2
3
4
5

SELECT
Job
FROM Emp
WHERE Job NOT LIKE 'SALES%'
/

JOB
--------PRESIDENT
MANAGER
MANAGER
MANAGER
CLERK
ANALYST
CLERK
ANALYST
CLERK
CLERK
10 rows selected.
SQL>
2
3
4
5
6

SELECT
Job
FROM Emp
WHERE Job NOT LIKE 'SALES%'
GROUP BY Job
/

JOB
--------ANALYST
CLERK
MANAGER
PRESIDENT
SQL>
2
3
4
5
6

SELECT
Job,
SUM(Sal) Payroll
FROM Emp
WHERE Job NOT LIKE 'SALES%'
GROUP BY Job
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

JOB
PAYROLL
--------- ---------ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SQL> cl scr
SQL>
2
3
4
5
6
7
8

SELECT
Deptno,
MIN(Sal),
MAX(Sal)
FROM Emp
WHERE Job = 'CLERK'
GROUP BY Deptno
HAVING MIN(Sal) < 1000;

DEPTNO
MIN(SAL)
MAX(SAL)
---------- ---------- ---------20
800
1100
30
950
950
SQL> cl scr
SQL>
2
3
4
5
6

SELECT
Deptno,
SUM(Sal)
FROM Emp
GROUP BY Deptno
HAVING COUNT(Deptno) > 3;

DEPTNO
SUM(SAL)
---------- ---------20
10875
30
9400
SQL> cl scr
SQL>
2
3
4
5
6
7

SELECT
Deptno,
AVG(Sal),
SUM(Sal)
FROM Emp
GROUP BY Deptno
HAVING AVG (Sal) > 2500;

DEPTNO
AVG(SAL)
SUM(SAL)
---------- ---------- ---------10 2916.66667
8750
SQL> cl scr
SQL> SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2
3
4
5
6
7
8

Deptno,
Job,
SUM(Sal),
AVG(Sal)
FROM Emp
GROUP BY Deptno, Job
HAVING AVG(Sal) > 2500;

DEPTNO
---------10
20
20
30

JOB
SUM(SAL)
AVG(SAL)
--------- ---------- ---------PRESIDENT
5000
5000
ANALYST
6000
3000
MANAGER
2975
2975
MANAGER
2850
2850

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

SELECT
Deptno,
Job,
SUM(Sal),
AVG(Sal)
FROM Emp
GROUP BY Deptno, Job
HAVING AVG(Sal) > 2500 AND AVG(Sal) < 3000
/

DEPTNO
---------20
30

JOB
SUM(SAL)
AVG(SAL)
--------- ---------- ---------MANAGER
2975
2975
MANAGER
2850
2850

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

SELECT
Deptno,
Job,
SUM(Sal),
AVG(Sal)
FROM Emp
GROUP BY Deptno, Job
HAVING AVG(Sal) BETWEEN 2500 AND 3000
/

DEPTNO
---------20
20
30

JOB
SUM(SAL)
AVG(SAL)
--------- ---------- ---------ANALYST
6000
3000
MANAGER
2975
2975
MANAGER
2850
2850

SQL> ED
Wrote file afiedt.buf
1

SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2
3
4
5
6
7
8*
SQL>

Deptno,
Job,
SUM(Sal),
AVG(Sal)
FROM Emp
GROUP BY Deptno, Job
HAVING AVG(Sal) IN(2850, 3000)
/

DEPTNO
---------20
30

JOB
SUM(SAL)
AVG(SAL)
--------- ---------- ---------ANALYST
6000
3000
MANAGER
2850
2850

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

SELECT
Deptno,
Job,
SUM(Sal),
AVG(Sal)
FROM Emp
GROUP BY Deptno, Job
HAVING AVG(Sal) > 2500 AND SUM(Sal) < 6000
/

DEPTNO
---------10
20
30

JOB
SUM(SAL)
AVG(SAL)
--------- ---------- ---------PRESIDENT
5000
5000
MANAGER
2975
2975
MANAGER
2850
2850

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

SELECT
Deptno,
Job,
SUM(Sal),
AVG(Sal)
FROM Emp
GROUP BY Deptno, Job
HAVING AVG(Sal) > 2500 AND SUM(Sal) < 6000 AND COUNT(*) > 2
/

no rows selected
SQL> cl scr
SQL> SELECT Deptno, AVG(Sal)
2 FROM Emp
3 GROUP BY Deptno;
DEPTNO
AVG(SAL)
---------- ---------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

10 2916.66667
20
2175
30 1566.66667
SQL> SELECT MAX(AVG(Sal))
2 FROM Emp
3 GROUP BY Deptno;
MAX(AVG(SAL))
------------2916.66667
SQL> ED
Wrote file afiedt.buf
1 SELECT Deptno, MAX(AVG(Sal))
2 FROM Emp
3* GROUP BY Deptno
SQL> /
SELECT Deptno, MAX(AVG(Sal))
*
ERROR at line 1:
ORA-00937: not a single-group group function

SQL> cl scr
SQL> SELECT SUM(SUM(Sal))
2 FROM Emp
3 GROUP BY Deptno;
SUM(SUM(SAL))
------------29025
SQL> SELECT SUM(Sal) FROM Emp;
SUM(SAL)
---------29025
SQL> cl scr
SQL> SELECT
2 GREATEST('HARRY', 'HARRIOT')
3 FROM DUAL;
GREAT
----HARRY
SQL> ED
Wrote file afiedt.buf
1
2

SELECT
LEAST('HARRY', 'HARRIOT')
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3* FROM DUAL
SQL> /
LEAST('
------HARRIOT
SQL> SELECT
2 GREATEST(1000, 2000, 200)
3 FROM DUAL;
GREATEST(1000,2000,200)
----------------------2000
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT
LEAST(1000, 2000, 200)
FROM DUAL
/

LEAST(1000,2000,200)
-------------------200
SQL> cl scr
SQL> SELECT
2 GREATEST('10-JUL-05', '20-JUL-05')
3 FROM DUAL;
GREATEST(
--------20-JUL-05
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT
LEAST('10-JUL-05', '20-JUL-05')
FROM DUAL
/

LEAST('10
--------10-JUL-05
SQL> cl scr
SQL> SHOW USER
USER is "SCOTT"
SQL> SELECT USER FROM DUAL;
USER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

-----------------------------SCOTT
SQL> cl scr
SQL> SHOW USER
USER is "SCOTT"
SQL> SHOW UID
SP2-0158: unknown SHOW option "UID"
SQL> SELECT USER, UID FROM DUAL;
USER
UID
------------------------------ ---------SCOTT
57
SQL> cl scr
SQL> SELECT USER, USERENV('ISDBA') UserEnv
2 FROM Emp;
USER
-----------------------------SCOTT
SCOTT
SCOTT
SCOTT
SCOTT
SCOTT
SCOTT
SCOTT
SCOTT
SCOTT
SCOTT

USEREN
-----FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE

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

USEREN
-----FALSE
FALSE
FALSE

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT USER, USERENV('ISDBA') UserEnv
2* FROM DUAL
SQL> /
USER
USEREN
------------------------------ -----SCOTT
FALSE
SQL> cl scr
SQL> SELECT USER, USERENV('LANGUAGE') UserEnv FROM DUAL;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

USER
-----------------------------USERENV
---------------------------------------------------SCOTT
AMERICAN_AMERICA.WE8MSWIN1252

SQL> SELECT USER, USERENV('TERMIMAL') UserEnv FROM DUAL;


SELECT USER, USERENV('TERMIMAL') UserEnv FROM DUAL
*
ERROR at line 1:
ORA-02003: invalid USERENV parameter

SQL> SELECT USER, USERENV('TERMINAL') UserEnv FROM DUAL;


USER
USERENV
------------------------------ ---------------SCOTT
NIT
SQL> SELECT USER, USERENV('SESSIONID') UserEnv FROM DUAL;
USER
USERENV
------------------------------ ---------SCOTT
4355
SQL> cl scr
SQL> SELECT VSIZE(&GValue) MemorySize FROM DUAL;
Enter value for gvalue: SAMPLE
old
1: SELECT VSIZE(&GValue) MemorySize FROM DUAL
new
1: SELECT VSIZE(SAMPLE) MemorySize FROM DUAL
SELECT VSIZE(SAMPLE) MemorySize FROM DUAL
*
ERROR at line 1:
ORA-00904: "SAMPLE": invalid identifier

SQL> /
Enter value for gvalue: 'SAMPLE'
old
1: SELECT VSIZE(&GValue) MemorySize FROM DUAL
new
1: SELECT VSIZE('SAMPLE') MemorySize FROM DUAL
MEMORYSIZE
---------6
SQL> SET VERIFY OFF
SQL> cl scr
SQL> R
1* SELECT VSIZE(&GValue) MemorySize FROM DUAL
Enter value for gvalue: 'Sample Data For Demo'
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

MEMORYSIZE
---------20
SQL> /
Enter value for gvalue: 1
MEMORYSIZE
---------2
SQL> /
Enter value for gvalue: 23
MEMORYSIZE
---------2
SQL> /
Enter value for gvalue: 345
MEMORYSIZE
---------3
SQL> /
Enter value for gvalue: 234.567
MEMORYSIZE
---------5
SQL> /
Enter value for gvalue: 543456.8765676
MEMORYSIZE
---------8
SQL> cl scr
SQL> SELECT
2 Ename||' You Are Occupying '||TO_CHAR(TO_DATE(VSIZE(Ename), 'J'), 'JSP')||'
Bytes of Memory Space.' Ename
3 FROM Emp;
ENAME
-------------------------------------------------------------------------------KING You Are Occupying FOUR Bytes of Memory Space.
BLAKE You Are Occupying FIVE Bytes of Memory Space.
CLARK You Are Occupying FIVE Bytes of Memory Space.
JONES You Are Occupying FIVE Bytes of Memory Space.
MARTIN You Are Occupying SIX Bytes of Memory Space.
ALLEN You Are Occupying FIVE Bytes of Memory Space.
TURNER You Are Occupying SIX Bytes of Memory Space.
JAMES You Are Occupying FIVE Bytes of Memory Space.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

WARD You Are Occupying FOUR Bytes of Memory Space.


FORD You Are Occupying FOUR Bytes of Memory Space.
SMITH You Are Occupying FIVE Bytes of Memory Space.
ENAME
-------------------------------------------------------------------------------SCOTT You Are Occupying FIVE Bytes of Memory Space.
ADAMS You Are Occupying FIVE Bytes of Memory Space.
MILLER You Are Occupying SIX Bytes of Memory Space.
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 Ename||' You Are Occupying '||TO_CHAR(TO_DATE(VSIZE(Ename), 'J'), 'JSP')||'
Bytes of Memory Space.' Ename
3 FROM Emp
4* WHERE VSIZE(Ename) = 4
SQL> /
ENAME
-------------------------------------------------------------------------------KING You Are Occupying FOUR Bytes of Memory Space.
WARD You Are Occupying FOUR Bytes of Memory Space.
FORD You Are Occupying FOUR Bytes of Memory Space.
SQL> cl scr
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

COLUMN Empno FORMAT 99


COLUMN Ename FORMAT 99
COLUMN Deptno FORMAT 99
COLUMN Job FORMAT 99
COLUMN MGR FORMAT 99
COLUMN Sal FORMAT 99
COLUMN Comm FORMAT 99
COLUMN HireDate FORMAT 99
COLUMN Total FORMAT 999
SELECT
SUM(VSIZE(Empno)) Empno,
SUM(VSIZE(Ename)) Ename,
SUM(VSIZE(Deptno)) Deptno,
SUM(VSIZE(Job)) Job,
SUM(VSIZE(MGR)) MGR,
SUM(VSIZE(Sal)) Sal,
SUM(VSIZE(Comm)) Comm,
SUM(VSIZE(HireDate)) HireDate,
SUM(VSIZE(Empno)) +
SUM(VSIZE(Ename)) +
SUM(VSIZE(Deptno)) +
SUM(VSIZE(Job)) +
SUM(VSIZE(MGR)) +
SUM(VSIZE(Sal)) +
SUM(VSIZE(Comm)) +
SUM(VSIZE(HireDate)) Total
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

18

FROM Emp;

EMPNO ENAME DEPTNO JOB MGR SAL COMM HIREDATE TOTAL


----- ----- ------ --- --- --- ---- -------- ----41
70
28 96 39 34
7
98
413
SQL> SELECT VSIZE(HireDate) FROM Emp WHERE Ename = 'KING';
VSIZE(HIREDATE)
--------------7
SQL> cl scr
SQL> SELECT Ename, Sal, Deptno, Job
2 FROM Emp
3 WHERE Job = 'manager';
no rows selected
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE LOWER(Job) = 'manager'
/

ENAME
---------BLAKE
CLARK
JONES

SAL DEPTNO JOB


--- ------ --------###
30 MANAGER
###
10 MANAGER
###
20 MANAGER

SQL> COLUMN Sal FORMAT 9999


SQL> /
ENAME
SAL DEPTNO JOB
---------- ----- ------ --------BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE Job = UPPER('manager')
/

ENAME
SAL DEPTNO JOB
---------- ----- ------ --------BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE Job = 'MANAGER'
/

ENAME
SAL DEPTNO JOB
---------- ----- ------ --------BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Sal, Deptno, Job
2 FROM Emp
3* WHERE Job = 'manger'
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE SOUNDEX(Job) = SOUNDEX('manger')
/

ENAME
SAL DEPTNO JOB
---------- ----- ------ --------BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE SOUNDEX(Job) = SOUNDEX('clrk')
/

ENAME
SAL DEPTNO JOB
---------- ----- ------ --------JAMES
950
30 CLERK
SMITH
800
20 CLERK
ADAMS
1100
20 CLERK
MILLER
1300
10 CLERK
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Sal, Deptno, Job
2 FROM Emp
3* WHERE SOUNDEX(Ename) = SOUNDEX('smythe')
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
ENAME
SAL DEPTNO JOB
---------- ----- ------ --------SMITH
800
20 CLERK
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job


FROM Emp
WHERE SOUNDEX(Ename) = SOUNDEX('Kng')
/

ENAME
SAL DEPTNO JOB
---------- ----- ------ --------KING
5000
10 PRESIDENT
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Deptno, Job, SOUNDEX('Kng'), SOUNDEX(Ename)


FROM Emp
WHERE SOUNDEX(Ename) = SOUNDEX('Kng')
/

ENAME
SAL DEPTNO JOB
SOUN SOUN
---------- ----- ------ --------- ---- ---KING
5000
10 PRESIDENT K520 K520
SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> CREATE TABLE SampleNN01
2 (
3
SampID NUMBER(2)
4
CONSTRAINT SampleNN01_SampID_NN NOT NULL,
5
SampName VARCHAR2(10)
6
CONSTRAINT SampleNN01_SampName_NN NOT NULL,
7
SampDate DATE
8 );
Table created.
SQL> DESC SampleNN01
Name
----------------------------------------SAMPID
SAMPNAME
SAMPDATE

Null?
-------NOT NULL
NOT NULL

Type
---------------------------NUMBER(2)
VARCHAR2(10)
DATE

SQL> INSERT INTO SampleNN01


2 VALUES(1, 'SAMPLE01', SYSDATE);
1 row created.
SQL> INSERT INTO SampleNN01
2 VALUES(NULL, 'SAMPLE01', SYSDATE);
VALUES(NULL, 'SAMPLE01', SYSDATE)
*
ERROR at line 2:
ORA-01400: cannot insert NULL into ("SCOTT"."SAMPLENN01"."SAMPID")

SQL> INSERT INTO SampleNN01


2 VALUES(2, NULL, SYSDATE);
VALUES(2, NULL, SYSDATE)
*
ERROR at line 2:
ORA-01400: cannot insert NULL into ("SCOTT"."SAMPLENN01"."SAMPNAME")

SQL> INSERT INTO SampleNN01


2 VALUES(2, 'SAMPLE02', NULL);
1 row created.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6

CREATE TABLE SampleNN02


(
SampID NUMBER(2),
SampName VARCHAR2(10)
CONSTRAINT SampleNN02_SampName_NN NOT NULL,
SampDate DATE,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7
CONSTRAINT SampleNN02_SampID_NN NOT NULL(SampID)
8* )
SQL> /
CONSTRAINT SampleNN02_SampID_NN NOT NULL(SampID)
*
ERROR at line 7:
ORA-00904: : invalid identifier

SQL> cl scr
SQL> CREATE TABLE SampUNQ01
2 (
3
SampID NUMBER(2)
4
CONSTRAINT SampUNQ01_SampID_UNQ UNIQUE,
5
SampName VARCHAR2(10),
6
SampDate DATE
7 );
Table created.
SQL> INSERT INTO SampUNQ01
2 VALUES(1, 'SAMPLE01', SYSDATE);
1 row created.
SQL> INSERT INTO SampUNQ01
2 VALUES(1, 'SAMPLE02', SYSDATE);
INSERT INTO SampUNQ01
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.SAMPUNQ01_SAMPID_UNQ) violated

SQL> INSERT INTO SampUNQ01


2 VALUES(NULL, 'SAMPLE02', SYSDATE);
1 row created.
SQL> INSERT INTO SampUNQ01
2 VALUES(NULL, 'SAMPLE03', SYSDATE);
1 row created.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6

CREATE TABLE SampUNQ02


(
SampID NUMBER(2),
SampName VARCHAR2(10),
SampDate DATE,
CONSTRAINT SampUNQ02_SampID_UNQ UNIQUE(SampID)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7* )
SQL> /
Table created.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

CREATE TABLE SampUNQ03


(
SampID NUMBER(2)
CONSTRAINT SampUNQ03_SampID_UNQ UNIQUE,
SampName VARCHAR2(10)
CONSTRAINT SampUNQ03_SampName_UNQ UNIQUE,
SampDate DATE
)
/

Table created.
SQL> INSERT INTO SampUNQ03
2 VALUES(1, 'SAMPLE01', SYSDATE);
1 row created.
SQL> INSERT INTO SampUNQ03
2 VALUES(2, 'SAMPLE01', SYSDATE);
INSERT INTO SampUNQ03
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.SAMPUNQ03_SAMPNAME_UNQ) violated

SQL> INSERT INTO SampUNQ03


2 VALUES(1, 'SAMPLE02', SYSDATE);
INSERT INTO SampUNQ03
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.SAMPUNQ03_SAMPID_UNQ) violated

SQL> INSERT INTO SampUNQ03


2 VALUES(2, 'SAMPLE02', SYSDATE);
1 row created.
SQL> INSERT INTO SampUNQ03
2 VALUES(NULL, 'SAMPLE03', SYSDATE);
1 row created.
SQL> INSERT INTO SampUNQ03
2 VALUES(NULL, 'SAMPLE04', SYSDATE);
1 row created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> INSERT INTO SampUNQ03


2 VALUES(3, NULL, SYSDATE);
1 row created.
SQL> INSERT INTO SampUNQ03
2 VALUES(4, NULL, SYSDATE);
1 row created.
SQL> INSERT INTO SampUNQ03
2 VALUES(NULL, NULL, SYSDATE);
1 row created.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

CREATE TABLE SampUNQ04


(
SampID NUMBER(2),
SampName VARCHAR2(10),
SampDate DATE,
CONSTRAINT SampUNQ04_SampID_UNQ UNIQUE(SampID),
CONSTRAINT SampUNQ04_SampName_UNQ UNIQUE(SampName)
)
/

Table created.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

CREATE TABLE SampUNQ05


(
SampID NUMBER(2),
SampName VARCHAR2(10),
SampDate DATE,
CONSTRAINT SampUNQ05_SampIDName_UNQ
UNIQUE(SampID, SampName)
)
/

Table created.
SQL> INSERT INTO SampUNQ05
2 VALUES(1, 'SAMPLE01', SYSDATE);
1 row created.
SQL> INSERT INTO SampUNQ05
2 VALUES(1, 'SAMPLE02', SYSDATE);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1 row created.
SQL> INSERT INTO SampUNQ05
2 VALUES(2, 'SAMPLE02', SYSDATE);
1 row created.
SQL> INSERT INTO SampUNQ05
2 VALUES(NULL, 'SAMPLE03', SYSDATE);
1 row created.
SQL> INSERT INTO SampUNQ05
2 VALUES(NULL, 'SAMPLE04', SYSDATE);
1 row created.
SQL> INSERT INTO SampUNQ05
2 VALUES(NULL, 'SAMPLE04', SYSDATE);
INSERT INTO SampUNQ05
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.SAMPUNQ05_SAMPIDNAME_UNQ) violated

SQL> INSERT INTO SampUNQ05


2 VALUES(NULL, NULL, SYSDATE);
1 row created.
SQL> INSERT INTO SampUNQ05
2 VALUES(NULL, NULL, SYSDATE);
1 row created.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9*
SQL>

CREATE TABLE SampUNQ06


(
SampID NUMBER(2)
CONSTRAINT SampUNQ06_SampID_UNQ UNIQUE,
SampName VARCHAR2(10),
SampDate DATE,
CONSTRAINT SampUNQ06_SampIDName_UNQ
UNIQUE(SampID, SampName)
)
/

Table created.
SQL> SPOOL OFF
SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> CREATE TABLE SamplePK01


2 (
3
SampID NUMBER(2)
4
CONSTRAINT SamplePK01_SampID_PK PRIMARY KEY,
5
SampName VARCHAR2(10),
6
SampDate DATE
7 );
Table created.
SQL> DESC SamplePK01
Name
Null?
----------------------------------------- -------SAMPID
NOT NULL
SAMPNAME
SAMPDATE

Type
---------------------------NUMBER(2)
VARCHAR2(10)
DATE

SQL> INSERT INTO SamplePK01


2 VALUES(1, 'SAMPLE01', SYSDATE);
1 row created.
SQL> INSERT INTO SamplePK01
2 VALUES(1, 'SAMPLE02', SYSDATE);
INSERT INTO SamplePK01
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.SAMPLEPK01_SAMPID_PK) violated

SQL> INSERT INTO SamplePK01


2 VALUES(NULL, 'SAMPLE02', SYSDATE);
VALUES(NULL, 'SAMPLE02', SYSDATE)
*
ERROR at line 2:
ORA-01400: cannot insert NULL into ("SCOTT"."SAMPLEPK01"."SAMPID")

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

CREATE TABLE SamplePK02


(
SampID NUMBER(2),
SampName VARCHAR2(10),
SampDate DATE,
CONSTRAINT SamplePK02_SampID_PK
PRIMARY KEY(SampID)
)
/

Table created.
SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1 CREATE TABLE SamplePK03


2 (
3
SampID NUMBER(2),
4
SampName VARCHAR2(10)
5
CONSTRAINT SamplePK03_SampName_PK PRIMARY KEY,
6
SampDate DATE,
7
CONSTRAINT SamplePK03_SampID_PK
8
PRIMARY KEY(SampID)
9* )
SQL> /
PRIMARY KEY(SampID)
*
ERROR at line 8:
ORA-02260: table can have only one primary key

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10*
SQL>

CREATE TABLE SamplePK03


(
SampID NUMBER(2),
SampName VARCHAR2(10)
CONSTRAINT SamplePK03_SampName_NN NOT NULL
CONSTRAINT SamplePK03_SampName_UNQ UNIQUE,
SampDate DATE,
CONSTRAINT SamplePK03_SampID_PK
PRIMARY KEY(SampID)
)
/

Table created.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11*
SQL>

CREATE TABLE SamplePK04


(
SampID NUMBER(2),
SampName VARCHAR2(10)
CONSTRAINT SamplePK04_SampName_NN NOT NULL,
SampDate DATE,
CONSTRAINT SamplePK04_SampID_PK
PRIMARY KEY(SampID),
CONSTRAINT SamplePK04_SampName_UNQ
UNIQUE(SampName)
)
/

Table created.
SQL> CREATE TABLE SamplePK05
2 (
3
SampID NUMBER(2),
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4
SampName VARCHAR2(10),
5
SampDate DATE,
6
CONSTRAINT SamplePK05_SampIDName_PK
7
PRIMARY KEY(SampID, SammName)
8 );
PRIMARY KEY(SampID, SammName)
*
ERROR at line 7:
ORA-00904: "SAMMNAME": invalid identifier

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

CREATE TABLE SamplePK05


(
SampID NUMBER(2),
SampName VARCHAR2(10),
SampDate DATE,
CONSTRAINT SamplePK05_SampIDName_PK
PRIMARY KEY(SampID, SampName)
)
/

Table created.
SQL> INSERT INTo SamplePK05
2 VALUES(1, 'SAMPLE01', SYSDATE);
1 row created.
SQL> INSERT INTo SamplePK05
2 VALUES(1, 'SAMPLE02', SYSDATE);
1 row created.
SQL> INSERT INTo SamplePK05
2 VALUES(2, 'SAMPLE02', SYSDATE);
1 row created.
SQL> INSERT INTo SamplePK05
2 VALUES(NULL, 'SAMPLE03', SYSDATE);
VALUES(NULL, 'SAMPLE03', SYSDATE)
*
ERROR at line 2:
ORA-01400: cannot insert NULL into ("SCOTT"."SAMPLEPK05"."SAMPID")

SQL> INSERT INTo SamplePK05


2 VALUES(3, NULL, SYSDATE);
VALUES(3, NULL, SYSDATE)
*
ERROR at line 2:
ORA-01400: cannot insert NULL into ("SCOTT"."SAMPLEPK05"."SAMPNAME")
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1 CREATE TABLE SamplePK06
2 (
3
SampID NUMBER(2)
4
CONSTRAINT SamplePK06_SampID_UNQ UNIQUE,
5
SampName VARCHAR2(10),
6
SampDate DATE,
7
CONSTRAINT SamplePK06_SampID_PK
8
PRIMARY KEY(SampID)
9* )
SQL> /
CONSTRAINT SamplePK06_SampID_UNQ UNIQUE,
*
ERROR at line 4:
ORA-02261: such unique or primary key already exists in the table

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9*
SQL>

CREATE TABLE SamplePK06


(
SampID NUMBER(2)
CONSTRAINT SamplePK06_SampID_UNQ UNIQUE,
SampName VARCHAR2(10),
SampDate DATE,
CONSTRAINT SamplePK06_SampIDName_PK
PRIMARY KEY(SampID, SampName)
)
/

Table created.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10*
SQL>

CREATE TABLE SamplePK07


(
SampID NUMBER(2)
CONSTRAINT SamplePK07_SampID_UNQ UNIQUE,
SampName VARCHAR2(10)
CONSTRAINT SamplePK07_SampName_UNQ UNIQUE,
SampDate DATE,
CONSTRAINT SamplePK07_SampIDName_PK
PRIMARY KEY(SampID, SampName)
)
/

Table created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1 CREATE TABLE SamplePK08
2 (
3
SampID NUMBER(2),
4
SampName VARCHAR2(10),
5
SampDate DATE,
6
CONSTRAINT SamplePK08_SampIDName_PK
7
PRIMARY KEY(SampID, SampName),
8
CONSTRAINT SamplePK08_SampIDName_UNQ
9
UNIQUE(SampID, SampName)
10* )
SQL> /
UNIQUE(SampID, SampName)
*
ERROR at line 9:
ORA-02261: such unique or primary key already exists in the table

SQL> SPOOL OFF


SQL> SELECT * FROM TAB;
TNAME
-----------------------------SAMPLEPK01
SAMPLEPK02
SAMPLEPK03
SAMPLEPK04
SAMPLEPK05
SAMPLEPK06
SAMPLEPK07
EMPLOYEES
EMPINFO
EMPGRADES
EMPMANAGERS

TABTYPE CLUSTERID
------- ---------TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
VIEW
VIEW
VIEW
VIEW

TNAME
-----------------------------EMPACCOUNTS
CUMSUM
ORGDESIGNATIONS
DEPT
EMP
BONUS
SALGRADE
DUMMY
CUSTOMER
ORD
ITEM

TABTYPE CLUSTERID
------- ---------VIEW
VIEW
VIEW
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE

TNAME
TABTYPE CLUSTERID
------------------------------ ------- ---------PRODUCT
TABLE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

PRICE
SALES

TABLE
VIEW

25 rows selected.
SQL> SPOOL OFF
SQL> cl scr
SQL> CREATE TABLE MyDept
2 (
3
Deptno NUMBER(2)
4
CONSTRAINT MyDept_Deptno_PK PRIMARY KEY,
5
Dname VARCHAR2(16)
6
CONSTRAINT MyDept_Dname_NN NOT NULL,
7
Loc VARCHAR2(16)
8
CONSTRAINT MyDept_Loc_NN NOT NULL
9 );
Table created.
SQL> CREATE TABLE MyEmp
2 (
3
Empno NUMBER(4)
4
CONSTRAINT MyEmp_Empno_PK PRIMARY KEY,
5
Ename VARCHAR2(10)
6
CONSTRAINT MyEmp_Ename_NN NOT NULL,
7
Job VARCHAR2(14)
8
CONSTRAINT MyEmp_Job_NN NOT NULL,
9
HireDate DATE
10
CONSTRAINT MyEmp_HireDate_NN NOT NULL,
11
MGR NUMBER(4)
12
CONSTRAINT MyEmp_MGR_FK
13
REFERENCES MyEmp(Empno)
14
ON DELETE SET NULL,
15
Sal NUMBER(7, 2)
16
CONSTRAINT MyEmp_Sal_NN NOT NULL,
17
Comm NUMBER(7, 2),
18
DeptID NUMBER(2)
19
CONSTRAINT MyEmp_DeptID_NN NOT NULL
20
CONSTRAINT MyEmp_DeptID_FK
21
REFERENCES MyDept(Deptno)
22
ON DELETE CASCADE
23 );
Table created.
SQL> DESC Dept
Name
Null?
----------------------------------------- -------DEPTNO
NOT NULL
DNAME
LOC

Type
---------------------------NUMBER(2)
VARCHAR2(14)
VARCHAR2(13)

SQL> DESC MyDept


Name
Null?
Type
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

----------------------------------------DEPTNO
DNAME
LOC
SQL> DESC Emp
Name
----------------------------------------EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO
SQL> DESC MyEmp
Name
----------------------------------------EMPNO
ENAME
JOB
HIREDATE
MGR
SAL
COMM
DEPTID

-------NOT NULL
NOT NULL
NOT NULL

---------------------------NUMBER(2)
VARCHAR2(16)
VARCHAR2(16)

Null?
Type
-------- ---------------------------NOT NULL NUMBER(4)
VARCHAR2(10)
VARCHAR2(9)
NUMBER(4)
DATE
NUMBER(7,2)
NUMBER(7,2)
NOT NULL NUMBER(2)

Null?
-------NOT NULL
NOT NULL
NOT NULL
NOT NULL

Type
---------------------------NUMBER(4)
VARCHAR2(10)
VARCHAR2(14)
DATE
NUMBER(4)
NOT NULL NUMBER(7,2)
NUMBER(7,2)
NOT NULL NUMBER(2)

SQL> INSERT INTO MyEmp


2 VALUES(1230, 'SAMPLE01', 'MANAGER', SYSDATE,
3
SQL> cl scr
SQL> CREATE TABLE SamplePK01
2 (
3
SampID NUMBER(2)
4
CONSTRAINT SamplePK01_SampID_PK PRIMARY KEY,
5
SampName VARCHAR2(10),
6
SampDate DATE
7 );
Table created.
SQL> CREATE TABLE SampleFK01
2 (
3
SampID NUMBER(2)
4
CONSTRAINT SampleFK01_SampID_PK PRIMARY KEY,
5
SampName VARCHAR2(10),
6
SampDate DATE,
7
SampIDFK NUMBER(2)
8
CONSTRAINT SampleFK01_SampIDFK_FK
9
REFERENCES SamplePK01(SampID)
10 );
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Table created.
SQL> INSERT INTO SampleFK01
2 VALUES(20, 'SAMPLE20', SYSDATE, NULL);
1 row created.
SQL> INSERT INTO SamplePK01
2 VALUES(10, 'SAMPLE10', SYSDATE);
1 row created.
SQL> INSERT INTO SamplePK01
2 VALUES(11, 'SAMPLE11', SYSDATE);
1 row created.
SQL> INSERT INTO SamplePK01
2 VALUES(12, 'SAMPLE12', SYSDATE);
1 row created.
SQL> INSERT INTO SamplePK01
2 VALUES(13, 'SAMPLE13', SYSDATE);
1 row created.
SQL> INSERT INTO SampleFK01
2 VALUES(21, 'SAMPLE21', SYSDATE, 10);
1 row created.
SQL> INSERT INTO SampleFK01
2 VALUES(22, 'SAMPLE22', SYSDATE, 15);
INSERT INTO SampleFK01
*
ERROR at line 1:
ORA-02291: integrity constraint (SCOTT.SAMPLEFK01_SAMPIDFK_FK) violated parent key not found

SQL> INSERT INTO SampleFK01


2 VALUES(22, 'SAMPLE22', SYSDATE, 10);
1 row created.
SQL> INSERT INTO SampleFK01
2 VALUES(23, 'SAMPLE23', SYSDATE, 12);
1 row created.
SQL> SELECT * FROM SamplePK01;
SAMPID SAMPNAME
SAMPDATE
---------- ---------- --------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

10
11
12
13

SAMPLE10
SAMPLE11
SAMPLE12
SAMPLE13

23-JUN-10
23-JUN-10
23-JUN-10
23-JUN-10

SQL> SELECT * FROM SampleFK01;


SAMPID
---------20
21
22
23

SAMPNAME
---------SAMPLE20
SAMPLE21
SAMPLE22
SAMPLE23

SAMPDATE
SAMPIDFK
--------- ---------23-JUN-10
23-JUN-10
10
23-JUN-10
10
23-JUN-10
12

SQL> DELETE FROM SamplePK01


2 WHERE SampID = 13;
1 row deleted.
SQL> DELETE FROM SamplePK01
2 WHERE SampID = 12;
DELETE FROM SamplePK01
*
ERROR at line 1:
ORA-02292: integrity constraint (SCOTT.SAMPLEFK01_SAMPIDFK_FK) violated - child
record found

SQL> DELETE FROM SampleFK01


2 WHERE SampID = 23;
1 row deleted.
SQL> cl scr
SQL> CREATE TABLE SamplePK02
2 (
3
SampID NUMBER(2)
4
CONSTRAINT SamplePK02_SampID_PK PRIMARY KEY,
5
SampName VARCHAR2(10),
6
SampDate DATE
7 );
Table created.
SQL> CREATE TABLE SampleFK02
2 (
3
SampID NUMBER(2)
4
CONSTRAINT SampleFK02_SampID_PK PRIMARY KEY,
5
SampName VARCHAR2(10),
6
SampDate DATE,
7
SampIDFK NUMBER(2)
8
CONSTRAINT SampleFK02_SampIDFK_FK
9
REFERENCES SamplePK02(SampID)
10
ON DELETE SET NULL
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

11

);

Table created.
SQL> INSERT INTO SamplePK02
2 VALUES(1, 'SAMPLE01', SYSDATE);
1 row created.
SQL> INSERT INTO SamplePK02
2 VALUES(2, 'SAMPLE02', SYSDATE);
1 row created.
SQL> INSERT INTO SamplePK02
2 VALUES(3, 'SAMPLE03', SYSDATE);
1 row created.
SQL> INSERT INTO SampleFK02
2 VALUES(10, 'SAMPLE10', SYSDATE, 1);
1 row created.
SQL> INSERT INTO SampleFK02
2 VALUES(11, 'SAMPLE11', SYSDATE, 2);
1 row created.
SQL> INSERT INTO SampleFK02
2 VALUES(12, 'SAMPLE12', SYSDATE, 2);
1 row created.
SQL> INSERT INTO SampleFK02
2 VALUES(13, 'SAMPLE13', SYSDATE, 2);
1 row created.
SQL> SELECT * FROM SamplePK02;
SAMPID
---------1
2
3

SAMPNAME
---------SAMPLE01
SAMPLE02
SAMPLE03

SAMPDATE
--------23-JUN-10
23-JUN-10
23-JUN-10

SQL> SELECT * FROM SampleFK02;


SAMPID
---------10
11
12
13

SAMPNAME
SAMPDATE
SAMPIDFK
---------- --------- ---------SAMPLE10
23-JUN-10
1
SAMPLE11
23-JUN-10
2
SAMPLE12
23-JUN-10
2
SAMPLE13
23-JUN-10
2
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> DELETE FROM SamplePK02


2 WHERE SampID = 2;
1 row deleted.
SQL> SELECT * FROM SampleFK02;
SAMPID
---------10
11
12
13

SAMPNAME
---------SAMPLE10
SAMPLE11
SAMPLE12
SAMPLE13

SAMPDATE
SAMPIDFK
--------- ---------23-JUN-10
1
23-JUN-10
23-JUN-10
23-JUN-10

SQL> cl scr
SQL> CREATE TABLE SamplePK03
2 (
3
SampID NUMBER(2)
4
CONSTRAINT SamplePK03_SampID_PK PRIMARY KEY,
5
SampName VARCHAR2(10),
6
SampDate DATE
7 );
Table created.
SQL> CREATE TABLE SampleFK03_1
2 (
3
SampID NUMBER(2)
4
CONSTRAINT SampleFK03_1_SampID_PK PRIMARY KEY,
5
SampName VARCHAR2(10),
6
SampDate DATE,
7
SampIDFK NUMBER(2)
8
CONSTRAINT SampleFK03_1_SampIDFK_FK
9
REFERENCES SamplePK03(SampID)
10
ON DELETE CASCADE
11 );
Table created.
SQL> ED
Wrote file afiedt.buf
1 CREATE TABLE SampleFK03_2
2 (
3
SampID NUMBER(2)
4
CONSTRAINT SampleFK03_2_SampID_PK PRIMARY KEY,
5
SampName VARCHAR2(10),
6
SampDate DATE,
7
SampIDFK NUMBER(2)
8
CONSTRAINT SampleFK03_2_SampIDFK_FK
9
REFERENCES SamplePK03(SampID)
10
ON DELETE SET NULL
11* )
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
Table created.
SQL> INSERT INTO SamplePK03
2 VALUES(10, 'SAMPLE10', SYSDATE);
1 row created.
SQL> INSERT INTO SamplePK03
2 VALUES(11, 'SAMPLE11', SYSDATE);
1 row created.
SQL> INSERT INTO SamplePK03
2 VALUES(12, 'SAMPLE12', SYSDATE);
1 row created.
SQL> INSERT INTO SamplePK03
2 VALUES(13, 'SAMPLE13', SYSDATE);
1 row created.
SQL> INSERT INTO SamplePK03
2 VALUES(14, 'SAMPLE14', SYSDATE);
1 row created.
SQL> INSERT INTO SamplePK03
2 VALUES(15, 'SAMPLE15', SYSDATE);
1 row created.
SQL> INSERT INTO SamplePK03
2 VALUES(16, 'SAMPLE16', SYSDATE);
1 row created.
SQL> COMMIT;
Commit complete.
SQL> INSERT INTO SampleFK03_1
2 VALUES(20, 'SAMPLE20', SYSDATE, 10);
1 row created.
SQL> INSERT INTO SampleFK03_1
2 VALUES(21, 'SAMPLE21', SYSDATE, 10);
1 row created.
SQL> INSERT INTO SampleFK03_1
2 VALUES(22, 'SAMPLE22', SYSDATE, 10);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1 row created.
SQL> INSERT INTO SampleFK03_1
2 VALUES(23, 'SAMPLE23', SYSDATE, 12);
1 row created.
SQL> INSERT INTO SampleFK03_1
2 VALUES(24, 'SAMPLE24', SYSDATE, 12);
1 row created.
SQL> INSERT INTO SampleFK03_1
2 VALUES(25, 'SAMPLE25', SYSDATE, 13);
1 row created.
SQL> INSERT INTO SampleFK03_1
2 VALUES(26, 'SAMPLE26', SYSDATE, 13);
1 row created.
SQL> INSERT INTO SampleFK03_1
2 VALUES(27, 'SAMPLE27', SYSDATE, 13);
1 row created.
SQL> INSERT INTO SampleFK03_1
2 VALUES(28, 'SAMPLE28', SYSDATE, 15);
1 row created.
SQL> INSERT INTO SampleFK03_2
2 VALUES(30, 'SAMPLE30', SYSDATE, 10);
1 row created.
SQL> INSERT INTO SampleFK03_2
2 VALUES(31, 'SAMPLE31', SYSDATE, 10);
1 row created.
SQL> INSERT INTO SampleFK03_2
2 VALUES(32, 'SAMPLE32', SYSDATE, 11);
1 row created.
SQL> INSERT INTO SampleFK03_2
2 VALUES(33, 'SAMPLE33', SYSDATE, 11);
1 row created.
SQL> INSERT INTO SampleFK03_2
2 VALUES(34, 'SAMPLE34', SYSDATE, 14);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1 row created.
SQL> INSERT INTO SampleFK03_2
2 VALUES(35, 'SAMPLE35', SYSDATE, 14);
1 row created.
SQL> INSERT INTO SampleFK03_2
2 VALUES(36, 'SAMPLE36', SYSDATE, 14);
1 row created.
SQL> INSERT INTO SampleFK03_2
2 VALUES(37, 'SAMPLE37', SYSDATE, 15);
1 row created.
SQL> COMMIT;
Commit complete.
SQL> cl scr
SQL> SELECT * FROM SamplePK03;
SAMPID
---------10
11
12
13
14
15
16

SAMPNAME
---------SAMPLE10
SAMPLE11
SAMPLE12
SAMPLE13
SAMPLE14
SAMPLE15
SAMPLE16

SAMPDATE
--------23-JUN-10
23-JUN-10
23-JUN-10
23-JUN-10
23-JUN-10
23-JUN-10
23-JUN-10

7 rows selected.
SQL> SELECT * FROM SampleFK03_1;
SAMPID
---------20
21
22
23
24
25
26
27
28

SAMPNAME
---------SAMPLE20
SAMPLE21
SAMPLE22
SAMPLE23
SAMPLE24
SAMPLE25
SAMPLE26
SAMPLE27
SAMPLE28

SAMPDATE
SAMPIDFK
--------- ---------23-JUN-10
10
23-JUN-10
10
23-JUN-10
10
23-JUN-10
12
23-JUN-10
12
23-JUN-10
13
23-JUN-10
13
23-JUN-10
13
23-JUN-10
15

9 rows selected.
SQL> SELECT * FROM SampleFK03_2;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SAMPID
---------30
31
32
33
34
35
36
37

SAMPNAME
---------SAMPLE30
SAMPLE31
SAMPLE32
SAMPLE33
SAMPLE34
SAMPLE35
SAMPLE36
SAMPLE37

SAMPDATE
SAMPIDFK
--------- ---------23-JUN-10
10
23-JUN-10
10
23-JUN-10
11
23-JUN-10
11
23-JUN-10
14
23-JUN-10
14
23-JUN-10
14
23-JUN-10
15

8 rows selected.
SQL> DELETE FROM SamplePK03
2 WHERE SampID = 16;
1 row deleted.
SQL> DELETE FROM SamplePK03
2 WHERE SampID = 12;
1 row deleted.
SQL> SELECT * FROM SamplePK03;
SAMPID
---------10
11
13
14
15

SAMPNAME
---------SAMPLE10
SAMPLE11
SAMPLE13
SAMPLE14
SAMPLE15

SAMPDATE
--------23-JUN-10
23-JUN-10
23-JUN-10
23-JUN-10
23-JUN-10

SQL> SELECT * FROM SampleFK03_1;


SAMPID
---------20
21
22
25
26
27
28

SAMPNAME
---------SAMPLE20
SAMPLE21
SAMPLE22
SAMPLE25
SAMPLE26
SAMPLE27
SAMPLE28

SAMPDATE
SAMPIDFK
--------- ---------23-JUN-10
10
23-JUN-10
10
23-JUN-10
10
23-JUN-10
13
23-JUN-10
13
23-JUN-10
13
23-JUN-10
15

7 rows selected.
SQL> DELETE FROM SamplePK03
2 WHERE SampID = 14;
1 row deleted.
SQL> SELECT * FROM SampleFK03_2;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SAMPID
---------30
31
32
33
34
35
36
37

SAMPNAME
---------SAMPLE30
SAMPLE31
SAMPLE32
SAMPLE33
SAMPLE34
SAMPLE35
SAMPLE36
SAMPLE37

SAMPDATE
SAMPIDFK
--------- ---------23-JUN-10
10
23-JUN-10
10
23-JUN-10
11
23-JUN-10
11
23-JUN-10
23-JUN-10
23-JUN-10
23-JUN-10
15

8 rows selected.
SQL> DELETE FROM SamplePK03
2 WHERE SampID = 10;
1 row deleted.
SQL> SELECT * FROM SampleFK03_1;
SAMPID
---------25
26
27
28

SAMPNAME
---------SAMPLE25
SAMPLE26
SAMPLE27
SAMPLE28

SAMPDATE
SAMPIDFK
--------- ---------23-JUN-10
13
23-JUN-10
13
23-JUN-10
13
23-JUN-10
15

SQL> SELECT * FROM SampleFK03_2;


SAMPID
---------30
31
32
33
34
35
36
37

SAMPNAME
---------SAMPLE30
SAMPLE31
SAMPLE32
SAMPLE33
SAMPLE34
SAMPLE35
SAMPLE36
SAMPLE37

SAMPDATE
SAMPIDFK
--------- ---------23-JUN-10
23-JUN-10
23-JUN-10
11
23-JUN-10
11
23-JUN-10
23-JUN-10
23-JUN-10
23-JUN-10
15

8 rows selected.
SQL> cl scr
SQL> CREATE TABLE SamplePK04Self
2 (
3
SampID NUMBER(2)
4
CONSTRAINT SamplePK04Self_SampIDPK PRIMARY KEY,
5
SampName VARCHAR2(10),
6
SampDate DATE,
7
SampIDFK NUMBER(2)
8
CONSTRAINT SamplePK04Self_SampIDFK
9
REFERENCES SamplePK04Self(SampID)
10
ON DELETE SET NULL
11 );
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Table created.
SQL> INSERT INTO SamplePK04Self
2 VALUES(1, 'SAMPLE01', SYSDATE, NULL);
1 row created.
SQL> INSERT INTO SamplePK04Self
2 VALUES(2, 'SAMPLE02', SYSDATE, 1);
1 row created.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12*
SQL>

CREATE TABLE SamplePK04Self1


(
SampID NUMBER(2)
CONSTRAINT SamplePK04Self1_SampIDPK PRIMARY KEY,
SampName VARCHAR2(10),
SampDate DATE,
SampIDFK NUMBER(2)
CONSTRAINT SamplePK04Self1_SampIDNN NOT NULL
CONSTRAINT SamplePK04Self1_SampIDFK
REFERENCES SamplePK04Self1(SampID)
ON DELETE CASCADE
)
/

Table created.
SQL> INSERT INTO SamplePK04Self1
2 VALUES(1, 'SAMPLE01', SYSDATE, NULL);
VALUES(1, 'SAMPLE01', SYSDATE, NULL)
*
ERROR at line 2:
ORA-01400: cannot insert NULL into ("SCOTT"."SAMPLEPK04SELF1"."SAMPIDFK")

SQL> INSERT INTO SamplePK04Self1


2 VALUES(1, 'SAMPLE01', SYSDATE, 1);
1 row created.
SQL> INSERT INTO SamplePK04Self1
2 VALUES(2, 'SAMPLE02', SYSDATE, 1);
1 row created.
SQL> cl scr
SQL> SELECT * FROM TAB;
TNAME

TABTYPE CLUSTERID
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

-----------------------------DEPT
EMP
BONUS
SALGRADE
DUMMY
CUSTOMER
ORD
ITEM
PRODUCT
PRICE
EMPLOYEES

------- ---------TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
VIEW

TNAME
-----------------------------EMPINFO
EMPGRADES
EMPMANAGERS
EMPACCOUNTS
CUMSUM
ORGDESIGNATIONS
SALES
MYDEPT
MYEMP
SAMPLEPK01
SAMPLEFK01

TABTYPE CLUSTERID
------- ---------VIEW
VIEW
VIEW
VIEW
VIEW
VIEW
VIEW
TABLE
TABLE
TABLE
TABLE

TNAME
-----------------------------SAMPLEPK02
SAMPLEFK02
SAMPLEPK03
SAMPLEFK03_1
SAMPLEFK03_2
SAMPLEPK04SELF
SAMPLEPK04SELF1

TABTYPE CLUSTERID
------- ---------TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE

29 rows selected.
SQL> cl scr
SQL> CREATE TABLE SamplePK04
2 (
3
SampID NUMBER(2)
4
CONSTRAINT SamplePK04_SampID_PK PRIMARY KEY,
5
SampName VARCHAR2(10),
6
SampDate DATE
7 );
Table created.
SQL> CREATE TABLE SampleFK04
2 (
3
SampID NUMBER(2)
4
CONSTRAINT SampleFK04_SampID_FK
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

5
6
7
8
9
10

REFERENCES SamplePK04(SampID),
SampName VARCHAR2(10),
SampDate DATE,
CONSTRAINT SampleFK04_SampID_PK
PRIMARY KEY(SampID)
);

Table created.
SQL> CREATE TABLE SampleFK04_1
2 (
3
SampID NUMBER(2)
4
CONSTRAINT SampleFK04_1_SampID_FK
5
REFERENCES SampleFK04(SampID),
6
SampName VARCHAR2(10)
7 );
Table created.
SQL> cl scr
SQL>
2
3
4
5
6
7
8

CREATE TABLE SampleCKPK01


(
SampID NUMBER(2)
,SampName VARCHAR2(10)
,SampDate DATE
,CONSTRAINT SampleCKPK01_SampIDName_CKPK
PRIMARY KEY(SampID, SampName)
);

Table created.
SQL> CREATE TABLE SampleCKFK01
2 (
3
SampID NUMBER(2),
4
SampName VARCHAR2(10),
5
SampDate DATE,
6
CONSTRAINT SampleCKFK01_SampIDNameCKFK
7
FOREIGN KEY(SampID, SampName)
8
REFERENCES SampleCKPK01(SampID, SampName)
9 );
Table created.
SQL> cl scr
SQL> CREATE TABLE SamplePKUNQ
2 (
3
SampIDPK NUMBER(2)
4
CONSTRAINT SamplePKUNQ_SampIDPK_PK PRIMARY KEY,
5
SampIDUNQ1 NUMBER(2)
6
CONSTRAINT SamplePKUNQ_SampIDUNQ_UNQ UNIQUE,
7
SampDate DATE
8 );
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Table created.
SQL> CREATE TABLE SampleFK
2 (
3
SampIDFKPK NUMBER(2)
4
CONSTRAINT SampleFK_SampIDFKPK_FK
5
REFERENCES SamplePKUNQ(SampIDPK),
6
SampIDFKUNQ NUMBER(2)
7
CONSTRAINT SampleFK_SampIDFKUNQ_FK
8
REFERENCES SamplePKUNQ(SampIDUNQ1)
9 );
Table created.
SQL> SPOOL OFF
SQL> cl scr
SQL> CREATE TABLE MyDept
2 (
3
Deptno NUMBER(2)
4
CONSTRAINT MyDept_Deptno_PK PRIMARY KEY
5
CONSTRAINT MyDept_Deptno_CHK01
6
CHECK(Deptno IN(10, 20, 30, 40, 50, 60, 70, 80, 90)),
7
DName VARCHAR2(16)
8
CONSTRAINT MyDept_DName_NN NOT NULL
9
DEFAULT 'NOT GIVEN'
10
CONSTRAINT MyDept_DName_UNQ UNIQUE
11
CONSTRAINT MyDept_DName_CHK01
12
CHECK(DName = UPPER(DName)),
13
Loc VARCHAR2(14)
14
CONSTRAINT MyDept_Loc_NN NOT NULL
15
DEFAULT 'NOT GIVEN'
16
CONSTRAINT MyDept_Loc_CHK01
17
CHECK(Loc IN('NEW YORK', 'BOSTON', 'CHICAGO', 'DALLAS'))
18 );
DEFAULT 'NOT GIVEN'
*
ERROR at line 9:
ORA-00907: missing right parenthesis

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11

CREATE TABLE MyDept


(
Deptno NUMBER(2)
CONSTRAINT MyDept_Deptno_PK PRIMARY KEY
CONSTRAINT MyDept_Deptno_CHK01
CHECK(Deptno IN(10, 20, 30, 40, 50, 60, 70, 80, 90)),
DName VARCHAR2(16)
CONSTRAINT MyDept_DName_NN NOT NULL
DEFAULT 'NOT GIVEN')
CONSTRAINT MyDept_DName_UNQ UNIQUE
CONSTRAINT MyDept_DName_CHK01
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

12
CHECK(DName = UPPER(DName)),
13
Loc VARCHAR2(14)
14
CONSTRAINT MyDept_Loc_NN NOT NULL
15
DEFAULT 'NOT GIVEN'
16
CONSTRAINT MyDept_Loc_CHK01
17
CHECK(Loc IN('NEW YORK', 'BOSTON', 'CHICAGO', 'DALLAS'))
18* )
SQL> /
DEFAULT 'NOT GIVEN')
*
ERROR at line 9:
ORA-00907: missing right parenthesis

SQL> ED
Wrote file afiedt.buf
1 CREATE TABLE MyDept
2 (
3
Deptno NUMBER(2)
4
CONSTRAINT MyDept_Deptno_PK PRIMARY KEY
5
CONSTRAINT MyDept_Deptno_CHK01
6
CHECK(Deptno IN(10, 20, 30, 40, 50, 60, 70, 80, 90)),
7
DName VARCHAR2(16)
8
CONSTRAINT MyDept_DName_NN NOT NULL
9
(DEFAULT 'NOT GIVEN')
10
CONSTRAINT MyDept_DName_UNQ UNIQUE
11
CONSTRAINT MyDept_DName_CHK01
12
CHECK(DName = UPPER(DName)),
13
Loc VARCHAR2(14)
14
CONSTRAINT MyDept_Loc_NN NOT NULL
15
DEFAULT 'NOT GIVEN'
16
CONSTRAINT MyDept_Loc_CHK01
17
CHECK(Loc IN('NEW YORK', 'BOSTON', 'CHICAGO', 'DALLAS'))
18* )
SQL> /
(DEFAULT 'NOT GIVEN')
*
ERROR at line 9:
ORA-00907: missing right parenthesis

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10

CREATE TABLE MyDept


(
Deptno NUMBER(2)
CONSTRAINT MyDept_Deptno_PK PRIMARY KEY
CONSTRAINT MyDept_Deptno_CHK01
CHECK(Deptno IN(10, 20, 30, 40, 50, 60, 70, 80, 90)),
DName VARCHAR2(16)
DEFAULT 'NOT GIVEN'
CONSTRAINT MyDept_DName_NN NOT NULL
CONSTRAINT MyDept_DName_UNQ UNIQUE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

11
CONSTRAINT MyDept_DName_CHK01
12
CHECK(DName = UPPER(DName)),
13
Loc VARCHAR2(14)
14
CONSTRAINT MyDept_Loc_NN NOT NULL
15
DEFAULT 'NOT GIVEN'
16
CONSTRAINT MyDept_Loc_CHK01
17
CHECK(Loc IN('NEW YORK', 'BOSTON', 'CHICAGO', 'DALLAS'))
18* )
SQL> /
DEFAULT 'NOT GIVEN'
*
ERROR at line 15:
ORA-00907: missing right parenthesis

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18*
SQL>

CREATE TABLE MyDept


(
Deptno NUMBER(2)
CONSTRAINT MyDept_Deptno_PK PRIMARY KEY
CONSTRAINT MyDept_Deptno_CHK01
CHECK(Deptno IN(10, 20, 30, 40, 50, 60, 70, 80, 90)),
DName VARCHAR2(16)
DEFAULT 'Not Given'
CONSTRAINT MyDept_DName_NN NOT NULL
CONSTRAINT MyDept_DName_UNQ UNIQUE
CONSTRAINT MyDept_DName_CHK01
CHECK(DName = UPPER(DName)),
Loc VARCHAR2(14)
DEFAULT 'NOT GIVEN'
CONSTRAINT MyDept_Loc_NN NOT NULL
CONSTRAINT MyDept_Loc_CHK01
CHECK(Loc IN('NEW YORK', 'BOSTON', 'CHICAGO', 'DALLAS'))
)
/

Table created.
SQL> INSERT INTO MyDept
2 VALUES(1, 'ACCOUNTING', 'NEW YORK');
INSERT INTO MyDept
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.MYDEPT_DEPTNO_CHK01) violated

SQL> INSERT INTO MyDept


2 VALUES(10, 'ACCOUNTING', 'NEW YORK');
1 row created.
SQL> INSERT INTO MyDept
2 VALUES(11, 'ACCOUNTING', 'NEW YORK');
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

INSERT INTO MyDept


*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.MYDEPT_DEPTNO_CHK01) violated

SQL> INSERT INTO MyDept


2 VALUES(20, 'ACCOUNTING', 'NEW YORK');
INSERT INTO MyDept
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.MYDEPT_DNAME_UNQ) violated

SQL> INSERT INTO MyDept


2 VALUES(20, 'RESEARCH', 'BOSTON');
1 row created.
SQL> INSERT INTO MyDept
2 VALUES(30, 'SALES', 'Chicago');
INSERT INTO MyDept
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.MYDEPT_LOC_CHK01) violated

SQL> INSERT INTO MyDept


2 VALUES(30, 'SALES', 'CHICAGO');
1 row created.
SQL> INSERT INTO MyDept
2 VALUES(40, 'OPERATIONS');
INSERT INTO MyDept
*
ERROR at line 1:
ORA-00947: not enough values

SQL> INSERT INTO MyDept(Deptno, Loc)


2 VALUES(50, 'BOSTON');
INSERT INTO MyDept(Deptno, Loc)
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.MYDEPT_DNAME_CHK01) violated

SQL> INSERT INTO MyDept(Deptno, DName)


2 VALUES(40, 'OPEARTIONS');
INSERT INTO MyDept(Deptno, DName)
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.MYDEPT_LOC_CHK01) violated
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1 INSERT INTO MyDept(Deptno, DName)
2* VALUES(40, 'OPEARTIONS')
SQL> DROP TABLE MyDept;
Table dropped.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18*
SQL>

CREATE TABLE MyDept


(
Deptno NUMBER(2)
CONSTRAINT MyDept_Deptno_PK PRIMARY KEY
CONSTRAINT MyDept_Deptno_CHK01
CHECK(Deptno IN(10, 20, 30, 40, 50, 60, 70, 80, 90)),
DName VARCHAR2(16)
DEFAULT 'NOT GIVEN'
CONSTRAINT MyDept_DName_NN NOT NULL
CONSTRAINT MyDept_DName_UNQ UNIQUE
CONSTRAINT MyDept_DName_CHK01
CHECK(DName = UPPER(DName)),
Loc VARCHAR2(14)
DEFAULT 'NOT GIVEN'
CONSTRAINT MyDept_Loc_NN NOT NULL
CONSTRAINT MyDept_Loc_CHK01
CHECK(Loc IN('NEW YORK', 'BOSTON', 'CHICAGO', 'DALLAS', 'NOT GIVEN'))
)
/

Table created.
SQL> INSERT INTO MyDept(Deptno, DName)
2 VALUES(10, 'OPERATIONS');
1 row created.
SQL> INSERT INTO MyDept(Deptno, Loc)
2 VALUES(20, 'BOSTON');
1 row created.
SQL> SELECT * FROM MyDept;
DEPTNO
---------10
20

DNAME
---------------OPERATIONS
NOT GIVEN

LOC
-------------NOT GIVEN
BOSTON

SQL> INSERT INTO MyDept(Deptno, DName)


2 VALUES(30, 'ACCOUNTING');
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1 row created.
SQL> SELECT * FROM MyDept;
DEPTNO
---------10
20
30

DNAME
---------------OPERATIONS
NOT GIVEN
ACCOUNTING

LOC
-------------NOT GIVEN
BOSTON
NOT GIVEN

SQL> INSERT INTO MyDept(Deptno, DName)


2
SQL> INSERT INTO MyDept(Deptno, Loc)
2 VALUES(40, 'CHICAGO');
INSERT INTO MyDept(Deptno, Loc)
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.MYDEPT_DNAME_UNQ) violated

SQL> cl scr
SQL> CREATE TABLE MyEmp
2 (
3
Empno NUMBER(4)
4
CONSTRAINT MyEmp_Empno_PK PRIMARY KEY
5
CONSTRAINT MyEmp_Empno_CHK01
6
CHECK(Empno >= 1000 AND Empno <= 4000),
7
Ename VARCHAR2(10)
8
DEFAULT 'NOT GIVEN'
9
CONSTRAINT MyEmp_Ename_NN NOT NULL
10
CONSTRAINT MyEmp_Ename_CHK01
11
CHECK(EName = UPPER(EName)),
12
Job VARCHAR2(14)
13
DEFAULT 'NOT GIVEN'
14
CONSTRAINT MyEmp_Job_NN NOT NULL
15
CONSTRAINT MyEmp_Job_CHK01
16
CHECK(Job IN('PRESIDENT', 'MANAGER', 'ANALYST', 'SALESMAN', 'CLERK', 'NOT
GIVEN')),
17
MGR NUMBER(4)
18
CONSTRAINT MyEmp_MGR_CHK01
19
CHECK(MGR >= 1000 AND MGR <= 4000),
20
Sal NUMBER(7, 2)
21
CONSTRAINT MyEmp_Sal_NN NOT NULL
22
CONSTRAINT MyEmp_Sal_CHK01
23
CHECK(Sal BETWEEN 1000 AND 90000),
24
Comm NUMBER(7, 2),
25
HireDate DATE
26
DEFAULT SYSDATE
27
CONSTRAINT MyEmp_HireDate_NN NOT NULL,
28
Deptno NUMBER(2)
29
CONSTRAINT MyEmp_Deptno_NN NOT NULL
30
CONSTRAINT MyEmp_Deptno_CHK
31
CHECK(Deptno IN(10, 20, 30, 40, 50, 60, 70, 80, 90))
32
CONSTRAINT MyEmp_Deptno_FK
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

33
RFERENCES MyDept(Deptno),
34
CONSTRAINT MyEmpSalAndComm_CHK
35
CHECK(Sal + NVL(Comm, 0) <= 90000)
36 );
CONSTRAINT MyEmp_Deptno_FK
*
ERROR at line 32:
ORA-02253: constraint specification not allowed here

SQL> ED
Wrote file afiedt.buf
1 CREATE TABLE MyEmp
2 (
3
Empno NUMBER(4)
4
CONSTRAINT MyEmp_Empno_PK PRIMARY KEY
5
CONSTRAINT MyEmp_Empno_CHK01
6
CHECK(Empno >= 1000 AND Empno <= 4000),
7
Ename VARCHAR2(10)
8
DEFAULT 'NOT GIVEN'
9
CONSTRAINT MyEmp_Ename_NN NOT NULL
10
CONSTRAINT MyEmp_Ename_CHK01
11
CHECK(EName = UPPER(EName)),
12
Job VARCHAR2(14)
13
DEFAULT 'NOT GIVEN'
14
CONSTRAINT MyEmp_Job_NN NOT NULL
15
CONSTRAINT MyEmp_Job_CHK01
16
CHECK(Job IN('PRESIDENT', 'MANAGER', 'ANALYST', 'SALESMAN', 'CLERK', 'NOT
GIVEN')),
17
MGR NUMBER(4)
18
CONSTRAINT MyEmp_MGR_CHK01
19
CHECK(MGR >= 1000 AND MGR <= 4000),
20
Sal NUMBER(7, 2)
21
CONSTRAINT MyEmp_Sal_NN NOT NULL
22
CONSTRAINT MyEmp_Sal_CHK01
23
CHECK(Sal BETWEEN 1000 AND 90000),
24
Comm NUMBER(7, 2),
25
HireDate DATE
26
DEFAULT SYSDATE
27
CONSTRAINT MyEmp_HireDate_NN NOT NULL,
28
Deptno NUMBER(2)
29
CONSTRAINT MyEmp_Deptno_NN NOT NULL
30
CONSTRAINT MyEmp_Deptno_FK
31
RFERENCES MyDept(Deptno)
32
CONSTRAINT MyEmp_Deptno_CHK
33
CHECK(Deptno IN(10, 20, 30, 40, 50, 60, 70, 80, 90)),
34
CONSTRAINT MyEmpSalAndComm_CHK
35
CHECK(Sal + NVL(Comm, 0) <= 90000)
36* )
SQL> /
CONSTRAINT MyEmp_Deptno_FK
*
ERROR at line 30:
ORA-02253: constraint specification not allowed here
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1 CREATE TABLE MyEmp
2 (
3
Empno NUMBER(4)
4
CONSTRAINT MyEmp_Empno_PK PRIMARY KEY
5
CONSTRAINT MyEmp_Empno_CHK01
6
CHECK(Empno >= 1000 AND Empno <= 4000),
7
Ename VARCHAR2(10)
8
DEFAULT 'NOT GIVEN'
9
CONSTRAINT MyEmp_Ename_NN NOT NULL
10
CONSTRAINT MyEmp_Ename_CHK01
11
CHECK(EName = UPPER(EName)),
12
Job VARCHAR2(14)
13
DEFAULT 'NOT GIVEN'
14
CONSTRAINT MyEmp_Job_NN NOT NULL
15
CONSTRAINT MyEmp_Job_CHK01
16
CHECK(Job IN('PRESIDENT', 'MANAGER', 'ANALYST', 'SALESMAN', 'CLERK', 'NOT
GIVEN')),
17
MGR NUMBER(4)
18
CONSTRAINT MyEmp_MGR_CHK01
19
CHECK(MGR >= 1000 AND MGR <= 4000),
20
Sal NUMBER(7, 2)
21
CONSTRAINT MyEmp_Sal_NN NOT NULL
22
CONSTRAINT MyEmp_Sal_CHK01
23
CHECK(Sal BETWEEN 1000 AND 90000),
24
Comm NUMBER(7, 2),
25
HireDate DATE
26
DEFAULT SYSDATE
27
CONSTRAINT MyEmp_HireDate_NN NOT NULL,
28
Deptno NUMBER(2)
29
CONSTRAINT MyEmp_Deptno_NN NOT NULL
30
CONSTRAINT MyEmp_Deptno_FK
31
RFERENCES MyDept(Deptno),
32
CONSTRAINT MyEmpSalAndComm_CHK
33
CHECK(Sal + NVL(Comm, 0) <= 90000)
34* )
SQL> /
CONSTRAINT MyEmp_Deptno_FK
*
ERROR at line 30:
ORA-02253: constraint specification not allowed here

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5

CREATE TABLE MyEmp


(
Empno NUMBER(4)
CONSTRAINT MyEmp_Empno_PK PRIMARY KEY
CONSTRAINT MyEmp_Empno_CHK01
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

6
CHECK(Empno >= 1000 AND Empno <= 4000),
7
Ename VARCHAR2(10)
8
DEFAULT 'NOT GIVEN'
9
CONSTRAINT MyEmp_Ename_NN NOT NULL
10
CONSTRAINT MyEmp_Ename_CHK01
11
CHECK(EName = UPPER(EName)),
12
Job VARCHAR2(14)
13
DEFAULT 'NOT GIVEN'
14
CONSTRAINT MyEmp_Job_NN NOT NULL
15
CONSTRAINT MyEmp_Job_CHK01
16
CHECK(Job IN('PRESIDENT', 'MANAGER', 'ANALYST', 'SALESMAN', 'CLERK', 'NOT
GIVEN')),
17
MGR NUMBER(4)
18
CONSTRAINT MyEmp_MGR_CHK01
19
CHECK(MGR >= 1000 AND MGR <= 4000),
20
Sal NUMBER(7, 2)
21
CONSTRAINT MyEmp_Sal_NN NOT NULL
22
CONSTRAINT MyEmp_Sal_CHK01
23
CHECK(Sal BETWEEN 1000 AND 90000),
24
Comm NUMBER(7, 2),
25
HireDate DATE
26
DEFAULT SYSDATE
27
CONSTRAINT MyEmp_HireDate_NN NOT NULL,
28
Deptno NUMBER(2)
29
CONSTRAINT MyEmp_Deptno_NN NOT NULL
30
CONSTRAINT MyEmp_Deptno_FK
31
REFERENCES MyDept(Deptno)
32
CONSTRAINT MyEmp_Deptno_CHK
33
CHECK(Deptno IN(10, 20, 30, 40, 50, 60, 70, 80, 90)),
34
CONSTRAINT MyEmpSalAndComm_CHK
35
CHECK(Sal + NVL(Comm, 0) <= 90000)
36* )
SQL> /
Table created.
SQL>
2
3
4
5
6
7
8

ALTER TABLE MyEmp


ADD
(
CONSTRAINT MyEmp_MGR_FK
FOREIGN KEY(MGR)
REFERENCES MyEmp(Empno)
ON DELETE SET NULL
);

Table altered.
SQL> cl scr
SQL> CREATE TABLE SampleALT
2 (
3
SampID NUMBER(2),
4
SampName VARCHAR2(10),
5
SampDate DATE
6 );
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Table created.
SQL>
2
3
SQL>
2
3
4
5
6
7
8
9
10

ALTER TABLE SampleALT


ADD(
ALTER TABLE SampleALT
ADD
(
CONSTRAINT SampleALT_SampID_PK
PRIMARY KEY(SampID),
CONSTRAINT SampleALT_SampID_CHK
CHECK(SampID >= 10),
CONSTRAINT SampleALT_SampName_CHK
CHECK(SampName = UPPER(SampName))
);

Table altered.
SQL> cl scr
SQL> DESC USER_CONSTRAINTS
Name
----------------------------------------OWNER
CONSTRAINT_NAME
CONSTRAINT_TYPE
TABLE_NAME
SEARCH_CONDITION
R_OWNER
R_CONSTRAINT_NAME
DELETE_RULE
STATUS
DEFERRABLE
DEFERRED
VALIDATED
GENERATED
BAD
RELY
LAST_CHANGE
INDEX_OWNER
INDEX_NAME
INVALID
VIEW_RELATED
SQL>
SQL>
SQL>
SQL>
2
3

Null?
-------NOT NULL
NOT NULL

Type
---------------------------VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(1)
NOT NULL VARCHAR2(30)
LONG
VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(9)
VARCHAR2(8)
VARCHAR2(14)
VARCHAR2(9)
VARCHAR2(13)
VARCHAR2(14)
VARCHAR2(3)
VARCHAR2(4)
DATE
VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(7)
VARCHAR2(14)

COLUMN CONSTRAINT_NAME FORMAT A20


COLUMN TABLE_NAME FORMAT A15
COLUMN SEARCH_CONDITION FORMAT A25
SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME, SEARCH_CONDITION
FROM USER_CONSTRAINTS
WHERE TABLE_NAME = 'SAMPLEALT';

CONSTRAINT_NAME
C TABLE_NAME
SEARCH_CONDITION
-------------------- - --------------- ------------------------SAMPLEALT_SAMPID_PK P SAMPLEALT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SAMPLEALT_SAMPID_CHK C SAMPLEALT
SAMPLEALT_SAMPNAME_C C SAMPLEALT
HK

SampID >= 10
SampName = UPPER(SampName
)

SQL> DESC USER_CONS_COLUMS


ERROR:
ORA-04043: object USER_CONS_COLUMS does not exist

SQL> DESC USER_CONS_COLUMNS


Name
----------------------------------------OWNER
CONSTRAINT_NAME
TABLE_NAME
COLUMN_NAME
POSITION
SQL> DESC MYEmp
Name
----------------------------------------EMPNO
ENAME
JOB
MGR
SAL
COMM
HIREDATE
DEPTNO

Null?
-------NOT NULL
NOT NULL
NOT NULL

Type
---------------------------VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(4000)
NUMBER

Null?
-------NOT NULL
NOT NULL
NOT NULL

Type
---------------------------NUMBER(4)
VARCHAR2(10)
VARCHAR2(14)
NUMBER(4)
NOT NULL NUMBER(7,2)
NUMBER(7,2)
NOT NULL DATE
NOT NULL NUMBER(2)

SQL> SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME, SEARCH_CONDITION


2 FROM USER_CONSTRAINTS
3 WHERE TABLE_NAME = 'MYEMP';
CONSTRAINT_NAME
-------------------MYEMP_ENAME_NN
MYEMP_JOB_NN
MYEMP_SAL_NN
MYEMP_HIREDATE_NN
MYEMP_DEPTNO_NN
MYEMP_EMPNO_CHK01

C
C
C
C
C
C
C

TABLE_NAME
--------------MYEMP
MYEMP
MYEMP
MYEMP
MYEMP
MYEMP

MYEMP_ENAME_CHK01
MYEMP_JOB_CHK01

C MYEMP
C MYEMP

SEARCH_CONDITION
------------------------"ENAME" IS NOT NULL
"JOB" IS NOT NULL
"SAL" IS NOT NULL
"HIREDATE" IS NOT NULL
"DEPTNO" IS NOT NULL
Empno >= 1000 AND Empno <
= 4000
EName = UPPER(EName)
Job IN('PRESIDENT', 'MANA
GER', 'ANALYST', 'SALESMA

CONSTRAINT_NAME
C TABLE_NAME
SEARCH_CONDITION
-------------------- - --------------- ------------------------N', 'CLERK', 'NOT GIVEN')
MYEMP_MGR_CHK01

C MYEMP

MGR >= 1000 AND MGR <= 40


00
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

MYEMP_SAL_CHK01

C MYEMP

Sal BETWEEN 1000 AND 9000


0

MYEMP_DEPTNO_CHK

C MYEMP

Deptno IN(10, 20, 30, 40,


50, 60, 70, 80, 90)

CONSTRAINT_NAME
C TABLE_NAME
SEARCH_CONDITION
-------------------- - --------------- ------------------------MYEMPSALANDCOMM_CHK C MYEMP
Sal + NVL(Comm, 0) <= 900
00
MYEMP_EMPNO_PK
MYEMP_DEPTNO_FK
MYEMP_MGR_FK

P MYEMP
R MYEMP
R MYEMP

15 rows selected.
SQL> cl scr
SQL> DESC USER_CONSTRAINTS
Name
----------------------------------------OWNER
CONSTRAINT_NAME
CONSTRAINT_TYPE
TABLE_NAME
SEARCH_CONDITION
R_OWNER
R_CONSTRAINT_NAME
DELETE_RULE
STATUS
DEFERRABLE
DEFERRED
VALIDATED
GENERATED
BAD
RELY
LAST_CHANGE
INDEX_OWNER
INDEX_NAME
INVALID
VIEW_RELATED
SQL> DESC USER_CONS_COLUMNS
Name
----------------------------------------OWNER
CONSTRAINT_NAME
TABLE_NAME
COLUMN_NAME
POSITION

Null?
-------NOT NULL
NOT NULL

Type
---------------------------VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(1)
NOT NULL VARCHAR2(30)
LONG
VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(9)
VARCHAR2(8)
VARCHAR2(14)
VARCHAR2(9)
VARCHAR2(13)
VARCHAR2(14)
VARCHAR2(3)
VARCHAR2(4)
DATE
VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(7)
VARCHAR2(14)

Null?
-------NOT NULL
NOT NULL
NOT NULL

Type
---------------------------VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(4000)
NUMBER

SQL> SPOOL OFF


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> SET VERIFY OFF
SQL> cl scr
SQL> SELECT Ename, Sal, Job, Dname, Loc
2 FROM Emp, Dept;
ENAME
SAL JOB
DNAME
---------- ---------- --------- -------------KING
5000 PRESIDENT ACCOUNTING
BLAKE
2850 MANAGER
ACCOUNTING
CLARK
2450 MANAGER
ACCOUNTING
JONES
2975 MANAGER
ACCOUNTING
MARTIN
1250 SALESMAN ACCOUNTING
ALLEN
1600 SALESMAN ACCOUNTING
TURNER
1500 SALESMAN ACCOUNTING
JAMES
950 CLERK
ACCOUNTING
WARD
1250 SALESMAN ACCOUNTING
FORD
3000 ANALYST
ACCOUNTING
SMITH
800 CLERK
ACCOUNTING

LOC
------------NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK

ENAME
SAL JOB
---------- ---------- --------SCOTT
3000 ANALYST
ADAMS
1100 CLERK
MILLER
1300 CLERK
KING
5000 PRESIDENT
BLAKE
2850 MANAGER
CLARK
2450 MANAGER
JONES
2975 MANAGER
MARTIN
1250 SALESMAN
ALLEN
1600 SALESMAN
TURNER
1500 SALESMAN
JAMES
950 CLERK

DNAME
-------------ACCOUNTING
ACCOUNTING
ACCOUNTING
RESEARCH
RESEARCH
RESEARCH
RESEARCH
RESEARCH
RESEARCH
RESEARCH
RESEARCH

LOC
------------NEW YORK
NEW YORK
NEW YORK
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS

ENAME
SAL JOB
---------- ---------- --------WARD
1250 SALESMAN
FORD
3000 ANALYST
SMITH
800 CLERK
SCOTT
3000 ANALYST
ADAMS
1100 CLERK
MILLER
1300 CLERK
KING
5000 PRESIDENT
BLAKE
2850 MANAGER
CLARK
2450 MANAGER
JONES
2975 MANAGER
MARTIN
1250 SALESMAN

DNAME
-------------RESEARCH
RESEARCH
RESEARCH
RESEARCH
RESEARCH
RESEARCH
SALES
SALES
SALES
SALES
SALES

LOC
------------DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO

ENAME
SAL JOB
DNAME
LOC
---------- ---------- --------- -------------- ------------ALLEN
1600 SALESMAN SALES
CHICAGO
TURNER
1500 SALESMAN SALES
CHICAGO
JAMES
950 CLERK
SALES
CHICAGO
WARD
1250 SALESMAN SALES
CHICAGO
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

FORD
SMITH
SCOTT
ADAMS
MILLER
KING
BLAKE

3000
800
3000
1100
1300
5000
2850

ANALYST
CLERK
ANALYST
CLERK
CLERK
PRESIDENT
MANAGER

ENAME
SAL JOB
---------- ---------- --------CLARK
2450 MANAGER
JONES
2975 MANAGER
MARTIN
1250 SALESMAN
ALLEN
1600 SALESMAN
TURNER
1500 SALESMAN
JAMES
950 CLERK
WARD
1250 SALESMAN
FORD
3000 ANALYST
SMITH
800 CLERK
SCOTT
3000 ANALYST
ADAMS
1100 CLERK

SALES
SALES
SALES
SALES
SALES
OPERATIONS
OPERATIONS

CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
BOSTON
BOSTON

DNAME
-------------OPERATIONS
OPERATIONS
OPERATIONS
OPERATIONS
OPERATIONS
OPERATIONS
OPERATIONS
OPERATIONS
OPERATIONS
OPERATIONS
OPERATIONS

LOC
------------BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON

ENAME
SAL JOB
DNAME
LOC
---------- ---------- --------- -------------- ------------MILLER
1300 CLERK
OPERATIONS
BOSTON
56 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Sal, Job
2* FROM Emp, Dept
SQL> /
ENAME
SAL JOB
---------- ---------- --------KING
5000 PRESIDENT
KING
5000 PRESIDENT
KING
5000 PRESIDENT
KING
5000 PRESIDENT
BLAKE
2850 MANAGER
BLAKE
2850 MANAGER
BLAKE
2850 MANAGER
BLAKE
2850 MANAGER
CLARK
2450 MANAGER
CLARK
2450 MANAGER
CLARK
2450 MANAGER
ENAME
SAL JOB
---------- ---------- --------CLARK
2450 MANAGER
JONES
2975 MANAGER
JONES
2975 MANAGER
JONES
2975 MANAGER
JONES
2975 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

MARTIN
MARTIN
MARTIN
MARTIN
ALLEN
ALLEN

1250
1250
1250
1250
1600
1600

SALESMAN
SALESMAN
SALESMAN
SALESMAN
SALESMAN
SALESMAN

ENAME
SAL JOB
---------- ---------- --------ALLEN
1600 SALESMAN
ALLEN
1600 SALESMAN
TURNER
1500 SALESMAN
TURNER
1500 SALESMAN
TURNER
1500 SALESMAN
TURNER
1500 SALESMAN
JAMES
950 CLERK
JAMES
950 CLERK
JAMES
950 CLERK
JAMES
950 CLERK
WARD
1250 SALESMAN
ENAME
SAL JOB
---------- ---------- --------WARD
1250 SALESMAN
WARD
1250 SALESMAN
WARD
1250 SALESMAN
FORD
3000 ANALYST
FORD
3000 ANALYST
FORD
3000 ANALYST
FORD
3000 ANALYST
SMITH
800 CLERK
SMITH
800 CLERK
SMITH
800 CLERK
SMITH
800 CLERK
ENAME
SAL JOB
---------- ---------- --------SCOTT
3000 ANALYST
SCOTT
3000 ANALYST
SCOTT
3000 ANALYST
SCOTT
3000 ANALYST
ADAMS
1100 CLERK
ADAMS
1100 CLERK
ADAMS
1100 CLERK
ADAMS
1100 CLERK
MILLER
1300 CLERK
MILLER
1300 CLERK
MILLER
1300 CLERK
ENAME
SAL JOB
---------- ---------- --------MILLER
1300 CLERK
56 rows selected.
SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf


1 SELECT Dname, Loc
2* FROM Emp, Dept
SQL> /
DNAME
-------------ACCOUNTING
ACCOUNTING
ACCOUNTING
ACCOUNTING
ACCOUNTING
ACCOUNTING
ACCOUNTING
ACCOUNTING
ACCOUNTING
ACCOUNTING
ACCOUNTING

LOC
------------NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK

DNAME
-------------ACCOUNTING
ACCOUNTING
ACCOUNTING
RESEARCH
RESEARCH
RESEARCH
RESEARCH
RESEARCH
RESEARCH
RESEARCH
RESEARCH

LOC
------------NEW YORK
NEW YORK
NEW YORK
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS

DNAME
-------------RESEARCH
RESEARCH
RESEARCH
RESEARCH
RESEARCH
RESEARCH
SALES
SALES
SALES
SALES
SALES

LOC
------------DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO

DNAME
LOC
-------------- ------------SALES
CHICAGO
SALES
CHICAGO
SALES
CHICAGO
SALES
CHICAGO
SALES
CHICAGO
SALES
CHICAGO
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SALES
SALES
SALES
OPERATIONS
OPERATIONS

CHICAGO
CHICAGO
CHICAGO
BOSTON
BOSTON

DNAME
-------------OPERATIONS
OPERATIONS
OPERATIONS
OPERATIONS
OPERATIONS
OPERATIONS
OPERATIONS
OPERATIONS
OPERATIONS
OPERATIONS
OPERATIONS

LOC
------------BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON

DNAME
LOC
-------------- ------------OPERATIONS
BOSTON
56 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Job, Deptno, Dname, Loc
2* FROM Emp, Dept
SQL> /
SELECT Ename, Job, Deptno, Dname, Loc
*
ERROR at line 1:
ORA-00918: column ambiguously defined

SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Job, Emp.Deptno, Dname, Loc
2* FROM Emp, Dept
SQL> /
ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD

JOB
DEPTNO DNAME
LOC
--------- ---------- -------------- ------------PRESIDENT
10 ACCOUNTING
NEW YORK
MANAGER
30 ACCOUNTING
NEW YORK
MANAGER
10 ACCOUNTING
NEW YORK
MANAGER
20 ACCOUNTING
NEW YORK
SALESMAN
30 ACCOUNTING
NEW YORK
SALESMAN
30 ACCOUNTING
NEW YORK
SALESMAN
30 ACCOUNTING
NEW YORK
CLERK
30 ACCOUNTING
NEW YORK
SALESMAN
30 ACCOUNTING
NEW YORK
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

FORD
SMITH

ANALYST
CLERK

20 ACCOUNTING
20 ACCOUNTING

NEW YORK
NEW YORK

ENAME
---------SCOTT
ADAMS
MILLER
KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES

JOB
DEPTNO DNAME
--------- ---------- -------------ANALYST
20 ACCOUNTING
CLERK
20 ACCOUNTING
CLERK
10 ACCOUNTING
PRESIDENT
10 RESEARCH
MANAGER
30 RESEARCH
MANAGER
10 RESEARCH
MANAGER
20 RESEARCH
SALESMAN
30 RESEARCH
SALESMAN
30 RESEARCH
SALESMAN
30 RESEARCH
CLERK
30 RESEARCH

LOC
------------NEW YORK
NEW YORK
NEW YORK
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS

ENAME
---------WARD
FORD
SMITH
SCOTT
ADAMS
MILLER
KING
BLAKE
CLARK
JONES
MARTIN

JOB
DEPTNO DNAME
--------- ---------- -------------SALESMAN
30 RESEARCH
ANALYST
20 RESEARCH
CLERK
20 RESEARCH
ANALYST
20 RESEARCH
CLERK
20 RESEARCH
CLERK
10 RESEARCH
PRESIDENT
10 SALES
MANAGER
30 SALES
MANAGER
10 SALES
MANAGER
20 SALES
SALESMAN
30 SALES

LOC
------------DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO

ENAME
---------ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT
ADAMS
MILLER
KING
BLAKE

JOB
DEPTNO DNAME
--------- ---------- -------------SALESMAN
30 SALES
SALESMAN
30 SALES
CLERK
30 SALES
SALESMAN
30 SALES
ANALYST
20 SALES
CLERK
20 SALES
ANALYST
20 SALES
CLERK
20 SALES
CLERK
10 SALES
PRESIDENT
10 OPERATIONS
MANAGER
30 OPERATIONS

LOC
------------CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
BOSTON
BOSTON

ENAME
---------CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
DEPTNO DNAME
LOC
--------- ---------- -------------- ------------MANAGER
10 OPERATIONS
BOSTON
MANAGER
20 OPERATIONS
BOSTON
SALESMAN
30 OPERATIONS
BOSTON
SALESMAN
30 OPERATIONS
BOSTON
SALESMAN
30 OPERATIONS
BOSTON
CLERK
30 OPERATIONS
BOSTON
SALESMAN
30 OPERATIONS
BOSTON
ANALYST
20 OPERATIONS
BOSTON
CLERK
20 OPERATIONS
BOSTON
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SCOTT
ADAMS

ANALYST
CLERK

20 OPERATIONS
20 OPERATIONS

BOSTON
BOSTON

ENAME
JOB
DEPTNO DNAME
LOC
---------- --------- ---------- -------------- ------------MILLER
CLERK
10 OPERATIONS
BOSTON
56 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Job, Dept.Deptno, Dname, Loc
2* FROM Emp, Dept
SQL> /
ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
DEPTNO DNAME
--------- ---------- -------------PRESIDENT
10 ACCOUNTING
MANAGER
10 ACCOUNTING
MANAGER
10 ACCOUNTING
MANAGER
10 ACCOUNTING
SALESMAN
10 ACCOUNTING
SALESMAN
10 ACCOUNTING
SALESMAN
10 ACCOUNTING
CLERK
10 ACCOUNTING
SALESMAN
10 ACCOUNTING
ANALYST
10 ACCOUNTING
CLERK
10 ACCOUNTING

LOC
------------NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK

ENAME
---------SCOTT
ADAMS
MILLER
KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES

JOB
DEPTNO DNAME
--------- ---------- -------------ANALYST
10 ACCOUNTING
CLERK
10 ACCOUNTING
CLERK
10 ACCOUNTING
PRESIDENT
20 RESEARCH
MANAGER
20 RESEARCH
MANAGER
20 RESEARCH
MANAGER
20 RESEARCH
SALESMAN
20 RESEARCH
SALESMAN
20 RESEARCH
SALESMAN
20 RESEARCH
CLERK
20 RESEARCH

LOC
------------NEW YORK
NEW YORK
NEW YORK
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS

ENAME
---------WARD
FORD
SMITH
SCOTT
ADAMS
MILLER
KING
BLAKE
CLARK
JONES

JOB
DEPTNO DNAME
LOC
--------- ---------- -------------- ------------SALESMAN
20 RESEARCH
DALLAS
ANALYST
20 RESEARCH
DALLAS
CLERK
20 RESEARCH
DALLAS
ANALYST
20 RESEARCH
DALLAS
CLERK
20 RESEARCH
DALLAS
CLERK
20 RESEARCH
DALLAS
PRESIDENT
30 SALES
CHICAGO
MANAGER
30 SALES
CHICAGO
MANAGER
30 SALES
CHICAGO
MANAGER
30 SALES
CHICAGO
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

MARTIN

SALESMAN

30 SALES

CHICAGO

ENAME
---------ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT
ADAMS
MILLER
KING
BLAKE

JOB
DEPTNO DNAME
--------- ---------- -------------SALESMAN
30 SALES
SALESMAN
30 SALES
CLERK
30 SALES
SALESMAN
30 SALES
ANALYST
30 SALES
CLERK
30 SALES
ANALYST
30 SALES
CLERK
30 SALES
CLERK
30 SALES
PRESIDENT
40 OPERATIONS
MANAGER
40 OPERATIONS

LOC
------------CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
BOSTON
BOSTON

ENAME
---------CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT
ADAMS

JOB
DEPTNO DNAME
--------- ---------- -------------MANAGER
40 OPERATIONS
MANAGER
40 OPERATIONS
SALESMAN
40 OPERATIONS
SALESMAN
40 OPERATIONS
SALESMAN
40 OPERATIONS
CLERK
40 OPERATIONS
SALESMAN
40 OPERATIONS
ANALYST
40 OPERATIONS
CLERK
40 OPERATIONS
ANALYST
40 OPERATIONS
CLERK
40 OPERATIONS

LOC
------------BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON

ENAME
JOB
DEPTNO DNAME
LOC
---------- --------- ---------- -------------- ------------MILLER
CLERK
40 OPERATIONS
BOSTON
56 rows selected.
SQL> SPOOL OFF
SQL> cl scr
SQL> SELECT Ename, Emp.Deptno, Dname, Loc
2 FROM Emp, Dept
3 WHERE Emp.Deptno = Dept.Deptno;
ENAME
DEPTNO DNAME
LOC
---------- ---------- -------------- ------------KING
10 ACCOUNTING
NEW YORK
BLAKE
30 SALES
CHICAGO
CLARK
10 ACCOUNTING
NEW YORK
JONES
20 RESEARCH
DALLAS
MARTIN
30 SALES
CHICAGO
ALLEN
30 SALES
CHICAGO
TURNER
30 SALES
CHICAGO
JAMES
30 SALES
CHICAGO
WARD
30 SALES
CHICAGO
FORD
20 RESEARCH
DALLAS
SMITH
20 RESEARCH
DALLAS
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
DEPTNO DNAME
---------- ---------- -------------SCOTT
20 RESEARCH
ADAMS
20 RESEARCH
MILLER
10 ACCOUNTING

LOC
------------DALLAS
DALLAS
NEW YORK

14 rows selected.
SQL> SELECT * FROM Dept;
DEPTNO
---------10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SQL> cl scr
SQL>
2
3
4
5
6
7
8
9

Select
Empno,
Ename,
Sal,
Sal * 12 AnnSal,
Emp.Deptno,
Loc
FROM Emp, Dept
WHERE Emp.Deptno = Dept.Deptno;

EMPNO
---------7839
7782
7934
7566
7788
7876
7369
7902
7698
7654
7499

ENAME
SAL
ANNSAL
DEPTNO LOC
---------- ---------- ---------- ---------- ------------KING
5000
60000
10 NEW YORK
CLARK
2450
29400
10 NEW YORK
MILLER
1300
15600
10 NEW YORK
JONES
2975
35700
20 DALLAS
SCOTT
3000
36000
20 DALLAS
ADAMS
1100
13200
20 DALLAS
SMITH
800
9600
20 DALLAS
FORD
3000
36000
20 DALLAS
BLAKE
2850
34200
30 CHICAGO
MARTIN
1250
15000
30 CHICAGO
ALLEN
1600
19200
30 CHICAGO

EMPNO
---------7844
7900
7521

ENAME
SAL
ANNSAL
DEPTNO LOC
---------- ---------- ---------- ---------- ------------TURNER
1500
18000
30 CHICAGO
JAMES
950
11400
30 CHICAGO
WARD
1250
15000
30 CHICAGO

14 rows selected.
SQL> cl scr
SQL> Select
2 Dept.Deptno,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3
4
5
6
7
8

Dname,
Loc,
SUM(Sal)
FROM Emp, Dept
WHERE Emp.Deptno = Dept.Deptno
GROUP BY Dept.Deptno, Dname, Loc;

DEPTNO
---------10
20
30
SQL>
2
3
4
5
6
7
8
9

DNAME
-------------ACCOUNTING
RESEARCH
SALES

LOC
SUM(SAL)
------------- ---------NEW YORK
8750
DALLAS
10875
CHICAGO
9400

Select
TO_CHAR(HireDate, 'YYYY') Year,
Dept.Deptno,
Dname,
SUM(Sal)
FROM Emp, Dept
WHERE Emp.Deptno = Dept.Deptno
GROUP BY TO_CHAR(HireDate, 'YYYY'), Dept.Deptno, Dname
ORDER BY Year;

YEAR
DEPTNO DNAME
SUM(SAL)
---- ---------- -------------- ---------1980
20 RESEARCH
800
1981
10 ACCOUNTING
7450
1981
20 RESEARCH
5975
1981
30 SALES
9400
1982
10 ACCOUNTING
1300
1982
20 RESEARCH
3000
1983
20 RESEARCH
1100
7 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10

Select
TO_CHAR(HireDate, 'YYYY') Year,
Dept.Deptno,
Dname,
SUM(Sal)
FROM Emp, Dept
WHERE Emp.Deptno = Dept.Deptno
GROUP BY TO_CHAR(HireDate, 'YYYY'), Dept.Deptno, Dname
HAVING COUNT(TO_CHAR(HireDate, 'YYYY')) > 2
ORDER BY Year;

YEAR
DEPTNO DNAME
SUM(SAL)
---- ---------- -------------- ---------1981
30 SALES
9400
SQL> ED
Wrote file afiedt.buf
1

Select
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2
3
4
5
6
7
8
9*
SQL>

TO_CHAR(HireDate, 'YYYY') Year,


Dept.Deptno,
Dname,
SUM(Sal)
FROM Emp, Dept
WHERE Emp.Deptno = Dept.Deptno
GROUP BY TO_CHAR(HireDate, 'YYYY'), Dept.Deptno, Dname
ORDER BY Year
/

YEAR
DEPTNO DNAME
SUM(SAL)
---- ---------- -------------- ---------1980
20 RESEARCH
800
1981
10 ACCOUNTING
7450
1981
20 RESEARCH
5975
1981
30 SALES
9400
1982
10 ACCOUNTING
1300
1982
20 RESEARCH
3000
1983
20 RESEARCH
1100
7 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10*
SQL>

Select
TO_CHAR(HireDate, 'YYYY') Year,
Dept.Deptno,
Dname,
COUNT(*) Cnt,
SUM(Sal)
FROM Emp, Dept
WHERE Emp.Deptno = Dept.Deptno
GROUP BY TO_CHAR(HireDate, 'YYYY'), Dept.Deptno, Dname
ORDER BY Year
/

YEAR
DEPTNO DNAME
CNT
SUM(SAL)
---- ---------- -------------- ---------- ---------1980
20 RESEARCH
1
800
1981
10 ACCOUNTING
2
7450
1981
20 RESEARCH
2
5975
1981
30 SALES
6
9400
1982
10 ACCOUNTING
1
1300
1982
20 RESEARCH
1
3000
1983
20 RESEARCH
1
1100
7 rows selected.
SQL> cl scr
SQL> SELECT Ename, Ename
2 FROM Emp;
ENAME
ENAME
---------- ---------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

ENAME
---------SCOTT
ADAMS
MILLER

ENAME
---------SCOTT
ADAMS
MILLER

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Job, Sal
2* FROM Emp, Emp
SQL> /
SELECT Ename, Job, Sal
*
ERROR at line 1:
ORA-00918: column ambiguously defined

SQL> ED
Wrote file afiedt.buf
1 SELECT 125
2* FROM Emp
SQL> /
125
---------125
125
125
125
125
125
125
125
125
125
125
125
---------125
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

125
125
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT 125
2* FROM Emp, Emp
SQL> /
SQL> cl scr
SQL> SELECT Ename
2 FROM Emp, Emp
3
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename
2* FROM Emp E1, Emp E2
SQL> /
SELECT Ename
*
ERROR at line 1:
ORA-00918: column ambiguously defined

SQL> ED
Wrote file afiedt.buf
1 SELECT E1.Ename
2* FROM Emp E1, Emp E2
SQL> /

SQL> cl scr
SQL>
2
3
4
5
6
7

SELECT
E.Empno,
E.Ename,
D.Deptno,
D.Dname
FROM Emp E, Dept D
WHERE E.Deptno = D.Deptno;

EMPNO
---------7839
7782
7934
7566
7788
7876
7369

ENAME
DEPTNO DNAME
---------- ---------- -------------KING
10 ACCOUNTING
CLARK
10 ACCOUNTING
MILLER
10 ACCOUNTING
JONES
20 RESEARCH
SCOTT
20 RESEARCH
ADAMS
20 RESEARCH
SMITH
20 RESEARCH
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7902
7698
7654
7499
EMPNO
---------7844
7900
7521

FORD
BLAKE
MARTIN
ALLEN

20
30
30
30

RESEARCH
SALES
SALES
SALES

ENAME
DEPTNO DNAME
---------- ---------- -------------TURNER
30 SALES
JAMES
30 SALES
WARD
30 SALES

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 E.Empno,
3 E.Ename,
4 Dept.Deptno,
5 D.Dname
6 FROM Emp E, Dept D
7* WHERE E.Deptno = D.Deptno
SQL> /
Dept.Deptno,
*
ERROR at line 4:
ORA-00904: "DEPT"."DEPTNO": invalid identifier

SQL>
2
3
4
5
6
7
8
9

SELECT
E.Ename,
E.Job,
D.Deptno,
D.Dname,
D.Loc
FROM Emp E, Dept D
WHERE E.Deptno = D.Deptno AND
E.Job IN('ANALYST', 'MANAGER' );

ENAME
---------CLARK
JONES
FORD
SCOTT
BLAKE

JOB
DEPTNO DNAME
--------- ---------- -------------MANAGER
10 ACCOUNTING
MANAGER
20 RESEARCH
ANALYST
20 RESEARCH
ANALYST
20 RESEARCH
MANAGER
30 SALES

LOC
------------NEW YORK
DALLAS
DALLAS
DALLAS
CHICAGO

SQL> cl scr
SQL>
2
3
4
5
6

SELECT
Ename,
DName,
Loc
FROM Emp Employees, Dept Departments
WHERE Employees.Deptno = Departments.Deptno;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
---------KING
CLARK
MILLER
JONES
SCOTT
ADAMS
SMITH
FORD
BLAKE
MARTIN
ALLEN

DNAME
-------------ACCOUNTING
ACCOUNTING
ACCOUNTING
RESEARCH
RESEARCH
RESEARCH
RESEARCH
RESEARCH
SALES
SALES
SALES

LOC
------------NEW YORK
NEW YORK
NEW YORK
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
CHICAGO
CHICAGO
CHICAGO

ENAME
---------TURNER
JAMES
WARD

DNAME
-------------SALES
SALES
SALES

LOC
------------CHICAGO
CHICAGO
CHICAGO

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT
Ename,
DName,
Loc
FROM Emp E, Dept D
WHERE E.Deptno = D.Deptno
/

ENAME
---------KING
CLARK
MILLER
JONES
SCOTT
ADAMS
SMITH
FORD
BLAKE
MARTIN
ALLEN

DNAME
-------------ACCOUNTING
ACCOUNTING
ACCOUNTING
RESEARCH
RESEARCH
RESEARCH
RESEARCH
RESEARCH
SALES
SALES
SALES

LOC
------------NEW YORK
NEW YORK
NEW YORK
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
CHICAGO
CHICAGO
CHICAGO

ENAME
---------TURNER
JAMES
WARD

DNAME
-------------SALES
SALES
SALES

LOC
------------CHICAGO
CHICAGO
CHICAGO

14 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> SELECT Empno, Ename, MGR
2 FROM Emp;
EMPNO
---------7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
MGR
---------- ---------KING
BLAKE
7839
CLARK
7839
JONES
7839
MARTIN
7698
ALLEN
7698
TURNER
7698
JAMES
7698
WARD
7698
FORD
7566
SMITH
7902

EMPNO
---------7788
7876
7934

ENAME
MGR
---------- ---------SCOTT
7566
ADAMS
7788
MILLER
7782

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Empno, Ename, Sal, MGR
2* FROM Emp
SQL> /
EMPNO
---------7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
SAL
MGR
---------- ---------- ---------KING
5000
BLAKE
2850
7839
CLARK
2450
7839
JONES
2975
7839
MARTIN
1250
7698
ALLEN
1600
7698
TURNER
1500
7698
JAMES
950
7698
WARD
1250
7698
FORD
3000
7566
SMITH
800
7902

EMPNO
---------7788
7876
7934

ENAME
SAL
MGR
---------- ---------- ---------SCOTT
3000
7566
ADAMS
1100
7788
MILLER
1300
7782

14 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL>
2
3
4
5

SELECT
E1.Ename "Employees",
E2. Ename "Managers"
FROM Emp E1, Emp E2
WHERE E1.Mgr = E2.Empno;

Employees
---------FORD
SCOTT
MARTIN
ALLEN
JAMES
TURNER
WARD
MILLER
ADAMS
BLAKE
CLARK

Managers
---------JONES
JONES
BLAKE
BLAKE
BLAKE
BLAKE
BLAKE
CLARK
SCOTT
KING
KING

Employees
---------JONES
SMITH

Managers
---------KING
FORD

13 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
E1.Ename,
E2. Ename
FROM Emp E1, Emp E2
WHERE E1.Mgr = E2.Empno
/

ENAME
---------FORD
SCOTT
MARTIN
ALLEN
JAMES
TURNER
WARD
MILLER
ADAMS
BLAKE
CLARK

ENAME
---------JONES
JONES
BLAKE
BLAKE
BLAKE
BLAKE
BLAKE
CLARK
SCOTT
KING
KING

ENAME
ENAME
---------- ---------JONES
KING
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SMITH

FORD

13 rows selected.
SQL> cl scr
SQL>
2
3
4
5

SELECT
Employees.Ename "Employees",
Managers.Ename "Managers"
FROM Emp Employees, Emp Managers
WHERE Employees.Mgr = Managers.Empno;

Employees
---------FORD
SCOTT
MARTIN
ALLEN
JAMES
TURNER
WARD
MILLER
ADAMS
BLAKE
CLARK

Managers
---------JONES
JONES
BLAKE
BLAKE
BLAKE
BLAKE
BLAKE
CLARK
SCOTT
KING
KING

Employees
---------JONES
SMITH

Managers
---------KING
FORD

13 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
Employees.Ename "Employees",
Managers.Ename "Managers"
FROM Emp Employees, Emp Managers
WHERE Managers.Mgr = Employees.Empno
/

Employees
---------JONES
JONES
BLAKE
BLAKE
BLAKE
BLAKE
BLAKE
CLARK
SCOTT
KING
KING

Managers
---------FORD
SCOTT
MARTIN
ALLEN
JAMES
TURNER
WARD
MILLER
ADAMS
BLAKE
CLARK
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Employees
---------KING
FORD

Managers
---------JONES
SMITH

13 rows selected.
SQL> cl scr
SQL>
2
3
4
5

SELECT
E1.Ename||'''s Manager is '||
E2.Ename "Employees And Managers"
FROM Emp E1, Emp E2
WHERE E1.Mgr = E2.Empno;

Employees And Managers


---------------------------------FORD's Manager is JONES
SCOTT's Manager is JONES
MARTIN's Manager is BLAKE
ALLEN's Manager is BLAKE
JAMES's Manager is BLAKE
TURNER's Manager is BLAKE
WARD's Manager is BLAKE
MILLER's Manager is CLARK
ADAMS's Manager is SCOTT
BLAKE's Manager is KING
CLARK's Manager is KING
Employees And Managers
---------------------------------JONES's Manager is KING
SMITH's Manager is FORD
13 rows selected.
SQL> SPOOL OFF
SQL> cl scr
SQL> SELECT Empno, Ename, Sal
2 FROM Emp;
EMPNO
---------7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
SAL
---------- ---------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
ALLEN
1600
TURNER
1500
JAMES
950
WARD
1250
FORD
3000
SMITH
800
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

EMPNO
---------7788
7876
7934

ENAME
SAL
---------- ---------SCOTT
3000
ADAMS
1100
MILLER
1300

14 rows selected.
SQL> SELECT LoSal, HiSal, Grade
2 FROM DalGrade;
FROM DalGrade
*
ERROR at line 2:
ORA-00942: table or view does not exist

SQL> Ed
Wrote file afiedt.buf
1 SELECT LoSal, HiSal, Grade
2* FROM SalGrade
SQL> /
LOSAL
HISAL
GRADE
---------- ---------- ---------700
1200
1
1201
1400
2
1401
2000
3
2001
3000
4
3001
9999
5
SQL> SELECT Empno, Ename, Sal
2 FROM Emp;
EMPNO
---------7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
SAL
---------- ---------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
ALLEN
1600
TURNER
1500
JAMES
950
WARD
1250
FORD
3000
SMITH
800

EMPNO
---------7788
7876
7934

ENAME
SAL
---------- ---------SCOTT
3000
ADAMS
1100
MILLER
1300

14 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> SELECT Ename, Emp.Deptno, Dname, Loc
2 FROM Emp, Dept
3 WHERE Emp.Deptno = Dept.Deptno;
ENAME
DEPTNO DNAME
---------- ---------- -------------KING
10 ACCOUNTING
BLAKE
30 SALES
CLARK
10 ACCOUNTING
JONES
20 RESEARCH
MARTIN
30 SALES
ALLEN
30 SALES
TURNER
30 SALES
JAMES
30 SALES
WARD
30 SALES
FORD
20 RESEARCH
SMITH
20 RESEARCH

LOC
------------NEW YORK
CHICAGO
NEW YORK
DALLAS
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
DALLAS
DALLAS

ENAME
DEPTNO DNAME
---------- ---------- -------------SCOTT
20 RESEARCH
ADAMS
20 RESEARCH
MILLER
10 ACCOUNTING

LOC
------------DALLAS
DALLAS
NEW YORK

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Emp.Deptno, Dname, Loc


FROM Emp, Dept
WHERE Emp.Deptno > Dept.Deptno
/

ENAME
DEPTNO DNAME
---------- ---------- -------------JONES
20 ACCOUNTING
SCOTT
20 ACCOUNTING
ADAMS
20 ACCOUNTING
SMITH
20 ACCOUNTING
FORD
20 ACCOUNTING
BLAKE
30 ACCOUNTING
MARTIN
30 ACCOUNTING
ALLEN
30 ACCOUNTING
TURNER
30 ACCOUNTING
JAMES
30 ACCOUNTING
WARD
30 ACCOUNTING

LOC
------------NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK

ENAME
DEPTNO DNAME
LOC
---------- ---------- -------------- ------------BLAKE
30 RESEARCH
DALLAS
MARTIN
30 RESEARCH
DALLAS
ALLEN
30 RESEARCH
DALLAS
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

TURNER
JAMES
WARD

30 RESEARCH
30 RESEARCH
30 RESEARCH

DALLAS
DALLAS
DALLAS

17 rows selected.
SQL> SELECT * FROM Dept;
DEPTNO
---------10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SQL> cl scr
SQL> SELECT Ename, Deptno, Job, Sal, Grade
2 FROM Emp, SalGrade
3 WHERE Emp.Sal >= SalGrade.LoSal AND
4
Emp.Sal <= SalGrade.HiSal;
ENAME
DEPTNO JOB
SAL
GRADE
---------- ---------- --------- ---------- ---------SMITH
20 CLERK
800
1
JAMES
30 CLERK
950
1
ADAMS
20 CLERK
1100
1
MARTIN
30 SALESMAN
1250
2
WARD
30 SALESMAN
1250
2
MILLER
10 CLERK
1300
2
TURNER
30 SALESMAN
1500
3
ALLEN
30 SALESMAN
1600
3
CLARK
10 MANAGER
2450
4
BLAKE
30 MANAGER
2850
4
JONES
20 MANAGER
2975
4
ENAME
DEPTNO JOB
SAL
GRADE
---------- ---------- --------- ---------- ---------FORD
20 ANALYST
3000
4
SCOTT
20 ANALYST
3000
4
KING
10 PRESIDENT
5000
5
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Deptno, Job, Sal, Grade


FROM Emp, SalGrade
WHERE Emp.Sal BETWEEN SalGrade.LoSal AND SalGrade.HiSal
/

ENAME
DEPTNO JOB
SAL
GRADE
---------- ---------- --------- ---------- ---------SMITH
20 CLERK
800
1
JAMES
30 CLERK
950
1
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ADAMS
MARTIN
WARD
MILLER
TURNER
ALLEN
CLARK
BLAKE
JONES

20
30
30
10
30
30
10
30
20

CLERK
SALESMAN
SALESMAN
CLERK
SALESMAN
SALESMAN
MANAGER
MANAGER
MANAGER

1100
1250
1250
1300
1500
1600
2450
2850
2975

1
2
2
2
3
3
4
4
4

ENAME
DEPTNO JOB
SAL
GRADE
---------- ---------- --------- ---------- ---------FORD
20 ANALYST
3000
4
SCOTT
20 ANALYST
3000
4
KING
10 PRESIDENT
5000
5
14 rows selected.
SQL> cl scr
SQL> SELECT * FROM Dept;
DEPTNO
---------10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SQL> INSERT INTO Dept


2 VALUES(50, 'SHIPPING', 'CHENNAI');
1 row created.
SQL> INSERT INTO Dept
2 VALUES(60, 'CARGO', 'MUMBAI');
1 row created.
SQL> INSERT INTO Dept
2 VALUES(70, 'COURIER', 'DELHI');
1 row created.
SQL> SELECT * FROM Dept;
DEPTNO
---------10
20
30
40
50
60
70

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
SHIPPING
CARGO
COURIER

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
CHENNAI
MUMBAI
DELHI

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7 rows selected.
SQL>
SQL>
SQL>
SQL>
SQL>

COLUMN
COLUMN
COLUMN
COLUMN
SELECT

Empno FORMAT 9999


Sal FORMAT 9999
Comm FORMAT 9999
Deptno FORMAT 99
* FROM Emp ORDER BY Deptno;

EMPNO
----7839
7782
7934
7566
7788
7876
7369
7902
7698
7654
7499

ENAME
---------KING
CLARK
MILLER
JONES
SCOTT
ADAMS
SMITH
FORD
BLAKE
MARTIN
ALLEN

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ---------- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 09-JUN-81 2450
10
CLERK
7782 23-JAN-82 1300
10
MANAGER
7839 02-APR-81 2975
20
ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20
CLERK
7902 17-DEC-80
800
20
ANALYST
7566 03-DEC-81 3000
20
MANAGER
7839 01-MAY-81 2850
30
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30

EMPNO
----7844
7900
7521

ENAME
---------TURNER
JAMES
WARD

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ---------- --------- ----- ----- -----SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30

14 rows selected.
SQL> SELECT Ename, Sal, Emp.Deptno Deptno, Dname, Loc
2 FROM Emp, Dept
3 WHERE Emp.Deptno = Dept.Deptno;
ENAME
SAL DEPTNO DNAME
LOC
---------- ----- ------ -------------- ------------KING
5000
10 ACCOUNTING
NEW YORK
CLARK
2450
10 ACCOUNTING
NEW YORK
MILLER
1300
10 ACCOUNTING
NEW YORK
JONES
2975
20 RESEARCH
DALLAS
SCOTT
3000
20 RESEARCH
DALLAS
ADAMS
1100
20 RESEARCH
DALLAS
SMITH
800
20 RESEARCH
DALLAS
FORD
3000
20 RESEARCH
DALLAS
BLAKE
2850
30 SALES
CHICAGO
MARTIN
1250
30 SALES
CHICAGO
ALLEN
1600
30 SALES
CHICAGO
ENAME
SAL DEPTNO DNAME
LOC
---------- ----- ------ -------------- ------------TURNER
1500
30 SALES
CHICAGO
JAMES
950
30 SALES
CHICAGO
WARD
1250
30 SALES
CHICAGO
14 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Emp.Deptno Deptno, Dname, Loc


FROM Emp, Dept
WHERE Emp.Deptno(+) = Dept.Deptno
/

ENAME
SAL DEPTNO DNAME
LOC
---------- ----- ------ -------------- ------------KING
5000
10 ACCOUNTING
NEW YORK
CLARK
2450
10 ACCOUNTING
NEW YORK
MILLER
1300
10 ACCOUNTING
NEW YORK
JONES
2975
20 RESEARCH
DALLAS
SCOTT
3000
20 RESEARCH
DALLAS
ADAMS
1100
20 RESEARCH
DALLAS
SMITH
800
20 RESEARCH
DALLAS
FORD
3000
20 RESEARCH
DALLAS
BLAKE
2850
30 SALES
CHICAGO
MARTIN
1250
30 SALES
CHICAGO
ALLEN
1600
30 SALES
CHICAGO
ENAME
SAL DEPTNO DNAME
LOC
---------- ----- ------ -------------- ------------TURNER
1500
30 SALES
CHICAGO
JAMES
950
30 SALES
CHICAGO
WARD
1250
30 SALES
CHICAGO
OPERATIONS
BOSTON
SHIPPING
CHENNAI
CARGO
MUMBAI
COURIER
DELHI
18 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Dept.Deptno Deptno, Dname, Loc


FROM Emp, Dept
WHERE Emp.Deptno(+) = Dept.Deptno
/

ENAME
SAL DEPTNO DNAME
LOC
---------- ----- ------ -------------- ------------KING
5000
10 ACCOUNTING
NEW YORK
CLARK
2450
10 ACCOUNTING
NEW YORK
MILLER
1300
10 ACCOUNTING
NEW YORK
JONES
2975
20 RESEARCH
DALLAS
SCOTT
3000
20 RESEARCH
DALLAS
ADAMS
1100
20 RESEARCH
DALLAS
SMITH
800
20 RESEARCH
DALLAS
FORD
3000
20 RESEARCH
DALLAS
BLAKE
2850
30 SALES
CHICAGO
MARTIN
1250
30 SALES
CHICAGO
ALLEN
1600
30 SALES
CHICAGO
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
SAL DEPTNO DNAME
LOC
---------- ----- ------ -------------- ------------TURNER
1500
30 SALES
CHICAGO
JAMES
950
30 SALES
CHICAGO
WARD
1250
30 SALES
CHICAGO
40 OPERATIONS
BOSTON
50 SHIPPING
CHENNAI
60 CARGO
MUMBAI
70 COURIER
DELHI
18 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Sal, Dept.Deptno Deptno, Dname, Loc


FROM Emp, Dept
WHERE Emp.Deptno = Dept.Deptno(+)
/

ENAME
SAL DEPTNO DNAME
LOC
---------- ----- ------ -------------- ------------MILLER
1300
10 ACCOUNTING
NEW YORK
CLARK
2450
10 ACCOUNTING
NEW YORK
KING
5000
10 ACCOUNTING
NEW YORK
ADAMS
1100
20 RESEARCH
DALLAS
SCOTT
3000
20 RESEARCH
DALLAS
SMITH
800
20 RESEARCH
DALLAS
FORD
3000
20 RESEARCH
DALLAS
JONES
2975
20 RESEARCH
DALLAS
WARD
1250
30 SALES
CHICAGO
JAMES
950
30 SALES
CHICAGO
TURNER
1500
30 SALES
CHICAGO
ENAME
SAL DEPTNO DNAME
LOC
---------- ----- ------ -------------- ------------ALLEN
1600
30 SALES
CHICAGO
MARTIN
1250
30 SALES
CHICAGO
BLAKE
2850
30 SALES
CHICAGO
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT
NVL(Ename, 'NOT RECRUITED') Ename,
Dept.Deptno Deptno,
Dname,
Loc
FROM Emp, Dept
WHERE Emp.Deptno(+) = Dept.Deptno
/

ENAME
DEPTNO DNAME
LOC
------------- ------ -------------- ------------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

KING
CLARK
MILLER
JONES
SCOTT
ADAMS
SMITH
FORD
BLAKE
MARTIN
ALLEN

10
10
10
20
20
20
20
20
30
30
30

ACCOUNTING
ACCOUNTING
ACCOUNTING
RESEARCH
RESEARCH
RESEARCH
RESEARCH
RESEARCH
SALES
SALES
SALES

NEW YORK
NEW YORK
NEW YORK
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
CHICAGO
CHICAGO
CHICAGO

ENAME
DEPTNO DNAME
LOC
------------- ------ -------------- ------------TURNER
30 SALES
CHICAGO
JAMES
30 SALES
CHICAGO
WARD
30 SALES
CHICAGO
NOT RECRUITED
40 OPERATIONS
BOSTON
NOT RECRUITED
50 SHIPPING
CHENNAI
NOT RECRUITED
60 CARGO
MUMBAI
NOT RECRUITED
70 COURIER
DELHI
18 rows selected.
SQL> cl scr
SQL>
2
3
4
5

SELECT E.Ename, D.Deptno, D.Dname


FROM Emp E, Dept D
WHERE E.Deptno(+) = D.Deptno
AND E.Deptno = 10
ORDER BY E.Deptno;

ENAME
DEPTNO DNAME
---------- ------ -------------KING
10 ACCOUNTING
CLARK
10 ACCOUNTING
MILLER
10 ACCOUNTING
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT E.Ename, D.Deptno, D.Dname, D.Loc


FROM Emp E, Dept D
WHERE E.Deptno(+) = D.Deptno
AND E.Deptno = 10
ORDER BY E.Deptno
/

ENAME
DEPTNO DNAME
LOC
---------- ------ -------------- ------------KING
10 ACCOUNTING
NEW YORK
CLARK
10 ACCOUNTING
NEW YORK
MILLER
10 ACCOUNTING
NEW YORK
SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1
2
3
4
5*
SQL>

SELECT E.Ename, D.Deptno, D.Dname, D.Loc


FROM Emp E, Dept D
WHERE E.Deptno(+) = D.Deptno
AND E.Deptno(+) = 10
ORDER BY E.Deptno
/

ENAME
DEPTNO DNAME
LOC
---------- ------ -------------- ------------KING
10 ACCOUNTING
NEW YORK
CLARK
10 ACCOUNTING
NEW YORK
MILLER
10 ACCOUNTING
NEW YORK
20 RESEARCH
DALLAS
30 SALES
CHICAGO
40 OPERATIONS
BOSTON
50 SHIPPING
CHENNAI
60 CARGO
MUMBAI
70 COURIER
DELHI
9 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT E.Ename, D.Deptno, D.Dname, D.Loc


FROM Emp E, Dept D
WHERE E.Deptno(+) = D.Deptno
AND D.Deptno(+) = 10
ORDER BY E.Deptno
/

ENAME
DEPTNO DNAME
LOC
---------- ------ -------------- ------------KING
10 ACCOUNTING
NEW YORK
CLARK
10 ACCOUNTING
NEW YORK
MILLER
10 ACCOUNTING
NEW YORK
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9*
SQL>

SELECT
NVL(E.Ename, 'NOT RECRUITED OR REQUESTED') Ename,
D.Deptno,
D.Dname,
D.Loc
FROM Emp E, Dept D
WHERE E.Deptno(+) = D.Deptno
AND E.Deptno(+) = 10
ORDER BY E.Deptno
/

ENAME
DEPTNO DNAME
LOC
-------------------------- ------ -------------- ------------KING
10 ACCOUNTING
NEW YORK
CLARK
10 ACCOUNTING
NEW YORK
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

MILLER
NOT RECRUITED
NOT RECRUITED
NOT RECRUITED
NOT RECRUITED
NOT RECRUITED
NOT RECRUITED

OR
OR
OR
OR
OR
OR

REQUESTED
REQUESTED
REQUESTED
REQUESTED
REQUESTED
REQUESTED

10
20
30
40
50
60
70

ACCOUNTING
RESEARCH
SALES
OPERATIONS
SHIPPING
CARGO
COURIER

NEW YORK
DALLAS
CHICAGO
BOSTON
CHENNAI
MUMBAI
DELHI

9 rows selected.
SQL> SPOOL OFF
SQL> cl scr
SQL>
2
3
4
5
6
7

SELECT
C.Name, O.OrdID,
I.ItemID, I.Itemtot, O.Total
FROM Customer C, Ord O, Item I
WHERE C.CustID = O.CustID
AND O.OrdID = I.OrdID
AND C.Name = 'TKB SPORT SHOP';

NAME
ORDID
ITEMID
ITEMTOT
--------------------------------------------- ---------- ---------- ---------TOTAL
---------TKB SPORT SHOP
610
2
8.4
101.4
TKB SPORT SHOP
101.4

610

35

TKB SPORT SHOP


101.4

610

58

SQL> cl scr
SQL>
2
3
4
5
6
7
8

SELECT
E.Ename Employee,
E.Deptno Department,
M.Ename Manager,
M.Deptno "Manager's Dept"
FROM Emp E, Dept D, Emp M
WHERE E.MGR = M.Empno AND
E.Deptno = D.Deptno;

EMPLOYEE
DEPARTMENT MANAGER
Manager's Dept
---------- ---------- ---------- -------------FORD
20 JONES
20
SCOTT
20 JONES
20
MARTIN
30 BLAKE
30
ALLEN
30 BLAKE
30
JAMES
30 BLAKE
30
TURNER
30 BLAKE
30
WARD
30 BLAKE
30
MILLER
10 CLARK
10
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ADAMS
BLAKE
CLARK

20 SCOTT
30 KING
10 KING

20
10
10

EMPLOYEE
DEPARTMENT MANAGER
Manager's Dept
---------- ---------- ---------- -------------JONES
20 KING
10
SMITH
20 FORD
20
13 rows selected.
SQL>
2
3
4
5
6
7
8
9

SELECT
E.Ename Employee,
Dname Department,
Loc Place,
M.Ename Manager,
Dname "Manager's Dept"
FROM Emp E, Dept D, Emp M
WHERE E.MGR = M.Empno AND
E.Deptno = D.Deptno;

EMPLOYEE
---------BLAKE
JONES
CLARK
WARD
JAMES
TURNER
ALLEN
MARTIN
MILLER
SCOTT
FORD

DEPARTMENT
-------------SALES
RESEARCH
ACCOUNTING
SALES
SALES
SALES
SALES
SALES
ACCOUNTING
RESEARCH
RESEARCH

PLACE
------------CHICAGO
DALLAS
NEW YORK
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
NEW YORK
DALLAS
DALLAS

MANAGER
---------KING
KING
KING
BLAKE
BLAKE
BLAKE
BLAKE
BLAKE
CLARK
JONES
JONES

Manager's Dept
-------------SALES
RESEARCH
ACCOUNTING
SALES
SALES
SALES
SALES
SALES
ACCOUNTING
RESEARCH
RESEARCH

EMPLOYEE
---------SMITH
ADAMS

DEPARTMENT
-------------RESEARCH
RESEARCH

PLACE
------------DALLAS
DALLAS

MANAGER
---------FORD
SCOTT

Manager's Dept
-------------RESEARCH
RESEARCH

13 rows selected.
SQL>
2
3
4
5
6
7
8
9
10
11

SELECT
E.Ename Employee,
DE.Dname Department,
DE.Loc Place,
M.Ename Manager,
DM.Dname "Manager's Dept"
FROM Emp E, Dept DE, Emp M, Dept DM
WHERE E.MGR = M.Empno AND
E.Deptno = DE.Deptno AND
M.Deptno = DM.Deptno
ORDER BY E.Deptno;

EMPLOYEE
DEPARTMENT
PLACE
MANAGER
Manager's Dept
---------- -------------- ------------- ---------- -------------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

MILLER
CLARK
JONES
SMITH
SCOTT
FORD
ADAMS
BLAKE
MARTIN
ALLEN
TURNER

ACCOUNTING
ACCOUNTING
RESEARCH
RESEARCH
RESEARCH
RESEARCH
RESEARCH
SALES
SALES
SALES
SALES

NEW YORK
NEW YORK
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
CHICAGO
CHICAGO
CHICAGO
CHICAGO

CLARK
KING
KING
FORD
JONES
JONES
SCOTT
KING
BLAKE
BLAKE
BLAKE

ACCOUNTING
ACCOUNTING
ACCOUNTING
RESEARCH
RESEARCH
RESEARCH
RESEARCH
ACCOUNTING
SALES
SALES
SALES

EMPLOYEE
---------JAMES
WARD

DEPARTMENT
-------------SALES
SALES

PLACE
------------CHICAGO
CHICAGO

MANAGER
---------BLAKE
BLAKE

Manager's Dept
-------------SALES
SALES

13 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9

SELECT
E.Ename Employee,
E.Sal "Employee's Salary",
M.Ename Manager,
M.Sal "Manager's Salary",
Dname "Manager's Dept"
FROM Emp E, Dept D, Emp M
WHERE E.Deptno = D.Deptno AND
E.MGR = M.Empno;

EMPLOYEE
Employee's Salary
---------- ----------------BLAKE
2850
JONES
2975
CLARK
2450
WARD
1250
JAMES
950
TURNER
1500
ALLEN
1600
MARTIN
1250
MILLER
1300
SCOTT
3000
FORD
3000

MANAGER
Manager's Salary
---------- ---------------KING
5000
KING
5000
KING
5000
BLAKE
2850
BLAKE
2850
BLAKE
2850
BLAKE
2850
BLAKE
2850
CLARK
2450
JONES
2975
JONES
2975

Manager's Dept
-------------SALES
RESEARCH
ACCOUNTING
SALES
SALES
SALES
SALES
SALES
ACCOUNTING
RESEARCH
RESEARCH

EMPLOYEE
Employee's Salary
---------- ----------------SMITH
800
ADAMS
1100

MANAGER
Manager's Salary
---------- ---------------FORD
3000
SCOTT
3000

Manager's Dept
-------------RESEARCH
RESEARCH

13 rows selected.
SQL> cl scr
SQL> SELECT
2 E.Ename Employee,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3
4
5
6
7
8
9
10

E.Sal "Employee's Salary",


M.Ename Manager,
M.Sal "Manager's Salary",
DM.Dname "Manager's Dept"
FROM Emp E, Dept DE, Emp M, Dept DM
WHERE E.Deptno = DE.Deptno AND
M.Deptno = DM.Deptno AND
E.MGR = M.Empno;

EMPLOYEE
Employee's Salary
---------- ----------------BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
ALLEN
1600
TURNER
1500
JAMES
950
WARD
1250
FORD
3000
SMITH
800
SCOTT
3000

MANAGER
Manager's Salary
---------- ---------------KING
5000
KING
5000
KING
5000
BLAKE
2850
BLAKE
2850
BLAKE
2850
BLAKE
2850
BLAKE
2850
JONES
2975
FORD
3000
JONES
2975

Manager's Dept
-------------ACCOUNTING
ACCOUNTING
ACCOUNTING
SALES
SALES
SALES
SALES
SALES
RESEARCH
RESEARCH
RESEARCH

EMPLOYEE
Employee's Salary
---------- ----------------ADAMS
1100
MILLER
1300

MANAGER
Manager's Salary
---------- ---------------SCOTT
3000
CLARK
2450

Manager's Dept
-------------RESEARCH
ACCOUNTING

13 rows selected.
SQL> cl scr
SQL>
SQL>
SQL>
SQL>
SQL>
2
3
4
5
6
7
8
9
10

COLUMN Employee FORMAT A14


COLUMN "Employee's Dept" FORMAT A10
COLUMN Manager FORMAT A15
COLUMN "Manager's Dept" FORMAT A15
SELECT
NVL(E.Ename, 'Not Recruited') Employee,
DE.Dname "Employee's Dept",
NVL(M.Ename, 'NULL Manager') Manager,
NVL(DM.Dname, 'Not Recruited') "Manager's Dept",
DE.Deptno
FROM Emp E, Dept DE, Emp M, Dept DM
WHERE E.Deptno(+) = DE.Deptno AND
M.Deptno = DM.Deptno(+) AND
E.MGR = M.Empno(+);

EMPLOYEE
Employee's MANAGER
Manager's Dept
DEPTNO
-------------- ---------- --------------- --------------- ---------MILLER
ACCOUNTING CLARK
ACCOUNTING
10
CLARK
ACCOUNTING KING
ACCOUNTING
10
JONES
RESEARCH
KING
ACCOUNTING
20
BLAKE
SALES
KING
ACCOUNTING
30
ADAMS
RESEARCH
SCOTT
RESEARCH
20
SMITH
RESEARCH
FORD
RESEARCH
20
SCOTT
RESEARCH
JONES
RESEARCH
20
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

FORD
MARTIN
ALLEN
TURNER

RESEARCH
SALES
SALES
SALES

JONES
BLAKE
BLAKE
BLAKE

RESEARCH
SALES
SALES
SALES

20
30
30
30

EMPLOYEE
-------------JAMES
WARD
KING
Not Recruited

Employee's
---------SALES
SALES
ACCOUNTING
OPERATIONS

MANAGER
--------------BLAKE
BLAKE
NULL Manager
NULL Manager

Manager's Dept
DEPTNO
--------------- ---------SALES
30
SALES
30
Not Recruited
10
Not Recruited
40

15 rows selected.
SQL> cl scr
SQL>
SQL>
SQL>
SQL>
SQL>
2
3
4
5
6
7
8
9
10
11
12

COLUMN "Employee's Salary" FORMAT 9999


COLUMN EMPGRADE FORMAT 99
COLUMN "Manager's Salary" FORMAT 9999
COLUMN MGRGRADE FORMAT 99
SELECT
E.Ename Employee,
E.Sal "Employee's Salary",
SE.Grade EmpGrade,
M.Sal "Manager's Salary",
SM.Grade MGRGrade,
Dname
FROM Emp E, Dept D, Emp M, SalGrade SE, SalGrade SM
WHERE E.Deptno = D.Deptno AND
E.MGR = M.Empno AND
E.Sal BETWEEN SE.LoSal AND SE.HiSal AND
M.Sal BETWEEN SM.LoSal AND SM.HiSal;

EMPLOYEE
Employee's Salary EMPGRADE Manager's Salary MGRGRADE
-------------- ----------------- -------- ---------------- -------DNAME
-------------SMITH
800
1
3000
4
RESEARCH
JAMES
SALES
ADAMS
RESEARCH

950

2850

1100

3000

EMPLOYEE
Employee's Salary EMPGRADE Manager's Salary MGRGRADE
-------------- ----------------- -------- ---------------- -------DNAME
-------------MARTIN
1250
2
2850
4
SALES
WARD
SALES

1250

2850

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

MILLER
ACCOUNTING

1300

2450

EMPLOYEE
Employee's Salary EMPGRADE Manager's Salary MGRGRADE
-------------- ----------------- -------- ---------------- -------DNAME
-------------TURNER
1500
3
2850
4
SALES
ALLEN
SALES

1600

2850

CLARK
ACCOUNTING

2450

5000

EMPLOYEE
Employee's Salary EMPGRADE Manager's Salary MGRGRADE
-------------- ----------------- -------- ---------------- -------DNAME
-------------BLAKE
2850
4
5000
5
SALES
JONES
RESEARCH

2975

5000

FORD
RESEARCH

3000

2975

EMPLOYEE
Employee's Salary EMPGRADE Manager's Salary MGRGRADE
-------------- ----------------- -------- ---------------- -------DNAME
-------------SCOTT
3000
4
2975
4
RESEARCH

13 rows selected.
SQL> cl scr
SQL> SELECT Ename, Dept.Deptno, Dname, Loc
2 FROM Emp CROSS JOIN Dept
3 /
ENAME
DEPTNO DNAME
LOC
---------- ---------- -------------- ------------KING
10 ACCOUNTING
NEW YORK
BLAKE
10 ACCOUNTING
NEW YORK
CLARK
10 ACCOUNTING
NEW YORK
JONES
10 ACCOUNTING
NEW YORK
MARTIN
10 ACCOUNTING
NEW YORK
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ALLEN
TURNER
JAMES
WARD
FORD
SMITH

10
10
10
10
10
10

ACCOUNTING
ACCOUNTING
ACCOUNTING
ACCOUNTING
ACCOUNTING
ACCOUNTING

NEW
NEW
NEW
NEW
NEW
NEW

YORK
YORK
YORK
YORK
YORK
YORK

ENAME
DEPTNO DNAME
---------- ---------- -------------SCOTT
10 ACCOUNTING
ADAMS
10 ACCOUNTING
MILLER
10 ACCOUNTING
KING
20 RESEARCH
BLAKE
20 RESEARCH
CLARK
20 RESEARCH
JONES
20 RESEARCH
MARTIN
20 RESEARCH
ALLEN
20 RESEARCH
TURNER
20 RESEARCH
JAMES
20 RESEARCH

LOC
------------NEW YORK
NEW YORK
NEW YORK
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS

ENAME
DEPTNO DNAME
---------- ---------- -------------WARD
20 RESEARCH
FORD
20 RESEARCH
SMITH
20 RESEARCH
SCOTT
20 RESEARCH
ADAMS
20 RESEARCH
MILLER
20 RESEARCH
KING
30 SALES
BLAKE
30 SALES
CLARK
30 SALES
JONES
30 SALES
MARTIN
30 SALES

LOC
------------DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO

ENAME
DEPTNO DNAME
---------- ---------- -------------ALLEN
30 SALES
TURNER
30 SALES
JAMES
30 SALES
WARD
30 SALES
FORD
30 SALES
SMITH
30 SALES
SCOTT
30 SALES
ADAMS
30 SALES
MILLER
30 SALES
KING
40 OPERATIONS
BLAKE
40 OPERATIONS

LOC
------------CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
BOSTON
BOSTON

ENAME
DEPTNO DNAME
LOC
---------- ---------- -------------- ------------CLARK
40 OPERATIONS
BOSTON
JONES
40 OPERATIONS
BOSTON
MARTIN
40 OPERATIONS
BOSTON
ALLEN
40 OPERATIONS
BOSTON
TURNER
40 OPERATIONS
BOSTON
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

JAMES
WARD
FORD
SMITH
SCOTT
ADAMS

40
40
40
40
40
40

OPERATIONS
OPERATIONS
OPERATIONS
OPERATIONS
OPERATIONS
OPERATIONS

BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON

ENAME
DEPTNO DNAME
LOC
---------- ---------- -------------- ------------MILLER
40 OPERATIONS
BOSTON
56 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Dept.Deptno, Dname, Loc
2* FROM Emp, Dept
SQL> /
ENAME
DEPTNO DNAME
---------- ---------- -------------KING
10 ACCOUNTING
BLAKE
10 ACCOUNTING
CLARK
10 ACCOUNTING
JONES
10 ACCOUNTING
MARTIN
10 ACCOUNTING
ALLEN
10 ACCOUNTING
TURNER
10 ACCOUNTING
JAMES
10 ACCOUNTING
WARD
10 ACCOUNTING
FORD
10 ACCOUNTING
SMITH
10 ACCOUNTING

LOC
------------NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK
NEW YORK

ENAME
DEPTNO DNAME
---------- ---------- -------------SCOTT
10 ACCOUNTING
ADAMS
10 ACCOUNTING
MILLER
10 ACCOUNTING
KING
20 RESEARCH
BLAKE
20 RESEARCH
CLARK
20 RESEARCH
JONES
20 RESEARCH
MARTIN
20 RESEARCH
ALLEN
20 RESEARCH
TURNER
20 RESEARCH
JAMES
20 RESEARCH

LOC
------------NEW YORK
NEW YORK
NEW YORK
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS

ENAME
DEPTNO DNAME
LOC
---------- ---------- -------------- ------------WARD
20 RESEARCH
DALLAS
FORD
20 RESEARCH
DALLAS
SMITH
20 RESEARCH
DALLAS
SCOTT
20 RESEARCH
DALLAS
ADAMS
20 RESEARCH
DALLAS
MILLER
20 RESEARCH
DALLAS
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

KING
BLAKE
CLARK
JONES
MARTIN

30
30
30
30
30

SALES
SALES
SALES
SALES
SALES

CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO

ENAME
DEPTNO DNAME
---------- ---------- -------------ALLEN
30 SALES
TURNER
30 SALES
JAMES
30 SALES
WARD
30 SALES
FORD
30 SALES
SMITH
30 SALES
SCOTT
30 SALES
ADAMS
30 SALES
MILLER
30 SALES
KING
40 OPERATIONS
BLAKE
40 OPERATIONS

LOC
------------CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
CHICAGO
BOSTON
BOSTON

ENAME
DEPTNO DNAME
---------- ---------- -------------CLARK
40 OPERATIONS
JONES
40 OPERATIONS
MARTIN
40 OPERATIONS
ALLEN
40 OPERATIONS
TURNER
40 OPERATIONS
JAMES
40 OPERATIONS
WARD
40 OPERATIONS
FORD
40 OPERATIONS
SMITH
40 OPERATIONS
SCOTT
40 OPERATIONS
ADAMS
40 OPERATIONS

LOC
------------BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON
BOSTON

ENAME
DEPTNO DNAME
LOC
---------- ---------- -------------- ------------MILLER
40 OPERATIONS
BOSTON
56 rows selected.
SQL> cl scr
SQL> SELECT Ename, Dept.Deptno, Dname, Loc
2 FROM Emp CROSS JOIN Dept
3 WHERE Emp.Deptno = Dept.Deptno;
ENAME
DEPTNO DNAME
LOC
---------- ---------- -------------- ------------KING
10 ACCOUNTING
NEW YORK
CLARK
10 ACCOUNTING
NEW YORK
MILLER
10 ACCOUNTING
NEW YORK
JONES
20 RESEARCH
DALLAS
SCOTT
20 RESEARCH
DALLAS
ADAMS
20 RESEARCH
DALLAS
SMITH
20 RESEARCH
DALLAS
FORD
20 RESEARCH
DALLAS
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

BLAKE
MARTIN
ALLEN

30 SALES
30 SALES
30 SALES

ENAME
DEPTNO DNAME
---------- ---------- -------------TURNER
30 SALES
JAMES
30 SALES
WARD
30 SALES

CHICAGO
CHICAGO
CHICAGO
LOC
------------CHICAGO
CHICAGO
CHICAGO

14 rows selected.
SQL> cl scr
SQL> SELECT Ename, Deptno, Dname, Loc
2 FROM Emp NATURAL JOIN Dept;
ENAME
DEPTNO DNAME
---------- ---------- -------------KING
10 ACCOUNTING
CLARK
10 ACCOUNTING
MILLER
10 ACCOUNTING
JONES
20 RESEARCH
SCOTT
20 RESEARCH
ADAMS
20 RESEARCH
SMITH
20 RESEARCH
FORD
20 RESEARCH
BLAKE
30 SALES
MARTIN
30 SALES
ALLEN
30 SALES

LOC
------------NEW YORK
NEW YORK
NEW YORK
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
CHICAGO
CHICAGO
CHICAGO

ENAME
DEPTNO DNAME
---------- ---------- -------------TURNER
30 SALES
JAMES
30 SALES
WARD
30 SALES

LOC
------------CHICAGO
CHICAGO
CHICAGO

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, D.Deptno, Dname, Loc
2* FROM Emp NATURAL JOIN Dept
SQL> /
SELECT Ename, D.Deptno, Dname, Loc
*
ERROR at line 1:
ORA-00904: "D"."DEPTNO": invalid identifier

SQL> cl scr
SQL> SELECT Ename, Deptno, Dname, Loc
2 FROM Emp JOIN Dept
3 USING(Deptno);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
DEPTNO DNAME
---------- ---------- -------------KING
10 ACCOUNTING
CLARK
10 ACCOUNTING
MILLER
10 ACCOUNTING
JONES
20 RESEARCH
SCOTT
20 RESEARCH
ADAMS
20 RESEARCH
SMITH
20 RESEARCH
FORD
20 RESEARCH
BLAKE
30 SALES
MARTIN
30 SALES
ALLEN
30 SALES

LOC
------------NEW YORK
NEW YORK
NEW YORK
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
CHICAGO
CHICAGO
CHICAGO

ENAME
DEPTNO DNAME
---------- ---------- -------------TURNER
30 SALES
JAMES
30 SALES
WARD
30 SALES

LOC
------------CHICAGO
CHICAGO
CHICAGO

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Deptno, Dname, Loc


FROM Emp INNER JOIN Dept
USING(Deptno)
/

ENAME
DEPTNO DNAME
---------- ---------- -------------KING
10 ACCOUNTING
CLARK
10 ACCOUNTING
MILLER
10 ACCOUNTING
JONES
20 RESEARCH
SCOTT
20 RESEARCH
ADAMS
20 RESEARCH
SMITH
20 RESEARCH
FORD
20 RESEARCH
BLAKE
30 SALES
MARTIN
30 SALES
ALLEN
30 SALES

LOC
------------NEW YORK
NEW YORK
NEW YORK
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
CHICAGO
CHICAGO
CHICAGO

ENAME
DEPTNO DNAME
---------- ---------- -------------TURNER
30 SALES
JAMES
30 SALES
WARD
30 SALES

LOC
------------CHICAGO
CHICAGO
CHICAGO

14 rows selected.
SQL> cl scr
SQL> SELECT Ename, Dept.Deptno, Dname, Loc
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2
3

FROM Emp JOIN Dept


ON Emp.Deptno = Dept.Deptno;

ENAME
DEPTNO DNAME
---------- ---------- -------------KING
10 ACCOUNTING
CLARK
10 ACCOUNTING
MILLER
10 ACCOUNTING
JONES
20 RESEARCH
SCOTT
20 RESEARCH
ADAMS
20 RESEARCH
SMITH
20 RESEARCH
FORD
20 RESEARCH
BLAKE
30 SALES
MARTIN
30 SALES
ALLEN
30 SALES

LOC
------------NEW YORK
NEW YORK
NEW YORK
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
CHICAGO
CHICAGO
CHICAGO

ENAME
DEPTNO DNAME
---------- ---------- -------------TURNER
30 SALES
JAMES
30 SALES
WARD
30 SALES

LOC
------------CHICAGO
CHICAGO
CHICAGO

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Dept.Deptno, Dname, Loc


FROM Emp INNER JOIN Dept
ON Emp.Deptno = Dept.Deptno
/

ENAME
DEPTNO DNAME
---------- ---------- -------------KING
10 ACCOUNTING
CLARK
10 ACCOUNTING
MILLER
10 ACCOUNTING
JONES
20 RESEARCH
SCOTT
20 RESEARCH
ADAMS
20 RESEARCH
SMITH
20 RESEARCH
FORD
20 RESEARCH
BLAKE
30 SALES
MARTIN
30 SALES
ALLEN
30 SALES

LOC
------------NEW YORK
NEW YORK
NEW YORK
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
CHICAGO
CHICAGO
CHICAGO

ENAME
DEPTNO DNAME
---------- ---------- -------------TURNER
30 SALES
JAMES
30 SALES
WARD
30 SALES

LOC
------------CHICAGO
CHICAGO
CHICAGO

14 rows selected.
SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf


1 SELECT Ename, Dept.Deptno, Dname, Loc
2 FROM Emp INNER JOIN Dept
3* WHERE Emp.Deptno = Dept.Deptno
SQL> /
WHERE Emp.Deptno = Dept.Deptno
*
ERROR at line 3:
ORA-00905: missing keyword

SQL> cl scr
SQL>
2
3
4
5
6
7

SELECT
E.Ename Employee,
M.Ename Manager
FROM
Emp E INNER JOIN Emp M
ON(E.MGR = M.Empno)
/

EMPLOYEE
-------------FORD
SCOTT
MARTIN
ALLEN
JAMES
TURNER
WARD
MILLER
ADAMS
BLAKE
CLARK

MANAGER
--------------JONES
JONES
BLAKE
BLAKE
BLAKE
BLAKE
BLAKE
CLARK
SCOTT
KING
KING

EMPLOYEE
-------------JONES
SMITH

MANAGER
--------------KING
FORD

13 rows selected.
SQL>
2
3
4
5

SELECT Ename, Sal, Grade, Dept.Deptno, Dname


FROM Emp JOIN Dept
ON Emp.Deptno = Dept.Deptno
JOIN SalGrade
ON Emp.Sal BETWEEN LoSal AND HiSal;

ENAME
SAL
GRADE
DEPTNO DNAME
---------- ---------- ---------- ---------- -------------SMITH
800
1
20 RESEARCH
JAMES
950
1
30 SALES
ADAMS
1100
1
20 RESEARCH
MARTIN
1250
2
30 SALES
WARD
1250
2
30 SALES
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

MILLER
TURNER
ALLEN
CLARK
BLAKE
JONES

1300
1500
1600
2450
2850
2975

2
3
3
4
4
4

10
30
30
10
30
20

ACCOUNTING
SALES
SALES
ACCOUNTING
SALES
RESEARCH

ENAME
SAL
GRADE
DEPTNO DNAME
---------- ---------- ---------- ---------- -------------FORD
3000
4
20 RESEARCH
SCOTT
3000
4
20 RESEARCH
KING
5000
5
10 ACCOUNTING
14 rows selected.
SQL>
2
3
4
5
6
7
8

SELECT E.Ename, M.Ename, Sal, Grade, D.Deptno, Dname


FROM
Emp E INNER JOIN Dept D
ON E.Deptno = D.Deptno
INNER JOIN Emp M
ON E.Empno = M.MGR
INNER JOIN SalGrade S
ON E.Sal BETWEEN LoSal AND HiSal;

ENAME
---------KING
KING
KING
SCOTT
FORD
JONES
JONES
BLAKE
BLAKE
BLAKE
BLAKE

ENAME
SAL
GRADE
DEPTNO DNAME
---------- ---------- ---------- ---------- -------------BLAKE
2850
5
10 ACCOUNTING
CLARK
2450
5
10 ACCOUNTING
JONES
2975
5
10 ACCOUNTING
ADAMS
1100
4
20 RESEARCH
SMITH
800
4
20 RESEARCH
FORD
3000
4
20 RESEARCH
SCOTT
3000
4
20 RESEARCH
MARTIN
1250
4
30 SALES
ALLEN
1600
4
30 SALES
JAMES
950
4
30 SALES
TURNER
1500
4
30 SALES

ENAME
---------BLAKE
CLARK

ENAME
SAL
GRADE
DEPTNO DNAME
---------- ---------- ---------- ---------- -------------WARD
1250
4
30 SALES
MILLER
1300
4
10 ACCOUNTING

13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Sal, Grade, Dept.Deptno, Dname
2 FROM Emp NATURAL JOIN Dept
3 JOIN SalGrade
4* ON Emp.Sal BETWEEN LoSal AND HiSal
SQL> /
SELECT Ename, Sal, Grade, Dept.Deptno, Dname
*
ERROR at line 1:
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ORA-25155: column used in NATURAL join cannot have qualifier

SQL> Ed
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Sal, Grade, Deptno, Dname


FROM Emp NATURAL JOIN Dept
JOIN SalGrade
ON Emp.Sal BETWEEN LoSal AND HiSal
/

ENAME
SAL
GRADE
DEPTNO DNAME
---------- ---------- ---------- ---------- -------------SMITH
800
1
20 RESEARCH
JAMES
950
1
30 SALES
ADAMS
1100
1
20 RESEARCH
MARTIN
1250
2
30 SALES
WARD
1250
2
30 SALES
MILLER
1300
2
10 ACCOUNTING
TURNER
1500
3
30 SALES
ALLEN
1600
3
30 SALES
CLARK
2450
4
10 ACCOUNTING
BLAKE
2850
4
30 SALES
JONES
2975
4
20 RESEARCH
ENAME
SAL
GRADE
DEPTNO DNAME
---------- ---------- ---------- ---------- -------------FORD
3000
4
20 RESEARCH
SCOTT
3000
4
20 RESEARCH
KING
5000
5
10 ACCOUNTING
14 rows selected.
SQL> cl scr
SQL> SELECT Ename, Dept.Deptno, Dname, Loc
2 FROM Emp RIGHT JOIN Dept
3 ON Emp.Deptno = Dept.Deptno;
ENAME
DEPTNO DNAME
---------- ---------- -------------KING
10 ACCOUNTING
CLARK
10 ACCOUNTING
MILLER
10 ACCOUNTING
JONES
20 RESEARCH
SCOTT
20 RESEARCH
ADAMS
20 RESEARCH
SMITH
20 RESEARCH
FORD
20 RESEARCH
BLAKE
30 SALES
MARTIN
30 SALES
ALLEN
30 SALES

LOC
------------NEW YORK
NEW YORK
NEW YORK
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
CHICAGO
CHICAGO
CHICAGO

ENAME
DEPTNO DNAME
LOC
---------- ---------- -------------- ------------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

TURNER
JAMES
WARD

30
30
30
40

SALES
SALES
SALES
OPERATIONS

CHICAGO
CHICAGO
CHICAGO
BOSTON

15 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Dept.Deptno, Dname, Loc


FROM Emp LEFT JOIN Dept
ON Emp.Deptno = Dept.Deptno
/

ENAME
DEPTNO DNAME
---------- ---------- -------------MILLER
10 ACCOUNTING
CLARK
10 ACCOUNTING
KING
10 ACCOUNTING
ADAMS
20 RESEARCH
SCOTT
20 RESEARCH
SMITH
20 RESEARCH
FORD
20 RESEARCH
JONES
20 RESEARCH
WARD
30 SALES
JAMES
30 SALES
TURNER
30 SALES

LOC
------------NEW YORK
NEW YORK
NEW YORK
DALLAS
DALLAS
DALLAS
DALLAS
DALLAS
CHICAGO
CHICAGO
CHICAGO

ENAME
DEPTNO DNAME
---------- ---------- -------------ALLEN
30 SALES
MARTIN
30 SALES
BLAKE
30 SALES

LOC
------------CHICAGO
CHICAGO
CHICAGO

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Dept.Deptno, Dname, Loc


FROM Dept LEFT JOIN Emp
ON Emp.Deptno = Dept.Deptno
/

ENAME
DEPTNO DNAME
LOC
---------- ---------- -------------- ------------KING
10 ACCOUNTING
NEW YORK
CLARK
10 ACCOUNTING
NEW YORK
MILLER
10 ACCOUNTING
NEW YORK
JONES
20 RESEARCH
DALLAS
SCOTT
20 RESEARCH
DALLAS
ADAMS
20 RESEARCH
DALLAS
SMITH
20 RESEARCH
DALLAS
FORD
20 RESEARCH
DALLAS
BLAKE
30 SALES
CHICAGO
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

MARTIN
ALLEN

30 SALES
30 SALES

ENAME
DEPTNO DNAME
---------- ---------- -------------TURNER
30 SALES
JAMES
30 SALES
WARD
30 SALES
40 OPERATIONS

CHICAGO
CHICAGO
LOC
------------CHICAGO
CHICAGO
CHICAGO
BOSTON

15 rows selected.
SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL>
2
3
4
5
6
7
8
SQL>
2
3
4
5
6
7*
8
SQL>

SELECT ColumnName
FROM TableName
WHERE ColumnName = (
SELECT ColumnName
FROM TableName
WHERE ColumnName = Value
)
SELECT ColumnName
FROM TableName, (
SELECT ColumName
FROM TableName
WHERE ColumnName = Value
)
WHERE ColumnName = Value
cl scr

SQL>
2
3
4
5
6
7
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
SQL>

SELECT ColumnName, (
SELECT ColumnName
FROM TableName
WHERE ColumnName = Value
)
FROM TableName

SQL>
SQL>
SQL>
SQL>
SQL>
SQL>

COLUMN
COLUMN
COLUMN
COLUMN
COLUMN
SELECT

SELECT ColumnName, (
SELECT ColumnName
FROM TableName
WHERE ColumnName = Value
)
FROM TableName, (
SELECT ColumnName
FROM TableName
WHERE ColumnName = Value
)
WHERE ColumnName = (
SELECT ColumnName
FROM TableName
WHERE ColumnName = (
SELECT ColumnName
FROM TableName
WHERE ColumnName = Value
)
)
cl scr
Empno FORMAT 9999
MGR FORMAT 9999
Deptno FORMAT 99
Sal FORMAT 9999
Comm FORMAT 9999
* FROM Emp;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20

EMPNO
----7788
7876
7934

ENAME
---------SCOTT
ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

14 rows selected.
SQL> (
2
SELECT *
3
FROM Emp
4 );
EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20

EMPNO
----7788
7876
7934

ENAME
---------SCOTT
ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4

(
SELECT *
FROM Emp
ORDER BY Sal DESC
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

5* )
SQL> /
ORDER BY Sal DESC
*
ERROR at line 4:
ORA-00907: missing right parenthesis

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

(
SELECT *
FROM Emp
)
ORDER BY Sal DESC
/

EMPNO
----7839
7902
7788
7566
7698
7782
7499
7844
7934
7654
7521

ENAME
---------KING
FORD
SCOTT
JONES
BLAKE
CLARK
ALLEN
TURNER
MILLER
MARTIN
WARD

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
ANALYST
7566 03-DEC-81 3000
20
ANALYST
7566 09-DEC-82 3000
20
MANAGER
7839 02-APR-81 2975
20
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7782 23-JAN-82 1300
10
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 22-FEB-81 1250
500
30

EMPNO
----7876
7900
7369

ENAME
---------ADAMS
JAMES
SMITH

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----CLERK
7788 12-JAN-83 1100
20
CLERK
7698 03-DEC-81
950
30
CLERK
7902 17-DEC-80
800
20

14 rows selected.
SQL> cl scr
SQL> SELECT Sal
2
3

FROM Emp
WHERE Empno = 7566;

SAL
----2975
SQL> SELECT Ename, Sal, Job
2 FROM Emp
3 WHERE Sal > 2975;
ENAME
SAL JOB
---------- ----- --------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

KING
FORD
SCOTT

5000 PRESIDENT
3000 ANALYST
3000 ANALYST

SQL> SELECT Ename, Sal, Job


2 FROM Emp
3 WHERE Sal > (SELECT Sal
4
FROM Emp
5
WHERE Empno = 7566);
ENAME
SAL JOB
---------- ----- --------KING
5000 PRESIDENT
FORD
3000 ANALYST
SCOTT
3000 ANALYST
SQL> SET AUTOTRACE ON EXPLAIN
SQL> SELECT Sal
2
FROM Emp
3
WHERE Empno = 7566;
SAL
----2975

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=1 Card=1 Bytes=8)
1
0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car
d=1 Bytes=8)
2

INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=0 Card=1)

SQL> SELECT Ename, Sal, Job


2 FROM Emp
3 WHERE Sal > 2975;
ENAME
SAL JOB
---------- ----- --------KING
5000 PRESIDENT
FORD
3000 ANALYST
SCOTT
3000 ANALYST

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=7 Bytes=126
)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=7 Bytes=


126)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT Ename, Sal, Job


2 FROM Emp
3 WHERE Sal > (SELECT Sal
4
FROM Emp
5
WHERE Empno = 7566);
ENAME
SAL JOB
---------- ----- --------KING
5000 PRESIDENT
FORD
3000 ANALYST
SCOTT
3000 ANALYST

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=1 Bytes=18)
1
0
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 Bytes=
18)
2

TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 C


ard=1 Bytes=8)

INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQU


E)) (Cost=0 Card=1)

SQL> cl scr
SQL> SELECT Job
2
3

FROM Emp
WHERE Ename = 'SMITH';

JOB
--------CLERK

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=14)
1
0
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 Bytes=
14)

SQL> SELECT Ename, Sal, Job


2 FROM Emp
3 WHERE Job = 'CLERK';
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
SAL JOB
---------- ----- --------JAMES
950 CLERK
SMITH
800 CLERK
ADAMS
1100 CLERK
MILLER
1300 CLERK

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=3 Bytes=54)
1
0
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=3 Bytes=
54)

SQL>
2
3
4
5
6

SELECT Ename, Sal, Job


FROM Emp
WHERE Job = (SELECT Job
FROM Emp
WHERE Ename = 'SMITH')
ORDER BY Sal;

ENAME
SAL JOB
---------- ----- --------SMITH
800 CLERK
JAMES
950 CLERK
ADAMS
1100 CLERK
MILLER
1300 CLERK

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=3 Bytes=54)
1
0
SORT (ORDER BY) (Cost=7 Card=3 Bytes=54)
2
1
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=3 Byte
s=54)
3

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 By


tes=14)

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*

SELECT Ename, Sal, Job


FROM Emp
WHERE Job = (SELECT Job
FROM Emp
WHERE Ename = 'SMITH' AND
Ename <> 'SMITH'
)
ORDER BY Sal
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
no rows selected

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=3 Bytes=54)
1
0
SORT (ORDER BY) (Cost=7 Card=3 Bytes=54)
2
1
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=3 Byte
s=54)
3
4

2
3

FILTER
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1
Bytes=14)

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

SELECT Ename, Sal, Job


FROM Emp
WHERE Job = (SELECT Job
FROM Emp
WHERE Ename = 'SMITH'
) AND
Ename <> 'SMITH'
ORDER BY Sal
/

ENAME
SAL JOB
---------- ----- --------JAMES
950 CLERK
ADAMS
1100 CLERK
MILLER
1300 CLERK

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=3 Bytes=54)
1
0
SORT (ORDER BY) (Cost=7 Card=3 Bytes=54)
2
1
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=3 Byte
s=54)
3

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 By


tes=14)

SQL> SPOOL OFF


SQL> cl scr
SQL> SELECT Hiredate
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2
3

FROM Emp
WHERE Ename = 'TURNER';

HIREDATE
--------08-SEP-81
SQL>
2
3
4
5
6

SELECT Empno, Ename, Hiredate, Sal


FROM Emp
WHERE Hiredate > (SELECT Hiredate
FROM Emp
WHERE Ename = 'TURNER')
ORDER BY Sal;

EMPNO
---------7900
7876
7654
7934
7902
7788
7839

ENAME
---------JAMES
ADAMS
MARTIN
MILLER
FORD
SCOTT
KING

HIREDATE
SAL
--------- ---------03-DEC-81
950
12-JAN-83
1100
28-SEP-81
1250
23-JAN-82
1300
03-DEC-81
3000
09-DEC-82
3000
17-NOV-81
5000

7 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Empno, Ename, Hiredate, Sal


FROM Emp
WHERE Hiredate < (SELECT Hiredate
FROM Emp
WHERE Ename = 'TURNER')
ORDER BY Sal
/

EMPNO
---------7369
7521
7499
7782
7698
7566

ENAME
---------SMITH
WARD
ALLEN
CLARK
BLAKE
JONES

HIREDATE
SAL
--------- ---------17-DEC-80
800
22-FEB-81
1250
20-FEB-81
1600
09-JUN-81
2450
01-MAY-81
2850
02-APR-81
2975

6 rows selected.
SQL> cl scr
SQL>
1
2
3
4
5

R
SELECT Empno, Ename, Hiredate, Sal
FROM Emp
WHERE Hiredate < (SELECT Hiredate
FROM Emp
WHERE Ename = 'TURNER')
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

6* ORDER BY Sal
EMPNO
---------7369
7521
7499
7782
7698
7566

ENAME
---------SMITH
WARD
ALLEN
CLARK
BLAKE
JONES

HIREDATE
SAL
--------- ---------17-DEC-80
800
22-FEB-81
1250
20-FEB-81
1600
09-JUN-81
2450
01-MAY-81
2850
02-APR-81
2975

6 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Empno, Ename, Hiredate, Sal


FROM Emp
WHERE Hiredate = (SELECT Hiredate
FROM Emp
WHERE Ename = 'FORD')
ORDER BY Sal
/

EMPNO
---------7900
7902

ENAME
---------JAMES
FORD

HIREDATE
SAL
--------- ---------03-DEC-81
950
03-DEC-81
3000

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT Empno, Ename, Hiredate, Sal


FROM Emp
WHERE Hiredate = (SELECT Hiredate
FROM Emp
WHERE Ename = 'FORD') AND
Ename <> 'FORD'
ORDER BY Sal
/

EMPNO ENAME
HIREDATE
SAL
---------- ---------- --------- ---------7900 JAMES
03-DEC-81
950
SQL> cl scr
SQL> SELECT Empno, Ename, Sal, Job
2 FROM Emp
3 WHERE Deptno = (SELECT Deptno
4
FROM Dept
5
WHERE Dname = 'SALES');
EMPNO ENAME
SAL JOB
---------- ---------- ---------- --------7698 BLAKE
2850 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7654
7499
7844
7900
7521

MARTIN
ALLEN
TURNER
JAMES
WARD

1250
1600
1500
950
1250

SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN

6 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Empno, Ename, Sal, Job


FROM Emp, Dept
WHERE Emp.Deptno = Dept.Deptno AND
Dept.Dname = 'SALES'
/

EMPNO
---------7698
7654
7499
7844
7900
7521

ENAME
SAL JOB
---------- ---------- --------BLAKE
2850 MANAGER
MARTIN
1250 SALESMAN
ALLEN
1600 SALESMAN
TURNER
1500 SALESMAN
JAMES
950 CLERK
WARD
1250 SALESMAN

6 rows selected.
SQL>
SQL>
2
3
4

SET AUTOTRACE ON EXPLAIN


SELECT Empno, Ename, Sal, Job
FROM Emp, Dept
WHERE Emp.Deptno = Dept.Deptno AND
Dept.Dname = 'SALES';

EMPNO
---------7698
7654
7499
7844
7900
7521

ENAME
SAL JOB
---------- ---------- --------BLAKE
2850 MANAGER
MARTIN
1250 SALESMAN
ALLEN
1600 SALESMAN
TURNER
1500 SALESMAN
JAMES
950 CLERK
WARD
1250 SALESMAN

6 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=5 Bytes=370
)
1
2

0
1

HASH JOIN (Cost=7 Card=5 Bytes=370)


TABLE ACCESS (FULL) OF 'DEPT' (TABLE) (Cost=3 Card=1 Byt
es=22)

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

es=728)

SQL> SELECT Empno, Ename, Sal, Job


2 FROM Emp
3 WHERE Deptno = (SELECT Deptno
4
FROM Dept
5
WHERE Dname = 'SALES');
EMPNO
---------7698
7654
7499
7844
7900
7521

ENAME
SAL JOB
---------- ---------- --------BLAKE
2850 MANAGER
MARTIN
1250 SALESMAN
ALLEN
1600 SALESMAN
TURNER
1500 SALESMAN
JAMES
950 CLERK
WARD
1250 SALESMAN

6 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=6 Card=1 Bytes=52)
1
0
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 Bytes=
52)
2

TABLE ACCESS (FULL) OF 'DEPT' (TABLE) (Cost=3 Card=1 Byt


es=22)

SQL> SELECT Empno, Ename, Sal, Comm, Sal + NVL( Comm, 0 ) TotSal
2 FROM Emp
3 WHERE Deptno = (SELECT Deptno
4
FROM Dept
5
WHERE Loc = 'DALLAS');
EMPNO
---------7566
7902
7369
7788
7876

ENAME
SAL
COMM
TOTSAL
---------- ---------- ---------- ---------JONES
2975
2975
FORD
3000
3000
SMITH
800
800
SCOTT
3000
3000
ADAMS
1100
1100

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=6 Card=1 Bytes=59)
1
0
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 Bytes=
59)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

TABLE ACCESS (FULL) OF 'DEPT' (TABLE) (Cost=3 Card=1 Byt


es=21)

SQL> cl scr
SQL> SET AUTOTRACE OFF EXPLAIN
SQL> cl scr
SQL> SELECT MAX(Sal) FROM Emp;
MAX(SAL)
---------5000
SQL> SELECT Ename, MAX(Sal) FROM Emp;
SELECT Ename, MAX(Sal) FROM Emp
*
ERROR at line 1:
ORA-00937: not a single-group group function

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
Ename,
MAX(Sal)
FROM Emp
GROUP BY Ename
/

ENAME
MAX(SAL)
---------- ---------ADAMS
1100
ALLEN
1600
BLAKE
2850
CLARK
2450
FORD
3000
JAMES
950
JONES
2975
KING
5000
MARTIN
1250
MILLER
1300
SCOTT
3000
ENAME
MAX(SAL)
---------- ---------SMITH
800
TURNER
1500
WARD
1250
14 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT MAX(Sal) FROM Emp;


MAX(SAL)
---------5000
SQL> SELECT Ename, Sal, Deptno, Job
2 FROM Emp
3 WHERE Sal = 5000;
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
SQL> SELECT Ename, Job , Sal
2 FROM Emp
3 WHERE Sal = (SELECT MAX(Sal)
4
FROM Emp);
ENAME
JOB
SAL
---------- --------- ---------KING
PRESIDENT
5000
SQL> cl scr
SQL> SELECT Ename, Job, Sal
2 FROM Emp
3 WHERE Sal = (SELECT MIN(Sal)
4
FROM Emp);
ENAME
JOB
SAL
---------- --------- ---------SMITH
CLERK
800
SQL> SELECT Ename, Job, Sal
2 FROM Emp
3 WHERE Sal > (SELECT AVG(Sal)
4
FROM Emp);
ENAME
---------KING
BLAKE
CLARK
JONES
FORD
SCOTT

JOB
SAL
--------- ---------PRESIDENT
5000
MANAGER
2850
MANAGER
2450
MANAGER
2975
ANALYST
3000
ANALYST
3000

6 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3

SELECT Ename, Job, Sal


FROM Emp
WHERE Sal < (SELECT AVG(Sal)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4*
SQL> /
ENAME
---------MARTIN
ALLEN
TURNER
JAMES
WARD
SMITH
ADAMS
MILLER

FROM Emp)

JOB
SAL
--------- ---------SALESMAN
1250
SALESMAN
1600
SALESMAN
1500
CLERK
950
SALESMAN
1250
CLERK
800
CLERK
1100
CLERK
1300

8 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Job, Sal


FROM Emp
WHERE Sal = (SELECT AVG(Sal)
FROM Emp)
/

no rows selected
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Job, Sal


FROM Emp
WHERE Sal <> (SELECT AVG(Sal)
FROM Emp)
/

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
SAL
--------- ---------PRESIDENT
5000
MANAGER
2850
MANAGER
2450
MANAGER
2975
SALESMAN
1250
SALESMAN
1600
SALESMAN
1500
CLERK
950
SALESMAN
1250
ANALYST
3000
CLERK
800

ENAME
---------SCOTT
ADAMS
MILLER

JOB
SAL
--------- ---------ANALYST
3000
CLERK
1100
CLERK
1300
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

14 rows selected.
SQL> cl scr
SQL> SELECT Ename, Deptno, Sal, Job
2 FROM Emp
3 WHERE Sal = (
4
SELECT MAX(Sal)
5
FROM Emp
6
WHERE Deptno = 10
7
);
ENAME
DEPTNO
SAL JOB
---------- ---------- ---------- --------KING
10
5000 PRESIDENT
SQL> cl scr
SQL> SELECT
2
3
4

MIN(Sal)
FROM Emp
WHERE Deptno = 20;

MIN(SAL)
---------800
SQL>
2
3
4
5
6
7

SELECT Deptno, MIN(Sal)


FROM Emp
GROUP BY Deptno
HAVING MIN(Sal) > (SELECT
MIN(Sal)
FROM Emp
WHERE Deptno = 20);

DEPTNO
MIN(SAL)
---------- ---------10
1300
30
950
SQL> cl scr
SQL> SELECT AVG(Sal)
2 FROM Emp
3 GROUP BY Job;
AVG(SAL)
---------3000
1037.5
2758.33333
5000
1400
SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1
2
3*
SQL>

SELECT MAX(AVG(Sal))
FROM Emp
GROUP BY Job
/

MAX(AVG(SAL))
------------5000
SQL> ED
Wrote file afiedt.buf
1 SELECT Job, MAX(AVG(Sal))
2 FROM Emp
3* GROUP BY Job
SQL> /
SELECT Job, MAX(AVG(Sal))
*
ERROR at line 1:
ORA-00937: not a single-group group function

SQL>
2
3
4
5
6
7

SELECT Job, AVG(Sal)


FROM Emp
GROUP BY Job
HAVING AVG(Sal) = (SELECT
MIN(AVG(Sal))
FROM Emp
GROUP BY Job);

JOB
AVG(SAL)
--------- ---------CLERK
1037.5
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT Job, AVG(Sal)


FROM Emp
GROUP BY Job
HAVING AVG(Sal) = (SELECT
MAX(AVG(Sal))
FROM Emp
GROUP BY Job)
/

JOB
AVG(SAL)
--------- ---------PRESIDENT
5000
SQL> cl scr
SQL> COLUMN Empno FORMAT 9999
SQL> COLUMN MGR FORMAT 9999
SQL> COLUMN Sal FORMAT 9999
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> COLUMN Comm FORMAT 9999


SQL> cl scr
SQL> SELECT * FROM Emp ORDER BY Sal DESC;
EMPNO
----7839
7902
7788
7566
7698
7782
7499
7844
7934
7654
7521

ENAME
---------KING
FORD
SCOTT
JONES
BLAKE
CLARK
ALLEN
TURNER
MILLER
MARTIN
WARD

JOB
MGR HIREDATE
SAL COMM
DEPTNO
--------- ----- --------- ----- ----- ---------PRESIDENT
17-NOV-81 5000
10
ANALYST
7566 03-DEC-81 3000
20
ANALYST
7566 09-DEC-82 3000
20
MANAGER
7839 02-APR-81 2975
20
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7782 23-JAN-82 1300
10
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 22-FEB-81 1250
500
30

EMPNO
----7876
7900
7369

ENAME
---------ADAMS
JAMES
SMITH

JOB
MGR HIREDATE
SAL COMM
DEPTNO
--------- ----- --------- ----- ----- ---------CLERK
7788 12-JAN-83 1100
20
CLERK
7698 03-DEC-81
950
30
CLERK
7902 17-DEC-80
800
20

14 rows selected.
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
EMPNO
----7698
7782
7566
7499
7844
7934

SELECT *
FROM Emp
WHERE
Sal BETWEEN
(
SELECT Sal
FROM Emp
WHERE Ename = 'MILLER'
) AND
(
SELECT Sal
FROM Emp
WHERE Ename = 'JONES'
);
ENAME
---------BLAKE
CLARK
JONES
ALLEN
TURNER
MILLER

JOB
MGR HIREDATE
SAL COMM
DEPTNO
--------- ----- --------- ----- ----- ---------MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7782 23-JAN-82 1300
10

6 rows selected.
SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15*
SQL>
EMPNO
----7698
7782
7499
7844

SELECT *
FROM Emp
WHERE
Sal BETWEEN
(
SELECT Sal
FROM Emp
WHERE Ename = 'MILLER'
) AND
(
SELECT Sal
FROM Emp
WHERE Ename = 'JONES'
) AND
Ename NOT IN('MILLER', 'JONES')
/
ENAME
---------BLAKE
CLARK
ALLEN
TURNER

JOB
MGR HIREDATE
SAL COMM
DEPTNO
--------- ----- --------- ----- ----- ---------MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13
14*
SQL>
EMPNO
----7698
7782
7499
7844

SELECT *
FROM Emp
WHERE
Sal >= (
SELECT Sal
FROM Emp
WHERE Ename = 'MILLER'
) AND
Sal <= (
SELECT Sal
FROM Emp
WHERE Ename = 'JONES'
) AND
Ename NOT IN('MILLER', 'JONES')
/
ENAME
---------BLAKE
CLARK
ALLEN
TURNER

JOB
MGR HIREDATE
SAL COMM
DEPTNO
--------- ----- --------- ----- ----- ---------MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30

SQL> ED
Wrote file afiedt.buf
1
2
3

SELECT *
FROM Emp
WHERE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19*
SQL>
EMPNO
----7698
7499
7844

Sal >= (
SELECT Sal
FROM Emp
WHERE Ename = 'MILLER'
) AND
Sal <= (
SELECT Sal
FROM Emp
WHERE Ename = 'JONES'
) AND
Ename NOT IN('MILLER', 'JONES') AND
Deptno = (
SELECT Deptno
FROM Dept
WHERE Dname = 'SALES'
)
/
ENAME
---------BLAKE
ALLEN
TURNER

JOB
MGR HIREDATE
SAL COMM
DEPTNO
--------- ----- --------- ----- ----- ---------MANAGER
7839 01-MAY-81 2850
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24*
SQL>

SELECT *
FROM Emp
WHERE
Sal >= (
SELECT Sal
FROM Emp
WHERE Ename = 'MILLER'
) AND
Sal <= (
SELECT Sal
FROM Emp
WHERE Ename = 'JONES'
) AND
Ename NOT IN('MILLER', 'JONES') AND
Deptno = (
SELECT Deptno
FROM Dept
WHERE Dname = 'SALES'
) AND
Job = (
SELECT Job
FROM Emp
WHERE Ename = 'ALLEN'
)
/

EMPNO ENAME
JOB
MGR HIREDATE
SAL COMM
DEPTNO
----- ---------- --------- ----- --------- ----- ----- ---------7499 ALLEN
SALESMAN
7698 20-FEB-81 1600
300
30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7844 TURNER

SALESMAN

7698 08-SEP-81

1500

30

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25*
SQL>

SELECT *
FROM Emp
WHERE
Sal >= (
SELECT Sal
FROM Emp
WHERE Ename = 'MILLER'
) AND
Sal <= (
SELECT Sal
FROM Emp
WHERE Ename = 'JONES'
) AND
Ename NOT IN('MILLER', 'JONES') AND
Deptno = (
SELECT Deptno
FROM Dept
WHERE Dname = 'SALES'
) AND
Job = (
SELECT Job
FROM Emp
WHERE Ename = 'ALLEN'
) AND
Ename <> 'ALLEN'
/

EMPNO ENAME
JOB
MGR HIREDATE
SAL COMM
DEPTNO
----- ---------- --------- ----- --------- ----- ----- ---------7844 TURNER
SALESMAN
7698 08-SEP-81 1500
0
30
SQL> cl scr
SQL> SELECT * FROM Emp;
EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
MGR HIREDATE
SAL COMM
DEPTNO
--------- ----- --------- ----- ----- ---------PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20

EMPNO ENAME
JOB
MGR HIREDATE
SAL COMM
DEPTNO
----- ---------- --------- ----- --------- ----- ----- ---------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7788 SCOTT
7876 ADAMS
7934 MILLER

ANALYST
CLERK
CLERK

7566 09-DEC-82
7788 12-JAN-83
7782 23-JAN-82

3000
1100
1300

20
20
10

14 rows selected.
SQL> SELECT *
2 FROM Emp
3 WHERE Sal IN
4
(
5
SELECT Sal
6
FROM Emp
7
WHERE Ename = 'WARD'
8
,
9
SELECT Sal
10
FROM Emp
11
WHERE Ename = 'FORD'
12
);
,
*
ERROR at line 8:
ORA-00907: missing right parenthesis

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15*
SQL>
EMPNO
----7654
7521
7902
7788

SELECT *
FROM Emp
WHERE Sal IN
(
(
SELECT Sal
FROM Emp
WHERE Ename = 'WARD'
),
(
SELECT Sal
FROM Emp
WHERE Ename = 'FORD'
)
)
/
ENAME
---------MARTIN
WARD
FORD
SCOTT

JOB
MGR HIREDATE
SAL COMM
DEPTNO
--------- ----- --------- ----- ----- ---------SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
ANALYST
7566 09-DEC-82 3000
20

SQL> cl scr
SQL> Select MIN(Sal)
2
FROM Emp
3
GROUP BY Deptno;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

MIN(SAL)
---------1300
800
950
SQL> cl scr
SQL> SELECT Ename, Sal, Deptno
2 FROM Emp
3 WHERE Sal IN(Select MIN(Sal)
4
FROM Emp
5
GROUP BY Deptno);
ENAME
SAL
DEPTNO
---------- ----- ---------MILLER
1300
10
SMITH
800
20
JAMES
950
30
SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)
2 VALUES(1234, 'SAMPLE01', 20, 1300);
1 row created.
SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)
2 VALUES(1235, 'SAMPLE02', 20, 950);
1 row created.
SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)
2 VALUES(1236, 'SAMPLE03', 30, 1300);
1 row created.
SQL> SELECT Ename, Sal, Deptno
2 FROM Emp
3 WHERE Sal IN(Select MIN(Sal)
4
FROM Emp
5
GROUP BY Deptno);
ENAME
SAL
DEPTNO
---------- ----- ---------SAMPLE03
1300
30
SAMPLE01
1300
20
MILLER
1300
10
SMITH
800
20
SAMPLE02
950
20
JAMES
950
30
6 rows selected.
SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1
2
3
4
5*
SQL>

SELECT Ename, Sal, Deptno


FROM Emp
WHERE Sal IN(Select MAX(Sal)
FROM Emp
GROUP BY Deptno)
/

ENAME
SAL
DEPTNO
---------- ----- ---------KING
5000
10
SCOTT
3000
20
FORD
3000
20
BLAKE
2850
30
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Sal, Deptno


FROM Emp
WHERE Sal IN(Select MAX(Sal)
FROM Emp
GROUP BY Job)
/

ENAME
SAL
DEPTNO
---------- ----- ---------SCOTT
3000
20
FORD
3000
20
SAMPLE03
1300
30
SAMPLE01
1300
20
MILLER
1300
10
JONES
2975
20
KING
5000
10
ALLEN
1600
30
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Sal, Deptno


FROM Emp
WHERE Sal IN(Select MIN(Sal)
FROM Emp
GROUP BY Job)
/

ENAME
SAL
DEPTNO
---------- ----- ---------SCOTT
3000
20
FORD
3000
20
SMITH
800
20
CLARK
2450
10
KING
5000
10
WARD
1250
30
MARTIN
1250
30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SAMPLE02
JAMES

950
950

20
30

9 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Sal, Deptno


FROM Emp
WHERE Sal IN(Select AVG(Sal)
FROM Emp
GROUP BY Job)
/

ENAME
SAL
DEPTNO
---------- ----- ---------SCOTT
3000
20
FORD
3000
20
KING
5000
10
SQL> SPOOL OFF
SQL> cl scr
SQL> SELECT HireDate
2
3

FROM Emp
WHERE Deptno = 20;

HIREDATE
--------02-APR-81
03-DEC-81
17-DEC-80
09-DEC-82
12-JAN-83
SQL> SELECT Sal
2
3
4
5

FROM Emp
WHERE HireDate IN(SELECT HireDate
FROM Emp
WHERE Deptno = 20);

SAL
---------2975
3000
950
800
3000
1100
6 rows selected.
SQL> SELECT Empno, Ename, Job, Sal, Deptno, HireDate
2 FROM Emp
3 WHERE Sal IN(SELECT Sal
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4
5
6
7
8

FROM Emp
WHERE HireDate IN(SELECT HireDate
FROM Emp
WHERE Deptno = 20)
);

EMPNO
---------7566
7900
7902
7369
7788
7876

ENAME
---------JONES
JAMES
FORD
SMITH
SCOTT
ADAMS

JOB
SAL
DEPTNO HIREDATE
--------- ---------- ---------- --------MANAGER
2975
20 02-APR-81
CLERK
950
30 03-DEC-81
ANALYST
3000
20 03-DEC-81
CLERK
800
20 17-DEC-80
ANALYST
3000
20 09-DEC-82
CLERK
1100
20 12-JAN-83

6 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15*
SQL>

SELECT Empno, Ename, Job, Sal, Deptno, HireDate


FROM Emp
WHERE Sal IN(
SELECT Sal
FROM Emp
WHERE HireDate IN(
SELECT HireDate
FROM Emp
WHERE Deptno = (
SELECT Deptno
FROM Dept
WHERE Dname = 'RESEARCH'
)
)
)
/

EMPNO
---------7566
7900
7902
7369
7788
7876

ENAME
---------JONES
JAMES
FORD
SMITH
SCOTT
ADAMS

JOB
SAL
DEPTNO HIREDATE
--------- ---------- ---------- --------MANAGER
2975
20 02-APR-81
CLERK
950
30 03-DEC-81
ANALYST
3000
20 03-DEC-81
CLERK
800
20 17-DEC-80
ANALYST
3000
20 09-DEC-82
CLERK
1100
20 12-JAN-83

6 rows selected.
SQL> cl scr
SQL>
SQL>
SQL>
SQL>
SQL>

COLUMN
COLUMN
COLUMN
COLUMN
cl scr

Empno FORMAT 9999


Sal FORMAT 9999
Comm FORMAT 9999
MGR FORMAT 9999

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT *
2 FROM Emp
3 WHERE Sal >ANY(1100, 2750, 950);
EMPNO
----7839
7698
7782
7566
7654
7499
7844
7521
7902
7788
7876

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
WARD
FORD
SCOTT
ADAMS

JOB
MGR HIREDATE
SAL COMM
DEPTNO
--------- ----- --------- ----- ----- ---------PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20

EMPNO ENAME
JOB
MGR HIREDATE
SAL COMM
DEPTNO
----- ---------- --------- ----- --------- ----- ----- ---------7934 MILLER
CLERK
7782 23-JAN-82 1300
10
12 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>
EMPNO
----7839
7698
7782
7566
7654
7499
7844
7521
7902
7788
7876

SELECT *
FROM Emp
WHERE Sal > 1100 OR Sal > 2750 OR Sal > 950
/
ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
WARD
FORD
SCOTT
ADAMS

JOB
MGR HIREDATE
SAL COMM
DEPTNO
--------- ----- --------- ----- ----- ---------PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20

EMPNO ENAME
JOB
MGR HIREDATE
SAL COMM
DEPTNO
----- ---------- --------- ----- --------- ----- ----- ---------7934 MILLER
CLERK
7782 23-JAN-82 1300
10
12 rows selected.
SQL> cl scr
SQL> SELECT *
2 FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3
4
5
6
7
8
SQL>
2
3

WHERE Sal >ANY(


SELECT Sal
FROM Emp
WHERE Deptno = 30
)
SELECT Sal
FROM Emp
WHERE Deptno = 30;

SAL
----2850
1250
1600
1500
950
1250
6 rows selected.
SQL> SELECT *
2 FROM Emp
3 WHERE Sal >ANY(
4
5
6
7
EMPNO
----7839
7902
7788
7566
7698
7782
7499
7844
7934
7654
7521

ENAME
---------KING
FORD
SCOTT
JONES
BLAKE
CLARK
ALLEN
TURNER
MILLER
MARTIN
WARD

SELECT Sal
FROM Emp
WHERE Deptno = 30
);

JOB
MGR HIREDATE
SAL COMM
DEPTNO
--------- ----- --------- ----- ----- ---------PRESIDENT
17-NOV-81 5000
10
ANALYST
7566 03-DEC-81 3000
20
ANALYST
7566 09-DEC-82 3000
20
MANAGER
7839 02-APR-81 2975
20
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7782 23-JAN-82 1300
10
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 22-FEB-81 1250
500
30

EMPNO ENAME
JOB
MGR HIREDATE
SAL COMM
DEPTNO
----- ---------- --------- ----- --------- ----- ----- ---------7876 ADAMS
CLERK
7788 12-JAN-83 1100
20
12 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4

SELECT *
FROM Emp
WHERE Sal >(
SELECT MIN(Sal)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

5
6
7*
SQL> /
EMPNO
----7839
7698
7782
7566
7654
7499
7844
7521
7902
7788
7876

FROM Emp
WHERE Deptno = 30
)

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
WARD
FORD
SCOTT
ADAMS

JOB
MGR HIREDATE
SAL COMM
DEPTNO
--------- ----- --------- ----- ----- ---------PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20

EMPNO ENAME
JOB
MGR HIREDATE
SAL COMM
DEPTNO
----- ---------- --------- ----- --------- ----- ----- ---------7934 MILLER
CLERK
7782 23-JAN-82 1300
10
12 rows selected.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>
EMPNO
----7839
7902
7788
7566
7698
7782
7499
7844
7934
7654
7521

SELECT *
FROM Emp
WHERE Sal >SOME(
SELECT Sal
FROM Emp
WHERE Deptno = 30
)
/
ENAME
---------KING
FORD
SCOTT
JONES
BLAKE
CLARK
ALLEN
TURNER
MILLER
MARTIN
WARD

JOB
MGR HIREDATE
SAL COMM
DEPTNO
--------- ----- --------- ----- ----- ---------PRESIDENT
17-NOV-81 5000
10
ANALYST
7566 03-DEC-81 3000
20
ANALYST
7566 09-DEC-82 3000
20
MANAGER
7839 02-APR-81 2975
20
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7782 23-JAN-82 1300
10
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 22-FEB-81 1250
500
30

EMPNO ENAME
JOB
MGR HIREDATE
SAL COMM
DEPTNO
----- ---------- --------- ----- --------- ----- ----- ---------7876 ADAMS
CLERK
7788 12-JAN-83 1100
20
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

12 rows selected.
SQL> cl scr
SQL> SELECT Sal
2
3

FROM Emp
WHERE Job = 'CLERK';

SAL
----950
800
1100
1300
SQL> SELECT Empno, Ename, Job
2 FROM Emp
3 WHERE Sal < ANY(SELECT Sal
4
FROM Emp
5
WHERE Job = 'CLERK');
EMPNO
----7369
7900
7876
7654
7521

ENAME
---------SMITH
JAMES
ADAMS
MARTIN
WARD

JOB
--------CLERK
CLERK
CLERK
SALESMAN
SALESMAN

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>
EMPNO
----7369
7900
7876
7654
7521
SQL>
2
3
4
5
6

SELECT Empno, Ename, Job, Sal


FROM Emp
WHERE Sal < ANY(SELECT Sal
FROM Emp
WHERE Job = 'CLERK')
/
ENAME
---------SMITH
JAMES
ADAMS
MARTIN
WARD

JOB
SAL
--------- ----CLERK
800
CLERK
950
CLERK
1100
SALESMAN
1250
SALESMAN
1250

SELECT Empno, Ename, Job, Sal


FROM Emp
WHERE Sal < ANY(Select Sal
FROM Emp
WHERE Deptno = 20)
AND Job <> 'CLERK';

EMPNO ENAME

JOB
SAL
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

----7654
7521
7844
7499
7782
7698
7566

---------MARTIN
WARD
TURNER
ALLEN
CLARK
BLAKE
JONES

--------- ----SALESMAN
1250
SALESMAN
1250
SALESMAN
1500
SALESMAN
1600
MANAGER
2450
MANAGER
2850
MANAGER
2975

7 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>
EMPNO
----7654
7521

SELECT Empno, Ename, Job, Sal


FROM Emp
WHERE Sal < ANY(SELECT Sal
FROM Emp
WHERE Job = 'CLERK') AND
Job <> 'CLERK'
/
ENAME
---------MARTIN
WARD

JOB
SAL
--------- ----SALESMAN
1250
SALESMAN
1250

SQL> cl scr
SQL> SELECT DISTINCT MGR
2

FROM Emp;

MGR
----7566
7698
7782
7788
7839
7902

7 rows selected.
SQL> SELECT Sal
2
3
4

FROM Emp
WHERE MGR IN(SELECT DISTINCT MGR
FROM Emp);

SAL
----2975
2450
2850
1250
950
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1500
1600
1250
3000
3000
800
SAL
----1100
1300
13 rows selected.
SQL> SELECT Empno, Ename, Job, Sal
2 FROM Emp
3 WHERE Sal < ANY(SELECT Sal
4
FROM Emp
5
WHERE MGR IN(SELECT DISTINCT MGR
6
FROM Emp)
7
);
EMPNO
----7698
7782
7566
7654
7499
7844
7900
7521
7369
7876
7934

ENAME
---------BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
SMITH
ADAMS
MILLER

JOB
SAL
--------- ----MANAGER
2850
MANAGER
2450
MANAGER
2975
SALESMAN
1250
SALESMAN
1600
SALESMAN
1500
CLERK
950
SALESMAN
1250
CLERK
800
CLERK
1100
CLERK
1300

11 rows selected.
SQL> SELECT Sal
2
3
4

FROM Emp
WHERE Empno IN(SELECT DISTINCT MGR
FROM Emp);

SAL
----2975
2850
2450
3000
5000
3000
6 rows selected.
SQL> SELECT Empno, Ename, Job, Sal
2 FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3
4
5
6
7

WHERE Sal < ANY(SELECT Sal


FROM Emp
WHERE Empno IN(SELECT DISTINCT MGR
FROM Emp)
);

EMPNO
----7698
7782
7566
7654
7499
7844
7900
7521
7902
7369
7788

ENAME
---------BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT

JOB
SAL
--------- ----MANAGER
2850
MANAGER
2450
MANAGER
2975
SALESMAN
1250
SALESMAN
1600
SALESMAN
1500
CLERK
950
SALESMAN
1250
ANALYST
3000
CLERK
800
ANALYST
3000

EMPNO
----7876
7934

ENAME
---------ADAMS
MILLER

JOB
SAL
--------- ----CLERK
1100
CLERK
1300

13 rows selected.
SQL> cl scr
SQL> SELECT Empno, Ename, Job, Sal, Deptno
2 FROM Emp
3 WHERE Sal <ANY (SELECT Sal
4
FROM Emp
5
WHERE HireDate IN(SELECT HireDate
6
FROM Emp
7
WHERE Deptno = 20);
WHERE Deptno = 20)
*
ERROR at line 7:
ORA-00907: missing right parenthesis

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

SELECT Empno, Ename, Job, Sal, Deptno


FROM Emp
WHERE Sal <ANY (SELECT Sal
FROM Emp
WHERE HireDate IN(SELECT HireDate
FROM Emp
WHERE Deptno = 20)
)
/

EMPNO ENAME

JOB
SAL
DEPTNO
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

----7698
7782
7566
7654
7499
7844
7900
7521
7369
7876
7934

---------BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
SMITH
ADAMS
MILLER

--------- ----- ---------MANAGER


2850
30
MANAGER
2450
10
MANAGER
2975
20
SALESMAN
1250
30
SALESMAN
1600
30
SALESMAN
1500
30
CLERK
950
30
SALESMAN
1250
30
CLERK
800
20
CLERK
1100
20
CLERK
1300
10

11 rows selected.
SQL> cl scr
SQL> SELECT Empno, Ename, Job
2 FROM Emp
3 WHERE Sal >ANY(SELECT Sal
4
FROM Emp
5
WHERE Job = 'CLERK');
EMPNO
----7839
7902
7788
7566
7698
7782
7499
7844
7934
7654
7521

ENAME
---------KING
FORD
SCOTT
JONES
BLAKE
CLARK
ALLEN
TURNER
MILLER
MARTIN
WARD

JOB
--------PRESIDENT
ANALYST
ANALYST
MANAGER
MANAGER
MANAGER
SALESMAN
SALESMAN
CLERK
SALESMAN
SALESMAN

EMPNO
----7876
7900

ENAME
---------ADAMS
JAMES

JOB
--------CLERK
CLERK

13 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Empno, Ename, Job


FROM Emp
WHERE Sal >(SELECT MIN(Sal)
FROM Emp
WHERE Job = 'CLERK')
/

EMPNO ENAME
JOB
----- ---------- --------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7788
EMPNO
----7876
7934

KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SCOTT

PRESIDENT
MANAGER
MANAGER
MANAGER
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
ANALYST
ANALYST

ENAME
---------ADAMS
MILLER

JOB
--------CLERK
CLERK

13 rows selected.
SQL> cl scr
SQL> SELECT Empno, Ename, Job, Sal
2 FROM Emp
3 WHERE Sal >ALL(SELECT AVG(Sal)
4
FROM Emp
5
GROUP BY Deptno);
EMPNO
----7839
7566
7902
7788

ENAME
---------KING
JONES
FORD
SCOTT

JOB
SAL
--------- ----PRESIDENT 5000
MANAGER
2975
ANALYST
3000
ANALYST
3000

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>
EMPNO
----7839
7566
7902
7788

SELECT Empno, Ename, Job, Sal


FROM Emp
WHERE Sal >(SELECT MAX(AVG(Sal))
FROM Emp
GROUP BY Deptno)
/
ENAME
---------KING
JONES
FORD
SCOTT

JOB
SAL
--------- ----PRESIDENT 5000
MANAGER
2975
ANALYST
3000
ANALYST
3000

SQL> SELECT Empno, Ename Job, Sal


2 FROM Emp
3 WHERE Sal <ALL(SELECT AVG(Sal)
4
FROM Emp
5
GROUP BY Deptno);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

EMPNO
----7654
7844
7900
7521
7369
7876
7934

JOB
SAL
---------- ----MARTIN
1250
TURNER
1500
JAMES
950
WARD
1250
SMITH
800
ADAMS
1100
MILLER
1300

7 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>
EMPNO
----7654
7844
7900
7521
7369
7876
7934

SELECT Empno, Ename Job, Sal


FROM Emp
WHERE Sal <(SELECT MIN(AVG(Sal))
FROM Emp
GROUP BY Deptno)
/
JOB
SAL
---------- ----MARTIN
1250
TURNER
1500
JAMES
950
WARD
1250
SMITH
800
ADAMS
1100
MILLER
1300

7 rows selected.
SQL> cl scr
SQL> SELECT Ename, Sal, Deptno, HireDate
2 FROM Emp
3 WHERE Sal > (
4
SELECT MAX(Sal)
5
FROM Emp
6
WHERE Deptno = 30
7
) AND
8
Deptno = (
9
SELECT Deptno
10
FROM Dept
11
WHERE Dname = 'RESEARCH'
12
);
ENAME
SAL
DEPTNO HIREDATE
---------- ----- ---------- --------JONES
2975
20 02-APR-81
FORD
3000
20 03-DEC-81
SCOTT
3000
20 09-DEC-82
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> WHERE (Sal, Deptno)SPOOL OFF


SP2-0734: unknown command beginning "WHERE (Sal..." - rest of line ignored.
SQL> SPOOL OFF
SQL> cl scr
SQL> ED
SP2-0107: Nothing to save.
SQL> cl scr
SQL> SELECT ProdId, Qty
2
3

FROM Item
WHERE OrdID = 605;

PRODID
QTY
---------- ---------100861
100
100870
500
100890
5
101860
50
101863
100
102130
10
6 rows selected.
SQL> SELECT OrdID, ProdID, Qty
2 FROM Item;
ORDID
PRODID
QTY
---------- ---------- ---------610
100890
1
611
100861
1
612
100860
100
601
200376
1
602
100870
20
604
100890
3
604
100861
2
604
100860
10
603
100860
4
610
100860
1
610
100870
3
ORDID
PRODID
QTY
---------- ---------- ---------613
200376
200
614
100860
444
614
100870
1000
612
100861
20
612
101863
150
620
100860
10
620
200376
1000
620
102130
500
613
100871
100
613
101860
200
613
200380
150
ORDID

PRODID
QTY
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

---------- ---------- ---------619


102130
100
617
100860
50
617
100861
100
614
100871
1000
616
100861
10
616
100870
50
616
100890
2
616
102130
10
616
200376
10
619
200380
100
619
200376
100
ORDID
PRODID
QTY
---------- ---------- ---------615
100861
4
607
100871
1
615
100870
100
617
100870
500
617
100871
500
617
100890
500
617
101860
100
617
101863
200
617
102130
100
617
200376
200
617
200380
300
ORDID
PRODID
QTY
---------- ---------- ---------609
100870
5
609
100890
1
618
100860
23
618
100861
50
618
100870
10
621
100861
10
621
100870
100
615
100871
50
608
101860
1
608
100871
2
609
100861
1
ORDID
PRODID
QTY
---------- ---------- ---------606
102130
1
605
100861
100
605
100870
500
605
100890
5
605
101860
50
605
101863
100
605
102130
10
612
100871
100
619
100871
50
64 rows selected.
SQL> SELECT DISTINCT OrdID
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

FROM Item;

ORDID
---------601
602
603
604
605
606
607
608
609
610
611
ORDID
---------612
613
614
615
616
617
618
619
620
621
21 rows selected.
SQL> SELECT OrdID, COUNT(*) ItemCnt
2 FROM Item
3 GROUP BY OrdID;
ORDID
ITEMCNT
---------- ---------601
1
602
1
603
1
604
3
605
6
606
1
607
1
608
2
609
3
610
3
611
1
ORDID
ITEMCNT
---------- ---------612
4
613
4
614
3
615
3
616
5
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

617
618
619
620
621

10
3
4
3
2

21 rows selected.
SQL> cl scr
SQL> SELECT ProdId, Qty
2
3

FROM Item
WHERE OrdID = 605;

PRODID
QTY
---------- ---------100861
100
100870
500
100890
5
101860
50
101863
100
102130
10
6 rows selected.
SQL>
2
3
4

SELECT OrdID, ProdID, Qty


FROM Item
WHERE ProdID IN(100861, 100870, 100890, 101860, 101863, 102130) AND
OrdID <> 605;

ORDID
PRODID
QTY
---------- ---------- ---------610
100890
1
611
100861
1
602
100870
20
604
100890
3
604
100861
2
610
100870
3
614
100870
1000
612
100861
20
612
101863
150
620
102130
500
613
101860
200
ORDID
PRODID
QTY
---------- ---------- ---------619
102130
100
617
100861
100
616
100861
10
616
100870
50
616
100890
2
616
102130
10
615
100861
4
615
100870
100
617
100870
500
617
100890
500
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

617

101860

100

ORDID
PRODID
QTY
---------- ---------- ---------617
101863
200
617
102130
100
609
100870
5
609
100890
1
618
100861
50
618
100870
10
621
100861
10
621
100870
100
608
101860
1
609
100861
1
606
102130
1
33 rows selected.
SQL>
2
3
4
5
6

SELECT OrdID, ProdID, Qty


FROM Item
WHERE (ProdID, Qty) IN(SELECT ProdId, Qty
FROM Item
WHERE OrdID = 605) AND
OrdID <> 605;

ORDID
PRODID
QTY
---------- ---------- ---------617
100861
100
617
100870
500
616
102130
10
SQL>
2
3
4
5
6
7
8
9
10

SELECT OrdID, ProdID, Qty


FROM Item
WHERE ProdID IN(SELECT ProdID
FROM Item
WHERE OrdID = 605)
AND
Qty IN (SELECT Qty
FROM Item
WHERE OrdID = 605)
AND OrdID <> 605
/

ORDID
PRODID
QTY
---------- ---------- ---------616
100861
10
621
100861
10
618
100861
50
617
100861
100
618
100870
10
616
100870
50
609
100870
5
617
100870
500
615
100870
100
621
100870
100
617
100890
500
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ORDID
PRODID
QTY
---------- ---------- ---------617
101860
100
616
102130
10
620
102130
500
619
102130
100
617
102130
100
16 rows selected.
SQL> cl scr
SQL> SELECT OrdID, ProdID, Qty
2 FROM Item
3 WHERE (ProdID, Qty) IN(100861, 100);
WHERE (ProdID, Qty) IN(100861, 100)
*
ERROR at line 3:
ORA-00920: invalid relational operator

SQL> cl scr
SQL> SELECT Ename, Deptno, Sal
2 FROM Emp
3 WHERE (Deptno, Sal) IN (SELECT Deptno, MAX(Sal)
4
FROM Emp
5
GROUP BY Deptno);
ENAME
DEPTNO
SAL
---------- ---------- ---------KING
10
5000
SCOTT
20
3000
FORD
20
3000
BLAKE
30
2850
SQL> SELECT Ename, Deptno, Sal
2 FROM Emp
3 WHERE Deptno IN (SELECT Deptno
4
FROM Emp
5
GROUP BY Deptno) AND
6
Sal IN (SELECT MAX(Sal)
7
FROM Emp
8
GROUP BY Deptno);
ENAME
DEPTNO
SAL
---------- ---------- ---------KING
10
5000
SCOTT
20
3000
FORD
20
3000
BLAKE
30
2850
SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)
2 VALUES(1234, 'SAMPLE01', 10, 3000);
1 row created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)


2 VALUES(1235, 'SAMPLE02', 10, 2850);
1 row created.
SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)
2 VALUES(1236, 'SAMPLE03', 20, 2850);
1 row created.
SQL> SELECT Ename, Deptno, Sal
2 FROM Emp
3 WHERE (Deptno, Sal) IN (SELECT Deptno, MAX(Sal)
4
FROM Emp
5
GROUP BY Deptno);
ENAME
DEPTNO
SAL
---------- ---------- ---------KING
10
5000
SCOTT
20
3000
FORD
20
3000
BLAKE
30
2850
SQL> SELECT Ename, Deptno, Sal
2 FROM Emp
3 WHERE Deptno IN (SELECT Deptno
4
FROM Emp
5
GROUP BY Deptno) AND
6
Sal IN (SELECT MAX(Sal)
7
FROM Emp
8
GROUP BY Deptno);
ENAME
DEPTNO
SAL
---------- ---------- ---------KING
10
5000
SCOTT
20
3000
FORD
20
3000
SAMPLE01
10
3000
BLAKE
30
2850
SAMPLE03
20
2850
SAMPLE02
10
2850
7 rows selected.
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT Ename, Sal, Comm


2 FROM Emp
3 /
ENAME
SAL
COMM
---------- ---------- ---------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
1400
ALLEN
1600
300
TURNER
1500
0
JAMES
950
WARD
1250
500
FORD
3000
SMITH
800
ENAME
SAL
COMM
---------- ---------- ---------SCOTT
3000
ADAMS
1100
MILLER
1300
14 rows selected.
SQL> SELECT Ename, Sal, Comm
2 FROM Emp
3 WHERE Comm IN(1400, 300, NULL);
ENAME
SAL
COMM
---------- ---------- ---------MARTIN
1250
1400
ALLEN
1600
300
SQL> SELECT Ename, Sal, Comm
2 FROM Emp
3 WHERE Comm NOT IN(1400, 300, NULL);
no rows selected
SQL> cl scr
SQL> SELECT Ename, Empno, MGR
2 FROM Emp;
ENAME
EMPNO
MGR
---------- ---------- ---------KING
7839
BLAKE
7698
7839
CLARK
7782
7839
JONES
7566
7839
MARTIN
7654
7698
ALLEN
7499
7698
TURNER
7844
7698
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

JAMES
WARD
FORD
SMITH

7900
7521
7902
7369

7698
7698
7566
7902

ENAME
EMPNO
MGR
---------- ---------- ---------SCOTT
7788
7566
ADAMS
7876
7788
MILLER
7934
7782
14 rows selected.
SQL> SELECT E.Ename
2 FROM Emp E
3 WHERE E.Empno IN(SELECT
4

M.Mgr
FROM Emp M);

ENAME
---------JONES
BLAKE
CLARK
SCOTT
KING
FORD
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT E.Ename
FROM Emp E
WHERE E.Empno NOT IN(SELECT
FROM Emp M)
/

M.Mgr

no rows selected
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT E.Ename
FROM Emp E
WHERE E.Empno NOT IN(SELECT
FROM Emp M)
/

NVL(M.Mgr, 0)

ENAME
---------SMITH
ALLEN
WARD
MARTIN
TURNER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ADAMS
JAMES
MILLER
8 rows selected.
SQL> cl scr
SQL> SELECT Ename, Sal, Comm
2 FROM Emp
3 WHERE Comm IN(SELECT Comm
4
FROM Emp);
ENAME
SAL
COMM
---------- ---------- ---------MARTIN
1250
1400
ALLEN
1600
300
TURNER
1500
0
WARD
1250
500
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Sal, Comm


FROM Emp
WHERE Comm NOT IN(SELECT Comm
FROM Emp)
/

no rows selected
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Sal, Comm


FROM Emp
WHERE Comm NOT IN(SELECT NVL(Comm, 0)
FROM Emp)
/

no rows selected
SQL> cl scr
SQL> SELECT Ename, Deptno, Sal, HireDate
2 FROM Emp;
ENAME
DEPTNO
SAL HIREDATE
---------- ---------- ---------- --------KING
10
5000 17-NOV-81
BLAKE
30
2850 01-MAY-81
CLARK
10
2450 09-JUN-81
JONES
20
2975 02-APR-81
MARTIN
30
1250 28-SEP-81
ALLEN
30
1600 20-FEB-81
TURNER
30
1500 08-SEP-81
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

JAMES
WARD
FORD
SMITH

30
30
20
20

950
1250
3000
800

03-DEC-81
22-FEB-81
03-DEC-81
17-DEC-80

ENAME
DEPTNO
SAL HIREDATE
---------- ---------- ---------- --------SCOTT
20
3000 09-DEC-82
ADAMS
20
1100 12-JAN-83
MILLER
10
1300 23-JAN-82
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM (
3
SELECT Ename, Deptno, Sal, HireDate
4
FROM Emp
5* )
SQL> /
ENAME
DEPTNO
SAL HIREDATE
---------- ---------- ---------- --------KING
10
5000 17-NOV-81
BLAKE
30
2850 01-MAY-81
CLARK
10
2450 09-JUN-81
JONES
20
2975 02-APR-81
MARTIN
30
1250 28-SEP-81
ALLEN
30
1600 20-FEB-81
TURNER
30
1500 08-SEP-81
JAMES
30
950 03-DEC-81
WARD
30
1250 22-FEB-81
FORD
20
3000 03-DEC-81
SMITH
20
800 17-DEC-80
ENAME
DEPTNO
SAL HIREDATE
---------- ---------- ---------- --------SCOTT
20
3000 09-DEC-82
ADAMS
20
1100 12-JAN-83
MILLER
10
1300 23-JAN-82
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Sal, Sal * 12 AnnSal, HireDate
2 FROM (
3
SELECT Ename, Deptno, Sal, HireDate
4
FROM Emp
5* )
SQL> /
ENAME

SAL
ANNSAL HIREDATE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

---------- ---------- ---------- --------KING


5000
60000 17-NOV-81
BLAKE
2850
34200 01-MAY-81
CLARK
2450
29400 09-JUN-81
JONES
2975
35700 02-APR-81
MARTIN
1250
15000 28-SEP-81
ALLEN
1600
19200 20-FEB-81
TURNER
1500
18000 08-SEP-81
JAMES
950
11400 03-DEC-81
WARD
1250
15000 22-FEB-81
FORD
3000
36000 03-DEC-81
SMITH
800
9600 17-DEC-80
ENAME
SAL
ANNSAL HIREDATE
---------- ---------- ---------- --------SCOTT
3000
36000 09-DEC-82
ADAMS
1100
13200 12-JAN-83
MILLER
1300
15600 23-JAN-82
14 rows selected.
SQL> SPOOL OFF
SQL> cl scr
SQL> SELECT Deptno, Dname, Loc
2 FROM Dept;
DEPTNO
---------10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SQL> cl scr
SQL> SELECT Ename, Deptno, Sal
2 FROM Emp;
ENAME
DEPTNO
SAL
---------- ---------- ---------KING
10
5000
BLAKE
30
2850
CLARK
10
2450
JONES
20
2975
MARTIN
30
1250
ALLEN
30
1600
TURNER
30
1500
JAMES
30
950
WARD
30
1250
FORD
20
3000
SMITH
20
800
ENAME
DEPTNO
SAL
---------- ---------- ---------SCOTT
20
3000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ADAMS
MILLER

20
10

1100
1300

14 rows selected.
SQL> SELECT Deptno, AVG(Sal) SalAvg
2 FROM Emp
3 GROUP BY Deptno;
DEPTNO
SALAVG
---------- ---------10 2916.66667
20
2175
30 1566.66667
SQL> SELECT Ename, E.Deptno, Sal, AvgSal
2 FROM Emp E, (
3
SELECT Deptno, AVG(Sal) AvgSal
4
FROM Emp
5
GROUP BY Deptno
6
) E1
7 WHERE E.Deptno = E1.Deptno;
ENAME
DEPTNO
SAL
AVGSAL
---------- ---------- ---------- ---------KING
10
5000 2916.66667
BLAKE
30
2850 1566.66667
CLARK
10
2450 2916.66667
JONES
20
2975
2175
MARTIN
30
1250 1566.66667
ALLEN
30
1600 1566.66667
TURNER
30
1500 1566.66667
JAMES
30
950 1566.66667
WARD
30
1250 1566.66667
FORD
20
3000
2175
SMITH
20
800
2175
ENAME
DEPTNO
SAL
AVGSAL
---------- ---------- ---------- ---------SCOTT
20
3000
2175
ADAMS
20
1100
2175
MILLER
10
1300 2916.66667
14 rows selected.
SQL>
2
3
4
5
6

SELECT E.Ename, E.Sal , E.Deptno, E1.SalAvg


FROM Emp E, (SELECT Deptno, AVG(Sal) SalAvg
FROM Emp
GROUP BY Deptno) E1
WHERE E.Deptno = E1.Deptno AND
E.Sal > E1.SalAvg;

ENAME
SAL
DEPTNO
SALAVG
---------- ---------- ---------- ---------KING
5000
10 2916.66667
BLAKE
2850
30 1566.66667
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

JONES
ALLEN
FORD
SCOTT

2975
1600
3000
3000

20
2175
30 1566.66667
20
2175
20
2175

6 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9

SELECT E.Ename, E.Sal, E.Deptno,


ROUND(E1.SalAvg, 2) DeptAvgSal,
ROUND(E.Sal - E1.SalAvg) DiffSalAvg
FROM Emp E, (SELECT Deptno, AVG(Sal) SalAvg
FROM Emp
GROUP BY Deptno) E1
WHERE E.Deptno = E1.Deptno
ORDER BY Deptno
/

ENAME
SAL
DEPTNO DEPTAVGSAL DIFFSALAVG
---------- ---------- ---------- ---------- ---------KING
5000
10
2916.67
2083
CLARK
2450
10
2916.67
-467
MILLER
1300
10
2916.67
-1617
JONES
2975
20
2175
800
FORD
3000
20
2175
825
SMITH
800
20
2175
-1375
SCOTT
3000
20
2175
825
ADAMS
1100
20
2175
-1075
BLAKE
2850
30
1566.67
1283
MARTIN
1250
30
1566.67
-317
ALLEN
1600
30
1566.67
33
ENAME
SAL
DEPTNO DEPTAVGSAL DIFFSALAVG
---------- ---------- ---------- ---------- ---------TURNER
1500
30
1566.67
-67
JAMES
950
30
1566.67
-617
WARD
1250
30
1566.67
-317
14 rows selected.
SQL>
2
3
4
5
6

SELECT E.Ename, E.Sal, E.Deptno, E1.SalSum


FROM Emp E, (SELECT Deptno, SUM(Sal) SalSUM
FROM Emp
GROUP BY Deptno) E1
WHERE E.Deptno = E1.Deptno
ORDER BY Deptno;

ENAME
SAL
DEPTNO
SALSUM
---------- ---------- ---------- ---------KING
5000
10
8750
CLARK
2450
10
8750
MILLER
1300
10
8750
JONES
2975
20
10875
FORD
3000
20
10875
SMITH
800
20
10875
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SCOTT
ADAMS
BLAKE
MARTIN
ALLEN

3000
1100
2850
1250
1600

20
20
30
30
30

10875
10875
9400
9400
9400

ENAME
SAL
DEPTNO
SALSUM
---------- ---------- ---------- ---------TURNER
1500
30
9400
JAMES
950
30
9400
WARD
1250
30
9400
14 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7

SELECT T1.Deptno, Dname, Staff


FROM Dept T1,
(SELECT Deptno, COUNT(*) AS Staff
FROM Emp
GROUP BY Deptno) T2
WHERE T1.Deptno = T2.Deptno
AND Staff >= 5;

DEPTNO
---------20
30
SQL>
2
3
4
5

DNAME
STAFF
-------------- ---------RESEARCH
5
SALES
6

SELECT E.Deptno, Dname, COUNT(*) Staff


FROM Emp E, Dept D
WHERE E.Deptno = D.Deptno
GROUP BY E.Deptno, Dname
HAVING COUNT(*) >= 5;

DEPTNO
---------20
30

DNAME
STAFF
-------------- ---------RESEARCH
5
SALES
6

SQL> cl scr
SQL>
2
3
4
5
6

SELECT Deptno, SUM(Sal),


SUM(Sal)/Tot_Sal * 100 "Salary%"
FROM Emp,
(SELECT SUM(Sal) Tot_Sal
FROM Emp)
GROUP BY Deptno, Tot_Sal;

DEPTNO
SUM(SAL)
Salary%
---------- ---------- ---------10
8750 30.1464255
20
10875 37.4677003
30
9400 32.3858742
SQL> SELECT Job, SUM(Sal),
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2
3
4
5

ROUND(SUM(Sal)/Tot_Sal * 100, 2) "Salary%"


FROM Emp, (SELECT SUM(Sal) Tot_Sal
FROM Emp)
GROUP BY Job, Tot_Sal;

JOB
SUM(SAL)
Salary%
--------- ---------- ---------CLERK
4150
14.3
ANALYST
6000
20.67
MANAGER
8275
28.51
SALESMAN
5600
19.29
PRESIDENT
5000
17.23
SQL> cl scr
SQL> SELECT Ename, Sal, SUM(Sal)
2 FROM Emp
3 GROUP BY Ename, Sal;
ENAME
SAL
SUM(SAL)
---------- ---------- ---------FORD
3000
3000
KING
5000
5000
WARD
1250
1250
ADAMS
1100
1100
ALLEN
1600
1600
BLAKE
2850
2850
CLARK
2450
2450
JAMES
950
950
JONES
2975
2975
SCOTT
3000
3000
SMITH
800
800
ENAME
SAL
SUM(SAL)
---------- ---------- ---------MARTIN
1250
1250
MILLER
1300
1300
TURNER
1500
1500
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename, Sal, (SUM(Sal) / OrgSal) * 100


FROM Emp, (
SELECT SUM(Sal) OrgSal
FROM Emp
)
GROUP BY Ename, Sal, OrgSal
/

ENAME
SAL (SUM(SAL)/ORGSAL)*100
---------- ---------- --------------------FORD
3000
10.3359173
KING
5000
17.2265289
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

WARD
ADAMS
ALLEN
BLAKE
CLARK
JAMES
JONES
SCOTT
SMITH

1250
1100
1600
2850
2450
950
2975
3000
800

4.30663221
3.78983635
5.51248923
9.81912145
8.44099914
3.27304048
10.2497847
10.3359173
2.75624462

ENAME
SAL (SUM(SAL)/ORGSAL)*100
---------- ---------- --------------------MARTIN
1250
4.30663221
MILLER
1300
4.4788975
TURNER
1500
5.16795866
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT Ename, Sal,


TRUNC((SUM(Sal) / OrgSal) * 100, 2)||' % Share' "%Share"
FROM Emp, (
SELECT SUM(Sal) OrgSal
FROM Emp
)
GROUP BY Ename, Sal, OrgSal
/

ENAME
SAL %Share
---------- ---------- -----------------------------------------------FORD
3000 10.33 % Share
KING
5000 17.22 % Share
WARD
1250 4.3 % Share
ADAMS
1100 3.78 % Share
ALLEN
1600 5.51 % Share
BLAKE
2850 9.81 % Share
CLARK
2450 8.44 % Share
JAMES
950 3.27 % Share
JONES
2975 10.24 % Share
SCOTT
3000 10.33 % Share
SMITH
800 2.75 % Share
ENAME
SAL %Share
---------- ---------- -----------------------------------------------MARTIN
1250 4.3 % Share
MILLER
1300 4.47 % Share
TURNER
1500 5.16 % Share
14 rows selected.
SQL> cl scr
SQL> SELECT TO_CHAR(HireDate, 'YYYY') Year,
2 SUM(Sal),
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3
4
5
6

ROUND(SUM(Sal)/Tot_Sal * 100, 2) "Salary%"


FROM Emp, (SELECT SUM(Sal) Tot_Sal
FROM Emp)
GROUP BY TO_CHAR(HireDate, 'YYYY'), Tot_Sal;

YEAR
SUM(SAL)
Salary%
---- ---------- ---------1980
800
2.76
1981
22825
78.64
1982
4300
14.81
1983
1100
3.79
SQL> SELECT
2 TO_CHAR(HireDate, 'YYYY') Year,
3 TO_CHAR(HireDate, 'Month') "Month",
4 SUM(Sal),
5 ROUND(SUM(Sal)/Tot_Sal * 100, 2) "Salary%"
6 FROM Emp, (SELECT SUM(Sal) Tot_Sal
7 FROM Emp)
8 WHERE TO_CHAR(HireDate, 'YYYY') = &GiveYear
9 GROUP BY TO_CHAR(HireDate, 'YYYY'), TO_CHAR(HireDate, 'Month'), Tot_Sal;
Enter value for giveyear: 1981
old
8: WHERE TO_CHAR(HireDate, 'YYYY') = &GiveYear
new
8: WHERE TO_CHAR(HireDate, 'YYYY') = 1981
YEAR
---1981
1981
1981
1981
1981
1981
1981

Month
SUM(SAL)
Salary%
--------- ---------- ---------April
2975
10.25
December
3950
13.61
February
2850
9.82
June
2450
8.44
May
2850
9.82
November
5000
17.23
September
2750
9.47

7 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7
8

SELECT E.EmpCount, D.DeptCount, S.GradeCnt


FROM
(SELECT COUNT(*) EmpCount
FROM Emp) E,
(SELECT COUNT(*) DeptCount
FROM Dept) D,
(SELECT COUNT(*) GradeCnt FROM
SalGrade) S;

EMPCOUNT DEPTCOUNT
GRADECNT
---------- ---------- ---------14
4
5
SQL>
2
3
4

SELECT
E.EmpCount,
D.DeptCount,
S.GradeCnt,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

5
6
7
8
9
10
11
12

E.EmpCount + D.DeptCount + S.GradeCnt TotalRecCnt


FROM
(SELECT COUNT(*) EmpCount
FROM Emp) E,
(SELECT COUNT(*) DeptCount
FROM Dept) D,
(SELECT COUNT(*) GradeCnt
FROM SalGrade) S;

EMPCOUNT DEPTCOUNT
GRADECNT TOTALRECCNT
---------- ---------- ---------- ----------14
4
5
23
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14

SELECT
E.EmpCount,
D.DeptCount,
S.GradeCnt,
E.EmpCount + D.DeptCount + S.GradeCnt TotalRecCnt,
GREATEST(E.EmpCount, D.DeptCount, S.GradeCnt) HighRecinTab,
LEAST(E.EmpCount, D.DeptCount, S.GradeCnt) LowRecinTab
FROM
(SELECT COUNT(*) EmpCount
FROM Emp) E,
(SELECT COUNT(*) DeptCount
FROM Dept) D,
(SELECT COUNT(*) GradeCnt
FROM SalGrade) S;

EMPCOUNT DEPTCOUNT
GRADECNT TOTALRECCNT HIGHRECINTAB LOWRECINTAB
---------- ---------- ---------- ----------- ------------ ----------14
4
5
23
14
4
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11

SELECT A.Deptno "Department Number",


(A.NumEmp / B.TotalCount ) * 100 "%Employees",
(A.SalSum / B.TotalSal ) * 100 "%Salary"
FROM
(SELECT Deptno, COUNT(*) NumEmp,
SUM(Sal) SalSum
FROM Emp
GROUP BY Deptno) A,
(SELECT COUNT(*) TotalCount,
SUM(Sal) TotalSal
FROM Emp) B;

Department Number
----------------10
20
30

%Employees
---------21.4285714
35.7142857
42.8571429

%Salary
---------30.1464255
37.4677003
32.3858742

SQL> cl scr
SQL> SELECT Ename, Sal FROM Emp;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
SAL
---------- ---------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
ALLEN
1600
TURNER
1500
JAMES
950
WARD
1250
FORD
3000
SMITH
800
ENAME
SAL
---------- ---------SCOTT
3000
ADAMS
1100
MILLER
1300
14 rows selected.
SQL> SELECT SUM(Sal) FROM Emp;
SUM(SAL)
---------29025
SQL> SELECT Ename, Sal, (SELECT SUM(Sal) FROM Emp) OrgSal FROM Emp;
ENAME
SAL
ORGSAL
---------- ---------- ---------KING
5000
29025
BLAKE
2850
29025
CLARK
2450
29025
JONES
2975
29025
MARTIN
1250
29025
ALLEN
1600
29025
TURNER
1500
29025
JAMES
950
29025
WARD
1250
29025
FORD
3000
29025
SMITH
800
29025
ENAME
SAL
ORGSAL
---------- ---------- ---------SCOTT
3000
29025
ADAMS
1100
29025
MILLER
1300
29025
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1

SELECT Ename, Sal,


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2
3
4*
SQL>

(SELECT SUM(Sal) FROM Emp) OrgSal,


(SELECT AVG(Sal) FROM Emp) OrgAvg
FROM Emp
/

ENAME
SAL
ORGSAL
ORGAVG
---------- ---------- ---------- ---------KING
5000
29025 2073.21429
BLAKE
2850
29025 2073.21429
CLARK
2450
29025 2073.21429
JONES
2975
29025 2073.21429
MARTIN
1250
29025 2073.21429
ALLEN
1600
29025 2073.21429
TURNER
1500
29025 2073.21429
JAMES
950
29025 2073.21429
WARD
1250
29025 2073.21429
FORD
3000
29025 2073.21429
SMITH
800
29025 2073.21429
ENAME
SAL
ORGSAL
ORGAVG
---------- ---------- ---------- ---------SCOTT
3000
29025 2073.21429
ADAMS
1100
29025 2073.21429
MILLER
1300
29025 2073.21429
14 rows selected.
SQL> SPOOL OFF
SQL> cl scr
SQL> SELECT Ename, Deptno, Sal
2 FROM Emp
3 WHERE Sal > (
4
SELECT AVG(Sal)
5
FROM Emp
6
WHERE Deptno = Deptno
7
)
8
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT Ename, Deptno, Sal


FROM Emp OE
WHERE OE.Sal > (
SELECT AVG(Sal)
FROM Emp IE
WHERE IE.Deptno = OE.Deptno
)
/

ENAME
DEPTNO
SAL
---------- ---------- ---------KING
10
5000
BLAKE
30
2850
JONES
20
2975
ALLEN
30
1600
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

FORD
SCOTT

20
20

3000
3000

6 rows selected.
SQL> SELECT Deptno, AVG(Sal) SalAvg
2 FROM Emp
3 GROUP BY Deptno;
DEPTNO
SALAVG
---------- ---------10 2916.66667
20
2175
30 1566.66667
SQL>
2
3
4
5
6
7
8

SELECT Ename, OE.Deptno, Sal


FROM Emp OE, (
SELECT Deptno, AVG(Sal) SalAvg
FROM Emp IE
GROUP BY Deptno
) IE
WHERE OE.Deptno = IE.Deptno AND
OE.Sal > IE.SalAvg;

ENAME
DEPTNO
SAL
---------- ---------- ---------KING
10
5000
SCOTT
20
3000
FORD
20
3000
JONES
20
2975
ALLEN
30
1600
BLAKE
30
2850
6 rows selected.
SQL> SELECT Ename, Deptno, Sal
2 FROM Emp OE
3 WHERE OE.Sal > (
4
SELECT AVG(Sal)
5
FROM Emp IE
6
WHERE IE.Deptno = OE.Deptno
7
);
ENAME
DEPTNO
SAL
---------- ---------- ---------KING
10
5000
BLAKE
30
2850
JONES
20
2975
ALLEN
30
1600
FORD
20
3000
SCOTT
20
3000
6 rows selected.
SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1
2
3
4
5
6
7
8*
SQL>

SELECT Ename, OE.Deptno, Sal, SalAvg


FROM Emp OE, (
SELECT Deptno, AVG(Sal) SalAvg
FROM Emp IE
GROUP BY Deptno
) IE
WHERE OE.Deptno = IE.Deptno AND
OE.Sal > IE.SalAvg
/

ENAME
DEPTNO
SAL
SALAVG
---------- ---------- ---------- ---------KING
10
5000 2916.66667
SCOTT
20
3000
2175
FORD
20
3000
2175
JONES
20
2975
2175
ALLEN
30
1600 1566.66667
BLAKE
30
2850 1566.66667
6 rows selected.
SQL> cl scr
SQL> SELECT Empno, Ename, E.Deptno, Sal, MGR
2 FROM Emp E
3 WHERE E.Sal > (
4
SELECT M.Sal
5
FROM Emp M
6
WHERE M.Empno = E.MGR
7
);
EMPNO
---------7902
7788

ENAME
DEPTNO
SAL
MGR
---------- ---------- ---------- ---------FORD
20
3000
7566
SCOTT
20
3000
7566

SQL> SELECT Empno, Ename, Sal, MGR


2 FROM Emp
3 WHERE Empno = 7566;
EMPNO ENAME
SAL
MGR
---------- ---------- ---------- ---------7566 JONES
2975
7839
SQL> cl scr
SQL> SELECT Deptno, Dname
2 FROM Dept D
3 WHERE EXISTS (
4
SELECT *
5
FROM Emp E
6
WHERE E.Deptno = D.Deptno
7
);
DEPTNO DNAME
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

---------10
30
20

-------------ACCOUNTING
SALES
RESEARCH

SQL> SELECT Deptno, Dname


2 FROM Emp, Dept
3 WHERE Emp.Deptno = Dept.Deptno;
SELECT Deptno, Dname
*
ERROR at line 1:
ORA-00918: column ambiguously defined

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Dept.Deptno, Dname


FROM Emp, Dept
WHERE Emp.Deptno = Dept.Deptno
/

DEPTNO
---------10
30
10
20
30
30
30
30
30
20
20

DNAME
-------------ACCOUNTING
SALES
ACCOUNTING
RESEARCH
SALES
SALES
SALES
SALES
SALES
RESEARCH
RESEARCH

DEPTNO
---------20
20
10

DNAME
-------------RESEARCH
RESEARCH
ACCOUNTING

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT DISTINCT Dept.Deptno, Dname


FROM Emp, Dept
WHERE Emp.Deptno = Dept.Deptno
/

DEPTNO
---------10
20

DNAME
-------------ACCOUNTING
RESEARCH
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

30 SALES
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Dept.Deptno, Dname


FROM Emp, Dept
WHERE Emp.Deptno = Dept.Deptno
GROUP BY Dept.Deptno, Dname
/

DEPTNO
---------10
20
30
SQL>
2
3
4
5
6*
SQL>

DNAME
-------------ACCOUNTING
RESEARCH
SALES

SELECT Dept.Deptno, Dname


FROM Dept
WHERE Dept.Deptno IN (
SELECT Deptno
FROM Emp
)
/

DEPTNO
---------10
30
20

DNAME
-------------ACCOUNTING
SALES
RESEARCH

SQL> cl scr
SQL> SELECT Deptno, Dname
2 FROM Dept D
3 WHERE NOT EXISTS (
4
5
6
7

SELECT *
FROM Emp E
WHERE E.Deptno = D.Deptno
);

DEPTNO DNAME
---------- -------------40 OPERATIONS
SQL> cl scr
SQL> SELECT E.Ename
2 FROM Emp E
3 WHERE EXISTS (
4
5
6
7

SELECT *
FROM Emp E1
WHERE E1.Empno = E.Mgr
);

ENAME
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

---------BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT
ENAME
---------ADAMS
MILLER
13 rows selected.
SQL> SELECT Ename FROM Emp WHERE MGR IS NOT NULL;
ENAME
---------BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT
ENAME
---------ADAMS
MILLER
13 rows selected.
SQL> cl scr
SQL> SELECT E.Ename
2 FROM Emp E
3 WHERE NOT EXISTS (
4
5
6
7

SELECT *
FROM Emp E1
WHERE E1.Empno = E.Mgr
);

ENAME
---------KING
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT E.Ename


2 FROM Emp E
3 WHERE EXISTS (
4
5
6
7

SELECT *
FROM Emp E1
WHERE E1.Mgr = E.Empno
);

ENAME
---------KING
BLAKE
JONES
FORD
SCOTT
CLARK
6 rows selected.
SQL> SELECT E.Ename
2 FROM Emp E
3 WHERE NOT EXISTS (
4
5
6
7

SELECT *
FROM Emp E1
WHERE E1.Mgr = E.Empno
);

ENAME
---------TURNER
WARD
MARTIN
ALLEN
MILLER
SMITH
ADAMS
JAMES
8 rows selected.
SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> SET VERIFY OFF
SQL> cl scr
SQL> SELECT Ename, Empno, Mgr, Job
2 FROM Emp
3 CONNECT BY PRIOR Empno = MGR;
ENAME
EMPNO
MGR JOB
---------- ---------- ---------- --------FORD
7902
7566 ANALYST
SMITH
7369
7902 CLERK
SCOTT
7788
7566 ANALYST
ADAMS
7876
7788 CLERK
MARTIN
7654
7698 SALESMAN
ALLEN
7499
7698 SALESMAN
JAMES
7900
7698 CLERK
WARD
7521
7698 SALESMAN
TURNER
7844
7698 SALESMAN
MILLER
7934
7782 CLERK
ADAMS
7876
7788 CLERK
ENAME
EMPNO
MGR JOB
---------- ---------- ---------- --------BLAKE
7698
7839 MANAGER
MARTIN
7654
7698 SALESMAN
ALLEN
7499
7698 SALESMAN
JAMES
7900
7698 CLERK
WARD
7521
7698 SALESMAN
TURNER
7844
7698 SALESMAN
CLARK
7782
7839 MANAGER
MILLER
7934
7782 CLERK
JONES
7566
7839 MANAGER
FORD
7902
7566 ANALYST
SMITH
7369
7902 CLERK
ENAME
EMPNO
MGR JOB
---------- ---------- ---------- --------SCOTT
7788
7566 ANALYST
ADAMS
7876
7788 CLERK
SMITH
7369
7902 CLERK
KING
7839
PRESIDENT
BLAKE
7698
7839 MANAGER
MARTIN
7654
7698 SALESMAN
ALLEN
7499
7698 SALESMAN
JAMES
7900
7698 CLERK
WARD
7521
7698 SALESMAN
TURNER
7844
7698 SALESMAN
CLARK
7782
7839 MANAGER
ENAME
EMPNO
MGR JOB
---------- ---------- ---------- --------MILLER
7934
7782 CLERK
JONES
7566
7839 MANAGER
FORD
7902
7566 ANALYST
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SMITH
SCOTT
ADAMS

7369
7788
7876

7902 CLERK
7566 ANALYST
7788 CLERK

39 rows selected.
SQL> cl scr
SQL>
2
3
4

SELECT Ename, Empno, Mgr, Job


FROM Emp
START WITH Job = 'PRESIDENT'
CONNECT BY PRIOR Empno = MGR;

ENAME
EMPNO
MGR JOB
---------- ---------- ---------- --------KING
7839
PRESIDENT
BLAKE
7698
7839 MANAGER
MARTIN
7654
7698 SALESMAN
ALLEN
7499
7698 SALESMAN
TURNER
7844
7698 SALESMAN
JAMES
7900
7698 CLERK
WARD
7521
7698 SALESMAN
CLARK
7782
7839 MANAGER
MILLER
7934
7782 CLERK
JONES
7566
7839 MANAGER
FORD
7902
7566 ANALYST
ENAME
EMPNO
MGR JOB
---------- ---------- ---------- --------SMITH
7369
7902 CLERK
SCOTT
7788
7566 ANALYST
ADAMS
7876
7788 CLERK
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Empno, Mgr, Job


FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
/

ENAME
EMPNO
MGR JOB
---------- ---------- ---------- --------KING
7839
PRESIDENT
BLAKE
7698
7839 MANAGER
MARTIN
7654
7698 SALESMAN
ALLEN
7499
7698 SALESMAN
TURNER
7844
7698 SALESMAN
JAMES
7900
7698 CLERK
WARD
7521
7698 SALESMAN
CLARK
7782
7839 MANAGER
MILLER
7934
7782 CLERK
JONES
7566
7839 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

FORD

7902

7566 ANALYST

ENAME
EMPNO
MGR JOB
---------- ---------- ---------- --------SMITH
7369
7902 CLERK
SCOTT
7788
7566 ANALYST
ADAMS
7876
7788 CLERK
14 rows selected.
SQL> SELECT Ename, Empno, Mgr, Job
2 FROM Emp;
ENAME
EMPNO
MGR JOB
---------- ---------- ---------- --------KING
7839
PRESIDENT
BLAKE
7698
7839 MANAGER
CLARK
7782
7839 MANAGER
JONES
7566
7839 MANAGER
MARTIN
7654
7698 SALESMAN
ALLEN
7499
7698 SALESMAN
TURNER
7844
7698 SALESMAN
JAMES
7900
7698 CLERK
WARD
7521
7698 SALESMAN
FORD
7902
7566 ANALYST
SMITH
7369
7902 CLERK
ENAME
EMPNO
MGR JOB
---------- ---------- ---------- --------SCOTT
7788
7566 ANALYST
ADAMS
7876
7788 CLERK
MILLER
7934
7782 CLERK
14 rows selected.
SQL> cl scr
SQL>
2
3
4

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
START WITH Sal = 5000
CONNECT BY PRIOR Empno = MGR;

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
7839 MANAGER
2850
MARTIN
7654
7698 SALESMAN
1250
ALLEN
7499
7698 SALESMAN
1600
TURNER
7844
7698 SALESMAN
1500
JAMES
7900
7698 CLERK
950
WARD
7521
7698 SALESMAN
1250
CLARK
7782
7839 MANAGER
2450
MILLER
7934
7782 CLERK
1300
JONES
7566
7839 MANAGER
2975
FORD
7902
7566 ANALYST
3000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------SMITH
7369
7902 CLERK
800
SCOTT
7788
7566 ANALYST
3000
ADAMS
7876
7788 CLERK
1100
14 rows selected.
SQL> cl scr
SQL>
2
3
4
5

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
START WITH Sal = (SELECT MAX(Sal)
FROM Emp)
CONNECT BY PRIOR Empno = MGR;

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
7839 MANAGER
2850
MARTIN
7654
7698 SALESMAN
1250
ALLEN
7499
7698 SALESMAN
1600
TURNER
7844
7698 SALESMAN
1500
JAMES
7900
7698 CLERK
950
WARD
7521
7698 SALESMAN
1250
CLARK
7782
7839 MANAGER
2450
MILLER
7934
7782 CLERK
1300
JONES
7566
7839 MANAGER
2975
FORD
7902
7566 ANALYST
3000
ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------SMITH
7369
7902 CLERK
800
SCOTT
7788
7566 ANALYST
3000
ADAMS
7876
7788 CLERK
1100
14 rows selected.
SQL>
2
3
4
5
6

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
START WITH Sal IN (SELECT Sal
FROM Emp
WHERE Job = 'ANALYST')
CONNECT BY PRIOR Empno = MGR;

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------FORD
7902
7566 ANALYST
3000
SMITH
7369
7902 CLERK
800
SCOTT
7788
7566 ANALYST
3000
ADAMS
7876
7788 CLERK
1100
SQL> SPOOL OFF
SQL> cl scr
SQL> SET VERIFY OFF
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> SELECT Ename, Empno, Mgr, Job, Sal
2 FROM Emp
3 START WITH Sal = (SELECT MAX(Sal)
4
5
6
Dept
7
WHERE Dname = 'ACCOUNTING')
8
9 CONNECT BY PRIOR Empno = MGR;

FROM Emp
WHERE Deptno = (SELECT Deptno
FROM

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
7839 MANAGER
2850
MARTIN
7654
7698 SALESMAN
1250
ALLEN
7499
7698 SALESMAN
1600
TURNER
7844
7698 SALESMAN
1500
JAMES
7900
7698 CLERK
950
WARD
7521
7698 SALESMAN
1250
CLARK
7782
7839 MANAGER
2450
MILLER
7934
7782 CLERK
1300
JONES
7566
7839 MANAGER
2975
FORD
7902
7566 ANALYST
3000
ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------SMITH
7369
7902 CLERK
800
SCOTT
7788
7566 ANALYST
3000
ADAMS
7876
7788 CLERK
1100
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Empno, Mgr, Job, Sal
2 FROM Emp
3 START WITH Sal = (SELECT MAX(Sal)
4
5
6
Dept
7
WHERE Dname = 'RESEARCH')
8
9* CONNECT BY PRIOR Empno = MGR
SQL> /

FROM Emp
WHERE Deptno = (SELECT Deptno
FROM

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------FORD
7902
7566 ANALYST
3000
SMITH
7369
7902 CLERK
800
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SCOTT
ADAMS

7788
7876

7566 ANALYST
7788 CLERK

3000
1100

SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Empno, Mgr, Job, Sal
2 FROM Emp
3 START WITH Sal = (SELECT MAX(Sal)
4
5
6
Dept
7
WHERE Dname = 'SALES')
8
9* CONNECT BY PRIOR Empno = MGR
SQL> /

FROM Emp
WHERE Deptno = (SELECT Deptno
FROM

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------BLAKE
7698
7839 MANAGER
2850
MARTIN
7654
7698 SALESMAN
1250
ALLEN
7499
7698 SALESMAN
1600
TURNER
7844
7698 SALESMAN
1500
JAMES
7900
7698 CLERK
950
WARD
7521
7698 SALESMAN
1250
6 rows selected.
SQL> cl scr
SQL> SELECT Ename, Empno, Mgr, Job, Sal
2 FROM Emp
3 START WITH Ename = (SELECT Ename
4
FROM Emp, SalGrade
5
WHERE Emp.Sal BETWEEN SalGrade.LOSAL AND
SalGrade.HiSal
6
AND grade = 5)
7 CONNECT BY PRIOR Empno = MGR;
ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
7839 MANAGER
2850
MARTIN
7654
7698 SALESMAN
1250
ALLEN
7499
7698 SALESMAN
1600
TURNER
7844
7698 SALESMAN
1500
JAMES
7900
7698 CLERK
950
WARD
7521
7698 SALESMAN
1250
CLARK
7782
7839 MANAGER
2450
MILLER
7934
7782 CLERK
1300
JONES
7566
7839 MANAGER
2975
FORD
7902
7566 ANALYST
3000
ENAME

EMPNO
MGR JOB
SAL
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

---------- ---------- ---------- --------- ---------SMITH


7369
7902 CLERK
800
SCOTT
7788
7566 ANALYST
3000
ADAMS
7876
7788 CLERK
1100
14 rows selected.
SQL> cl scr
SQL>
2
3
4

SELECT Ename, Empno, MGR, Job


FROM Emp
START WITH Job = 'ANALYST'
CONNECT BY PRIOR Empno = MGR;

ENAME
EMPNO
MGR JOB
---------- ---------- ---------- --------FORD
7902
7566 ANALYST
SMITH
7369
7902 CLERK
SCOTT
7788
7566 ANALYST
ADAMS
7876
7788 CLERK
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Empno, MGR, Job


FROM Emp
START WITH Ename = 'JONES'
CONNECT BY PRIOR Empno = MGR
/

ENAME
EMPNO
MGR JOB
---------- ---------- ---------- --------JONES
7566
7839 MANAGER
FORD
7902
7566 ANALYST
SMITH
7369
7902 CLERK
SCOTT
7788
7566 ANALYST
ADAMS
7876
7788 CLERK
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Empno, MGR, Job


FROM Emp
START WITH Ename = 'JONES'
CONNECT BY Empno = PRIOR MGR
/

ENAME
EMPNO
MGR JOB
---------- ---------- ---------- --------JONES
7566
7839 MANAGER
KING
7839
PRESIDENT
SQL> ED
Wrote file afiedt.buf
1

SELECT Ename, Empno, MGR, Job


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2
3
4*
SQL>

FROM Emp
START WITH Job = 'ANALYST'
CONNECT BY Empno = PRIOR MGR
/

ENAME
EMPNO
MGR JOB
---------- ---------- ---------- --------SCOTT
7788
7566 ANALYST
JONES
7566
7839 MANAGER
KING
7839
PRESIDENT
FORD
7902
7566 ANALYST
JONES
7566
7839 MANAGER
KING
7839
PRESIDENT
6 rows selected.
SQL> cl scr
SQL>
2
3
4
5

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
/

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
7839 MANAGER
2850
MARTIN
7654
7698 SALESMAN
1250
ALLEN
7499
7698 SALESMAN
1600
TURNER
7844
7698 SALESMAN
1500
JAMES
7900
7698 CLERK
950
WARD
7521
7698 SALESMAN
1250
CLARK
7782
7839 MANAGER
2450
MILLER
7934
7782 CLERK
1300
JONES
7566
7839 MANAGER
2975
FORD
7902
7566 ANALYST
3000
ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------SMITH
7369
7902 CLERK
800
SCOTT
7788
7566 ANALYST
3000
ADAMS
7876
7788 CLERK
1100
14 rows selected.
SQL>
2
3
4
5

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
AND Job = 'MANAGER';

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
7839 MANAGER
2850
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

CLARK
JONES

7782
7566

7839 MANAGER
7839 MANAGER

2450
2975

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
WHERE Job = 'MANAGER'
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
/

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------BLAKE
7698
7839 MANAGER
2850
CLARK
7782
7839 MANAGER
2450
JONES
7566
7839 MANAGER
2975
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
START WITH Ename = 'JONES'
CONNECT BY PRIOR Empno = MGR
/

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------JONES
7566
7839 MANAGER
2975
FORD
7902
7566 ANALYST
3000
SMITH
7369
7902 CLERK
800
SCOTT
7788
7566 ANALYST
3000
ADAMS
7876
7788 CLERK
1100
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
START WITH Ename = 'BLAKE'
CONNECT BY PRIOR Empno = MGR
/

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------BLAKE
7698
7839 MANAGER
2850
MARTIN
7654
7698 SALESMAN
1250
ALLEN
7499
7698 SALESMAN
1600
TURNER
7844
7698 SALESMAN
1500
JAMES
7900
7698 CLERK
950
WARD
7521
7698 SALESMAN
1250
6 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
START WITH Ename = 'CLARK'
CONNECT BY PRIOR Empno = MGR
/

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------CLARK
7782
7839 MANAGER
2450
MILLER
7934
7782 CLERK
1300
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
START WITH Ename = 'JONES'
CONNECT BY PRIOR Empno = MGR AND
Job = 'MANAGER'
/

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------JONES
7566
7839 MANAGER
2975
SQL> cl scr
SQL>
2
3
4
5

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
AND Job = 'MANAGER';

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
7839 MANAGER
2850
CLARK
7782
7839 MANAGER
2450
JONES
7566
7839 MANAGER
2975
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
AND Job = 'SALESMAN'
/

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Empno, Mgr, Job, Sal
2 FROM Emp
3 START WITH Ename = 'KING'
4 CONNECT BY PRIOR Empno = MGR
5* AND Job = 'MANAGER' OR Job = 'SALESMAN'
SQL> /
ERROR:
ORA-01436: CONNECT BY loop in user data

no rows selected
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
AND Job = 'MANAGER' AND Job = 'SALESMAN'
/

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
AND (Job = 'MANAGER' OR Job = 'SALESMAN')
/

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
7839 MANAGER
2850
MARTIN
7654
7698 SALESMAN
1250
ALLEN
7499
7698 SALESMAN
1600
TURNER
7844
7698 SALESMAN
1500
WARD
7521
7698 SALESMAN
1250
CLARK
7782
7839 MANAGER
2450
JONES
7566
7839 MANAGER
2975
8 rows selected.
SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1
2
3
4
5*
SQL>

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
AND Job IN('MANAGER', 'SALESMAN')
/

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
7839 MANAGER
2850
MARTIN
7654
7698 SALESMAN
1250
ALLEN
7499
7698 SALESMAN
1600
TURNER
7844
7698 SALESMAN
1500
WARD
7521
7698 SALESMAN
1250
CLARK
7782
7839 MANAGER
2450
JONES
7566
7839 MANAGER
2975
8 rows selected.
SQL> cl scr
SQL>
2
3
4
5

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
AND Job <> 'SALESMAN';

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
7839 MANAGER
2850
JAMES
7900
7698 CLERK
950
CLARK
7782
7839 MANAGER
2450
MILLER
7934
7782 CLERK
1300
JONES
7566
7839 MANAGER
2975
FORD
7902
7566 ANALYST
3000
SMITH
7369
7902 CLERK
800
SCOTT
7788
7566 ANALYST
3000
ADAMS
7876
7788 CLERK
1100
10 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
AND Job <> 'CLERK'
/

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

KING
BLAKE
MARTIN
ALLEN
TURNER
WARD
CLARK
JONES
FORD
SCOTT

7839
7698
7654
7499
7844
7521
7782
7566
7902
7788

7839
7698
7698
7698
7698
7839
7839
7566
7566

PRESIDENT
MANAGER
SALESMAN
SALESMAN
SALESMAN
SALESMAN
MANAGER
MANAGER
ANALYST
ANALYST

5000
2850
1250
1600
1500
1250
2450
2975
3000
3000

10 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
AND Job <> 'ANALYST'
/

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
7839 MANAGER
2850
MARTIN
7654
7698 SALESMAN
1250
ALLEN
7499
7698 SALESMAN
1600
TURNER
7844
7698 SALESMAN
1500
JAMES
7900
7698 CLERK
950
WARD
7521
7698 SALESMAN
1250
CLARK
7782
7839 MANAGER
2450
MILLER
7934
7782 CLERK
1300
JONES
7566
7839 MANAGER
2975
10 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
WHERE Job <> 'ANALYST'
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
/

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
7839 MANAGER
2850
MARTIN
7654
7698 SALESMAN
1250
ALLEN
7499
7698 SALESMAN
1600
TURNER
7844
7698 SALESMAN
1500
JAMES
7900
7698 CLERK
950
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

WARD
CLARK
MILLER
JONES
SMITH

7521
7782
7934
7566
7369

7698
7839
7782
7839
7902

SALESMAN
MANAGER
CLERK
MANAGER
CLERK

1250
2450
1300
2975
800

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------ADAMS
7876
7788 CLERK
1100
12 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
AND Job <> 'SALESMAN'
AND Sal > 1500;

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
7839 MANAGER
2850
CLARK
7782
7839 MANAGER
2450
JONES
7566
7839 MANAGER
2975
FORD
7902
7566 ANALYST
3000
SCOTT
7788
7566 ANALYST
3000
6 rows selected.
SQL>
2
3
4
5

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
WHERE Job <> 'SALESMAN' AND Sal > 1500
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR;

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
7839 MANAGER
2850
CLARK
7782
7839 MANAGER
2450
JONES
7566
7839 MANAGER
2975
FORD
7902
7566 ANALYST
3000
SCOTT
7788
7566 ANALYST
3000
6 rows selected.
SQL>
2
3
4
5
6
7

SELECT Ename, Empno, Mgr, Job, Sal


FROM Emp
WHERE Deptno = (SELECT Deptno
FROM Dept
WHERE DName = 'SALES')
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
EMPNO
MGR JOB
SAL
---------- ---------- ---------- --------- ---------BLAKE
7698
7839 MANAGER
2850
MARTIN
7654
7698 SALESMAN
1250
ALLEN
7499
7698 SALESMAN
1600
TURNER
7844
7698 SALESMAN
1500
JAMES
7900
7698 CLERK
950
WARD
7521
7698 SALESMAN
1250
6 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7
8

SELECT Ename, Empno, Mgr, Job, Sal,


ROUND(SalAvg, 2) SalAvg
FROM Emp E, (SELECT Deptno, AVG(Sal) SalAvg
FROM Emp
GROUP BY Deptno) E1
WHERE E.Deptno = E1.Deptno
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR;

ENAME
EMPNO
MGR JOB
SAL
SALAVG
---------- ---------- ---------- --------- ---------- ---------KING
7839
PRESIDENT
5000
2916.67
CLARK
7782
7839 MANAGER
2450
2916.67
MILLER
7934
7782 CLERK
1300
2916.67
JONES
7566
7839 MANAGER
2975
2175
SCOTT
7788
7566 ANALYST
3000
2175
ADAMS
7876
7788 CLERK
1100
2175
FORD
7902
7566 ANALYST
3000
2175
SMITH
7369
7902 CLERK
800
2175
BLAKE
7698
7839 MANAGER
2850
1566.67
WARD
7521
7698 SALESMAN
1250
1566.67
JAMES
7900
7698 CLERK
950
1566.67
ENAME
EMPNO
MGR JOB
SAL
SALAVG
---------- ---------- ---------- --------- ---------- ---------TURNER
7844
7698 SALESMAN
1500
1566.67
ALLEN
7499
7698 SALESMAN
1600
1566.67
MARTIN
7654
7698 SALESMAN
1250
1566.67
14 rows selected.
SQL>
2
3
4
5
6
7
8
9
10
11

SELECT Ename, Empno, Mgr, Job, Sal,


ROUND(SalAvg, 2) SalAvg
FROM Emp E, (SELECT Deptno, AVG(Sal) SalAvg
FROM Emp
GROUP BY Deptno) E1
WHERE E.Deptno = E1.Deptno AND
E1.Deptno = (SELECT Deptno
FROM Dept
WHERE Dname = 'SALES')
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
EMPNO
MGR JOB
SAL
SALAVG
---------- ---------- ---------- --------- ---------- ---------BLAKE
7698
7839 MANAGER
2850
1566.67
WARD
7521
7698 SALESMAN
1250
1566.67
JAMES
7900
7698 CLERK
950
1566.67
TURNER
7844
7698 SALESMAN
1500
1566.67
ALLEN
7499
7698 SALESMAN
1600
1566.67
MARTIN
7654
7698 SALESMAN
1250
1566.67
6 rows selected.
SQL> SELECT Ename, Empno, Mgr, Job, Sal, ROUND(SalAvg, 2) SalAvg, ROUND(((SELECT
AVG(Sal) FROM Emp) - SalAvg), 2) AvgDif
2 FROM Emp E, (SELECT Deptno, AVG(Sal) SalAvg
3
FROM Emp
4
GROUP BY Deptno) E1
5 WHERE E.Deptno = E1.Deptno AND
6 E1.Deptno = (SELECT Deptno
7
FROM Dept
8
WHERE Dname = 'SALES')
9 START WITH Ename = 'KING'
10 CONNECT BY PRIOR Empno = MGR;
ENAME
EMPNO
MGR JOB
SAL
SALAVG
AVGDIF
---------- ---------- ---------- --------- ---------- ---------- ---------BLAKE
7698
7839 MANAGER
2850
1566.67
506.55
WARD
7521
7698 SALESMAN
1250
1566.67
506.55
JAMES
7900
7698 CLERK
950
1566.67
506.55
TURNER
7844
7698 SALESMAN
1500
1566.67
506.55
ALLEN
7499
7698 SALESMAN
1600
1566.67
506.55
MARTIN
7654
7698 SALESMAN
1250
1566.67
506.55
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Empno, Mgr, Job, Sal, ROUND(SalAvg, 2) SalAvg, ROUND(((SELECT
AVG(Sal) FROM Emp) - SalAvg), 2) AvgDif
2 FROM Emp E, (SELECT Deptno, AVG(Sal) SalAvg
3
FROM Emp
4
GROUP BY Deptno) E1
5 WHERE E.Deptno = E1.Deptno AND
6 E1.Deptno = (SELECT Deptno
7
FROM Dept
8
WHERE Dname = 'SALES')
9 START WITH Ename = (
10
SELECT Ename
11
FROM Emp
12
WHERE Sal = (
13
SELECT
14
MAX(Sal)
15
FROM Emp
16
WHERE Deptno = (
17
SELECT Deptno
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

18
19
20
21
)
22
)
23* CONNECT BY PRIOR Empno = MGR
SQL> /

FROM Dept
WHERE Dname = 'ACCOUNTING'
)

ENAME
EMPNO
MGR JOB
SAL
SALAVG
AVGDIF
---------- ---------- ---------- --------- ---------- ---------- ---------BLAKE
7698
7839 MANAGER
2850
1566.67
506.55
WARD
7521
7698 SALESMAN
1250
1566.67
506.55
JAMES
7900
7698 CLERK
950
1566.67
506.55
TURNER
7844
7698 SALESMAN
1500
1566.67
506.55
ALLEN
7499
7698 SALESMAN
1600
1566.67
506.55
MARTIN
7654
7698 SALESMAN
1250
1566.67
506.55
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Empno, Mgr, Job, Sal, ROUND(SalAvg, 2) SalAvg, ROUND(((SELECT
AVG(Sal) FROM Emp) - SalAvg), 2) AvgDif
2 FROM Emp E, (SELECT Deptno, AVG(Sal) SalAvg
3
FROM Emp
4
GROUP BY Deptno) E1
5 WHERE E.Deptno = E1.Deptno AND
6 E1.Deptno = (SELECT Deptno
7
FROM Dept
8
WHERE Dname = 'SALES')
9 START WITH Ename = (
10
SELECT Ename
11
FROM Emp
12
WHERE Sal = (
13
SELECT
14
MAX(Sal)
15
FROM Emp
16
WHERE Deptno = (
17
SELECT Deptno
18
FROM Dept
19
WHERE Dname = 'ACCOUNTING'
20
)
21
)
22
)
23* CONNECT BY PRIOR Empno = MGR
SQL> SPOOL OFF
SQL> cl scr
SQL> SET VERIFY OFF
SQL> cl scr
SQL>
2
3
4

SELECT Ename, Sal, Job,


CONNECT_BY_ROOT(Ename) Boss
FROM Emp
START WITH Ename = 'KING'
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

CONNECT BY PRIOR Empno = MGR;

ENAME
SAL JOB
BOSS
---------- ---------- --------- ---------KING
5000 PRESIDENT KING
BLAKE
2850 MANAGER
KING
MARTIN
1250 SALESMAN KING
ALLEN
1600 SALESMAN KING
TURNER
1500 SALESMAN KING
JAMES
950 CLERK
KING
WARD
1250 SALESMAN KING
CLARK
2450 MANAGER
KING
MILLER
1300 CLERK
KING
JONES
2975 MANAGER
KING
FORD
3000 ANALYST
KING
ENAME
SAL JOB
---------- ---------- --------SMITH
800 CLERK
SCOTT
3000 ANALYST
ADAMS
1100 CLERK

BOSS
---------KING
KING
KING

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Sal, Job,


CONNECT_BY_ROOT(Job) BossJob
FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
/

ENAME
SAL JOB
BOSSJOB
---------- ---------- --------- --------KING
5000 PRESIDENT PRESIDENT
BLAKE
2850 MANAGER
PRESIDENT
MARTIN
1250 SALESMAN PRESIDENT
ALLEN
1600 SALESMAN PRESIDENT
TURNER
1500 SALESMAN PRESIDENT
JAMES
950 CLERK
PRESIDENT
WARD
1250 SALESMAN PRESIDENT
CLARK
2450 MANAGER
PRESIDENT
MILLER
1300 CLERK
PRESIDENT
JONES
2975 MANAGER
PRESIDENT
FORD
3000 ANALYST
PRESIDENT
ENAME
SAL JOB
---------- ---------- --------SMITH
800 CLERK
SCOTT
3000 ANALYST
ADAMS
1100 CLERK

BOSSJOB
--------PRESIDENT
PRESIDENT
PRESIDENT

14 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Sal, Job,


CONNECT_BY_ROOT(Sal) - Sal DiffBossEmpSal
FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
/

ENAME
SAL JOB
DIFFBOSSEMPSAL
---------- ---------- --------- -------------KING
5000 PRESIDENT
0
BLAKE
2850 MANAGER
2150
MARTIN
1250 SALESMAN
3750
ALLEN
1600 SALESMAN
3400
TURNER
1500 SALESMAN
3500
JAMES
950 CLERK
4050
WARD
1250 SALESMAN
3750
CLARK
2450 MANAGER
2550
MILLER
1300 CLERK
3700
JONES
2975 MANAGER
2025
FORD
3000 ANALYST
2000
ENAME
SAL JOB
DIFFBOSSEMPSAL
---------- ---------- --------- -------------SMITH
800 CLERK
4200
SCOTT
3000 ANALYST
2000
ADAMS
1100 CLERK
3900
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename, Job, Sal EmpSal,


CONNECT_BY_ROOT(Sal) BossSal,
CONNECT_BY_ROOT(Sal) - Sal DiffBossEmpSal
FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
/

ENAME
---------KING
BLAKE
MARTIN
ALLEN
TURNER
JAMES
WARD
CLARK
MILLER
JONES
FORD

JOB
EMPSAL
BOSSSAL DIFFBOSSEMPSAL
--------- ---------- ---------- -------------PRESIDENT
5000
5000
0
MANAGER
2850
5000
2150
SALESMAN
1250
5000
3750
SALESMAN
1600
5000
3400
SALESMAN
1500
5000
3500
CLERK
950
5000
4050
SALESMAN
1250
5000
3750
MANAGER
2450
5000
2550
CLERK
1300
5000
3700
MANAGER
2975
5000
2025
ANALYST
3000
5000
2000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
---------SMITH
SCOTT
ADAMS

JOB
EMPSAL
BOSSSAL DIFFBOSSEMPSAL
--------- ---------- ---------- -------------CLERK
800
5000
4200
ANALYST
3000
5000
2000
CLERK
1100
5000
3900

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Job,


CONNECT_BY_ROOT(Ename) BossName
FROM Emp
START WITH Ename = 'KING'
CONNECT BY Empno = PRIOR MGR
/

ENAME
JOB
BOSSNAME
---------- --------- ---------KING
PRESIDENT KING
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Job,


CONNECT_BY_ROOT(Ename) BossName
FROM Emp
START WITH Job = 'ANALYST'
CONNECT BY Empno = PRIOR MGR
/

ENAME
---------SCOTT
JONES
KING
FORD
JONES
KING

JOB
--------ANALYST
MANAGER
PRESIDENT
ANALYST
MANAGER
PRESIDENT

BOSSNAME
---------SCOTT
SCOTT
SCOTT
FORD
FORD
FORD

6 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Job,


CONNECT_BY_ROOT(Ename) BossName
FROM Emp
START WITH Empno = 7839
CONNECT BY PRIOR Empno = MGR
/

ENAME
JOB
BOSSNAME
---------- --------- ---------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

KING
BLAKE
MARTIN
ALLEN
TURNER
JAMES
WARD
CLARK
MILLER
JONES
FORD

PRESIDENT
MANAGER
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
MANAGER
CLERK
MANAGER
ANALYST

KING
KING
KING
KING
KING
KING
KING
KING
KING
KING
KING

ENAME
---------SMITH
SCOTT
ADAMS

JOB
--------CLERK
ANALYST
CLERK

BOSSNAME
---------KING
KING
KING

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Job,


CONNECT_BY_ROOT(Ename) BossName
FROM Emp
START WITH MGR = 7839
CONNECT BY PRIOR Empno = MGR
/

ENAME
---------BLAKE
MARTIN
ALLEN
TURNER
JAMES
WARD
CLARK
MILLER
JONES
FORD
SMITH

JOB
--------MANAGER
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
MANAGER
CLERK
MANAGER
ANALYST
CLERK

BOSSNAME
---------BLAKE
BLAKE
BLAKE
BLAKE
BLAKE
BLAKE
CLARK
CLARK
JONES
JONES
JONES

ENAME
---------SCOTT
ADAMS

JOB
--------ANALYST
CLERK

BOSSNAME
---------JONES
JONES

13 rows selected.
SQL> cl scr
SQL> SELECT ENAME Name, HireDate,
2 CONNECT_BY_ROOT Ename Boss,
3 CONNECT_BY_ROOT HireDate BossHire,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4
5
6
7

ROUND(CONNECT_BY_ROOT HireDate - HireDate) Days


FROM EMP
START WITH Job = 'PRESIDENT'
CONNECT BY PRIOR EMPNO = MGR;

NAME
---------KING
BLAKE
MARTIN
ALLEN
TURNER
JAMES
WARD
CLARK
MILLER
JONES
FORD

HIREDATE
--------17-NOV-81
01-MAY-81
28-SEP-81
20-FEB-81
08-SEP-81
03-DEC-81
22-FEB-81
09-JUN-81
23-JAN-82
02-APR-81
03-DEC-81

BOSS
---------KING
KING
KING
KING
KING
KING
KING
KING
KING
KING
KING

BOSSHIRE
DAYS
--------- ---------17-NOV-81
0
17-NOV-81
200
17-NOV-81
50
17-NOV-81
270
17-NOV-81
70
17-NOV-81
-16
17-NOV-81
268
17-NOV-81
161
17-NOV-81
-67
17-NOV-81
229
17-NOV-81
-16

NAME
---------SMITH
SCOTT
ADAMS

HIREDATE
--------17-DEC-80
09-DEC-82
12-JAN-83

BOSS
---------KING
KING
KING

BOSSHIRE
DAYS
--------- ---------17-NOV-81
335
17-NOV-81
-387
17-NOV-81
-421

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME Name, HireDate,
2 CONNECT_BY_ROOT Ename Boss,
3 CONNECT_BY_ROOT HireDate BossHire,
4 ROUND(CONNECT_BY_ROOT HireDate - HireDate) Days
5 FROM EMP
6 WHERE
7 ROUND(CONNECT_BY_ROOT HireDate - HireDate) = &GVal
8 START WITH Job = 'PRESIDENT'
9* CONNECT BY PRIOR EMPNO = MGR
SQL> /
Enter value for gval: 1
no rows selected
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9*

SELECT ENAME Name, HireDate,


CONNECT_BY_ROOT Ename Boss,
CONNECT_BY_ROOT HireDate BossHire,
ROUND(CONNECT_BY_ROOT HireDate - HireDate) Days
FROM EMP
WHERE
SIGN(ROUND(CONNECT_BY_ROOT HireDate - HireDate)) = &GVal
START WITH Job = 'PRESIDENT'
CONNECT BY PRIOR EMPNO = MGR
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
Enter value for gval: 1
NAME
---------BLAKE
MARTIN
ALLEN
TURNER
WARD
CLARK
JONES
SMITH

HIREDATE
--------01-MAY-81
28-SEP-81
20-FEB-81
08-SEP-81
22-FEB-81
09-JUN-81
02-APR-81
17-DEC-80

BOSS
---------KING
KING
KING
KING
KING
KING
KING
KING

BOSSHIRE
DAYS
--------- ---------17-NOV-81
200
17-NOV-81
50
17-NOV-81
270
17-NOV-81
70
17-NOV-81
268
17-NOV-81
161
17-NOV-81
229
17-NOV-81
335

8 rows selected.
SQL> /
Enter value for gval: -1
NAME
---------JAMES
MILLER
FORD
SCOTT
ADAMS

HIREDATE
--------03-DEC-81
23-JAN-82
03-DEC-81
09-DEC-82
12-JAN-83

BOSS
---------KING
KING
KING
KING
KING

BOSSHIRE
DAYS
--------- ---------17-NOV-81
-16
17-NOV-81
-67
17-NOV-81
-16
17-NOV-81
-387
17-NOV-81
-421

SQL> cl cr
SP2-0158: unknown CLEAR option "cr"
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME Name, HireDate
2 FROM EMP
3 WHERE
4 START WITH Job = 'PRESIDENT'
5* CONNECT BY PRIOR EMPNO = MGR
SQL> /
START WITH Job = 'PRESIDENT'
*
ERROR at line 4:
ORA-00936: missing expression

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>
NAME

SELECT ENAME Name, HireDate


FROM EMP
START WITH Job = 'PRESIDENT'
CONNECT BY PRIOR EMPNO = MGR
/
HIREDATE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

---------KING
BLAKE
MARTIN
ALLEN
TURNER
JAMES
WARD
CLARK
MILLER
JONES
FORD

--------17-NOV-81
01-MAY-81
28-SEP-81
20-FEB-81
08-SEP-81
03-DEC-81
22-FEB-81
09-JUN-81
23-JAN-82
02-APR-81
03-DEC-81

NAME
---------SMITH
SCOTT
ADAMS

HIREDATE
--------17-DEC-80
09-DEC-82
12-JAN-83

14 rows selected.
SQL> cl scr
SQL>
SQL>
2
3
4
5

COLUMN Path FORMAT A35


SELECT Ename,
SYS_CONNECT_BY_PATH(Ename, '/') "Path"
FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR;

ENAME
---------KING
BLAKE
MARTIN
ALLEN
TURNER
JAMES
WARD
CLARK
MILLER
JONES
FORD

Path
----------------------------------/KING
/KING/BLAKE
/KING/BLAKE/MARTIN
/KING/BLAKE/ALLEN
/KING/BLAKE/TURNER
/KING/BLAKE/JAMES
/KING/BLAKE/WARD
/KING/CLARK
/KING/CLARK/MILLER
/KING/JONES
/KING/JONES/FORD

ENAME
---------SMITH
SCOTT
ADAMS

Path
----------------------------------/KING/JONES/FORD/SMITH
/KING/JONES/SCOTT
/KING/JONES/SCOTT/ADAMS

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1

SELECT Ename,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2
3
4
5*
SQL>

SYS_CONNECT_BY_PATH(Ename, '=>') "Path"


FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
/

ENAME
---------KING
BLAKE
MARTIN
ALLEN
TURNER
JAMES
WARD
CLARK
MILLER
JONES
FORD

Path
----------------------------------=>KING
=>KING=>BLAKE
=>KING=>BLAKE=>MARTIN
=>KING=>BLAKE=>ALLEN
=>KING=>BLAKE=>TURNER
=>KING=>BLAKE=>JAMES
=>KING=>BLAKE=>WARD
=>KING=>CLARK
=>KING=>CLARK=>MILLER
=>KING=>JONES
=>KING=>JONES=>FORD

ENAME
---------SMITH
SCOTT
ADAMS

Path
----------------------------------=>KING=>JONES=>FORD=>SMITH
=>KING=>JONES=>SCOTT
=>KING=>JONES=>SCOTT=>ADAMS

14 rows selected.
SQL> cl scr
SQL> SELECT Empno, Ename, MGR
2 FROM Emp;
EMPNO
---------7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
MGR
---------- ---------KING
BLAKE
7839
CLARK
7839
JONES
7839
MARTIN
7698
ALLEN
7698
TURNER
7698
JAMES
7698
WARD
7698
FORD
7566
SMITH
7902

EMPNO
---------7788
7876
7934

ENAME
MGR
---------- ---------SCOTT
7566
ADAMS
7788
MILLER
7782

14 rows selected.
SQL> UPDATE Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2
3

SET MGR = 7566


WHERE Empno = 7839;

1 row updated.
SQL> SELECT Empno, Ename, MGR
2 FROM Emp;
EMPNO
---------7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
MGR
---------- ---------KING
7566
BLAKE
7839
CLARK
7839
JONES
7839
MARTIN
7698
ALLEN
7698
TURNER
7698
JAMES
7698
WARD
7698
FORD
7566
SMITH
7902

EMPNO
---------7788
7876
7934

ENAME
MGR
---------- ---------SCOTT
7566
ADAMS
7788
MILLER
7782

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Empno, Ename, MGR
2 FROM Emp
3 START WITH Ename = 'KING'
4* CONNECT BY PRIOR Empno = MGR
SQL> /
ERROR:
ORA-01436: CONNECT BY loop in user data

no rows selected
SQL>
2
3
4
5

SELECT Ename,
SYS_CONNECT_BY_PATH(Sal, '/') "SalPath"
FROM Emp
START WITH Ename = 'KING'
CONNECT BY NOCYCLE PRIOR Empno = MGR;

ENAME
---------SalPath
-------------------------------------------------------------------------------KING
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

/5000
BLAKE
/5000/2850
MARTIN
/5000/2850/1250

ENAME
---------SalPath
-------------------------------------------------------------------------------ALLEN
/5000/2850/1600
TURNER
/5000/2850/1500
JAMES
/5000/2850/950

ENAME
---------SalPath
-------------------------------------------------------------------------------WARD
/5000/2850/1250
CLARK
/5000/2450
MILLER
/5000/2450/1300

ENAME
---------SalPath
-------------------------------------------------------------------------------JONES
/5000/2975
FORD
/5000/2975/3000
SMITH
/5000/2975/3000/800

ENAME
---------SalPath
-------------------------------------------------------------------------------SCOTT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

/5000/2975/3000
ADAMS
/5000/2975/3000/1100

14 rows selected.
SQL> COLUMN "SalPath" FORMAT A25
SQL> /
ENAME
---------KING
BLAKE
MARTIN
ALLEN
TURNER
JAMES
WARD
CLARK
MILLER
JONES
FORD

SalPath
------------------------/5000
/5000/2850
/5000/2850/1250
/5000/2850/1600
/5000/2850/1500
/5000/2850/950
/5000/2850/1250
/5000/2450
/5000/2450/1300
/5000/2975
/5000/2975/3000

ENAME
---------SMITH
SCOTT
ADAMS

SalPath
------------------------/5000/2975/3000/800
/5000/2975/3000
/5000/2975/3000/1100

14 rows selected.
SQL> cl scr
SQL> ROLLBACK
2 /
Rollback complete.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename,
2 SYS_CONNECT_BY_PATH(Sal, '/') "SalPath"
3 FROM Emp
4 START WITH Ename = 'KING'
5* CONNECT BY PRIOR Empno = MGR;
SQL> /
CONNECT BY PRIOR Empno = MGR;
*
ERROR at line 5:
ORA-00911: invalid character
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename,
SYS_CONNECT_BY_PATH(Sal, '/') "SalPath"
FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
/

ENAME
---------KING
BLAKE
MARTIN
ALLEN
TURNER
JAMES
WARD
CLARK
MILLER
JONES
FORD

SalPath
------------------------/5000
/5000/2850
/5000/2850/1250
/5000/2850/1600
/5000/2850/1500
/5000/2850/950
/5000/2850/1250
/5000/2450
/5000/2450/1300
/5000/2975
/5000/2975/3000

ENAME
---------SMITH
SCOTT
ADAMS

SalPath
------------------------/5000/2975/3000/800
/5000/2975/3000
/5000/2975/3000/1100

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename,
SYS_CONNECT_BY_PATH(Sal, '/') "SalPath"
FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
ORDER BY Sal
/

ENAME
---------SMITH
JAMES
ADAMS
MARTIN
WARD
MILLER
TURNER
ALLEN
CLARK
BLAKE

SalPath
------------------------/5000/2975/3000/800
/5000/2850/950
/5000/2975/3000/1100
/5000/2850/1250
/5000/2850/1250
/5000/2450/1300
/5000/2850/1500
/5000/2850/1600
/5000/2450
/5000/2850
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

JONES

/5000/2975

ENAME
---------FORD
SCOTT
KING

SalPath
------------------------/5000/2975/3000
/5000/2975/3000
/5000

14 rows selected.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Sal, Job


FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno =
/

MGR

ENAME
SAL JOB
---------- ---------- --------KING
5000 PRESIDENT
BLAKE
2850 MANAGER
MARTIN
1250 SALESMAN
ALLEN
1600 SALESMAN
TURNER
1500 SALESMAN
JAMES
950 CLERK
WARD
1250 SALESMAN
CLARK
2450 MANAGER
MILLER
1300 CLERK
JONES
2975 MANAGER
FORD
3000 ANALYST
ENAME
SAL JOB
---------- ---------- --------SMITH
800 CLERK
SCOTT
3000 ANALYST
ADAMS
1100 CLERK
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Sal, Job


FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno =
ORDER SIBLINGS BY Sal
/

MGR

ENAME
SAL JOB
---------- ---------- --------KING
5000 PRESIDENT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

CLARK
MILLER
BLAKE
JAMES
MARTIN
WARD
TURNER
ALLEN
JONES
FORD

2450
1300
2850
950
1250
1250
1500
1600
2975
3000

MANAGER
CLERK
MANAGER
CLERK
SALESMAN
SALESMAN
SALESMAN
SALESMAN
MANAGER
ANALYST

ENAME
SAL JOB
---------- ---------- --------SMITH
800 CLERK
SCOTT
3000 ANALYST
ADAMS
1100 CLERK
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Sal, Job


FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno =
ORDER SIBLINGS BY Ename
/

MGR

ENAME
SAL JOB
---------- ---------- --------KING
5000 PRESIDENT
BLAKE
2850 MANAGER
ALLEN
1600 SALESMAN
JAMES
950 CLERK
MARTIN
1250 SALESMAN
TURNER
1500 SALESMAN
WARD
1250 SALESMAN
CLARK
2450 MANAGER
MILLER
1300 CLERK
JONES
2975 MANAGER
FORD
3000 ANALYST
ENAME
SAL JOB
---------- ---------- --------SMITH
800 CLERK
SCOTT
3000 ANALYST
ADAMS
1100 CLERK
14 rows selected.
SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SET VERIFY OFF


SQL> cl scr
SQL>
2
SQL>
2
SQL>
2
3
SQL>
2
3
SQL>
2
3
4
SQL>
2
3
4
SQL>

SELECT SequenceName.CURRVAL
SELECT SequenceName.NEXTVAL
INSERT INTO TableName
VALUES(SequenceName.CURRVAL,
INSERT INTO TableName
VALUES(SequenceName.NEXTVAL,
UPDATE TableName
SET
ColumnName = SequenceName.CURRVAL
UPDATE TableName
SET
ColumnName = SequenceName.NEXTVAL
cl scr

SQL> SELECT
2 SequenceName1.CURRVAL, SequenceName1.NEXTVAL
3
SQL> cl scr
SQL> CREATE TABLE Sample01
2 (
3
SampID
NUMBER(4)
4
Constraint SampID_PK01 PRIMARY
5
SampName
VARCHAR2(25),
6
SampDate
DATE
7
);

KEY,

Table created.
SQL>
2
3
4
5
6
7
8

CREATE SEQUENCE SampleSeq01


INCREMENT BY 1
START WITH 0
MINVALUE 0
MAXVALUE 5
NOCACHE
NOCYCLE
/

Sequence created.
SQL> SELECT SampleSeq01.CURRVAL FROM DUAL;
SELECT SampleSeq01.CURRVAL FROM DUAL
*
ERROR at line 1:
ORA-08002: sequence SAMPLESEQ01.CURRVAL is not yet defined in this session

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> SELECT * FROM Sample01;
no rows selected
SQL>
2
3
4

INSERT INTO Sample01


(SampID, SampName, SampDate)
VALUES
(SampleSeq01.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.
SQL> SELECT SampleSeq01.CURRVAL FROM DUAL;
CURRVAL
---------0
SQL> SELECT * FROM Sample01;
SAMPID SAMPNAME
SAMPDATE
---------- ------------------------- --------0 SAMPLE
31-AUG-05
SQL>
2
3
4

INSERT INTO Sample01


(SampID, SampName, SampDate)
VALUES
(SampleSeq01.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.
SQL> SELECT SampleSeq01.CURRVAL FROM DUAL;
CURRVAL
---------1
SQL> SELECT * FROM Sample01;
SAMPID
---------0
1
SQL>
2
3
4

SAMPNAME
------------------------SAMPLE
SAMPLE

SAMPDATE
--------31-AUG-05
31-AUG-05

INSERT INTO Sample01


(SampID, SampName, SampDate)
VALUES
(SampleSeq01.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.
SQL>
1
2
3

R
INSERT INTO Sample01
(SampID, SampName, SampDate)
VALUES
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4* (SampleSeq01.NEXTVAL, 'SAMPLE', '31-AUG-05')


1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample01
(SampID, SampName, SampDate)
VALUES
(SampleSeq01.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample01
(SampID, SampName, SampDate)
VALUES
(SampleSeq01.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL> R
1 INSERT INTO Sample01
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq01.NEXTVAL, 'SAMPLE', '31-AUG-05')
INSERT INTO Sample01
*
ERROR at line 1:
ORA-08004: sequence SAMPLESEQ01.NEXTVAL exceeds MAXVALUE and cannot be
instantiated

SQL> SELECT SampleSeq01.CURRVAL FROM DUAL;


CURRVAL
---------5
SQL> cl scr
SQL> CREATE TABLE Sample02
2 (
3
SampID
NUMBER(4)
4
Constraint SampID_PK02 PRIMARY
5
SampName
VARCHAR2(25),
6
SampDate
DATE
7
);

KEY,

Table created.
SQL>
2
3
4
5
6

CREATE SEQUENCE SampleSeq02


INCREMENT BY 1
START WITH 0
MINVALUE 0
MAXVALUE 5
NOCACHE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7
8

CYCLE
/

Sequence created.
SQL>
2
3
4

INSERT INTO Sample02


(SampID, SampName, SampDate)
VALUES
(SampleSeq02.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample02
(SampID, SampName, SampDate)
VALUES
(SampleSeq02.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample02
(SampID, SampName, SampDate)
VALUES
(SampleSeq02.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample02
(SampID, SampName, SampDate)
VALUES
(SampleSeq02.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample02
(SampID, SampName, SampDate)
VALUES
(SampleSeq02.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample02
(SampID, SampName, SampDate)
VALUES
(SampleSeq02.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL> SELECT SampleSeq02.CURRVAL FROM DUAL;
CURRVAL
---------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

5
SQL> SELECT * FROM Sample02;
SAMPID
---------0
1
2
3
4
5

SAMPNAME
------------------------SAMPLE
SAMPLE
SAMPLE
SAMPLE
SAMPLE
SAMPLE

SAMPDATE
--------31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05

6 rows selected.
SQL> INSERT INTO Sample02
2 (SampID, SampName, SampDate)
3 VALUES
4 (SampleSeq02.NEXTVAL, 'SAMPLE', '31-AUG-05');
INSERT INTO Sample02
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.SAMPID_PK02) violated

SQL> SELECT SampleSeq02.CURRVAL FROM DUAL;


CURRVAL
---------0
SQL> cl scr
SQL> CREATE TABLE Sample03
2 (
3
SampID
NUMBER(4)
4
SampName
VARCHAR2(25),
5
SampDate
DATE
6
);
(
*
ERROR at line 2:
ORA-00922: missing or invalid option

SQL> ED
Wrote file afiedt.buf
1 CREATE TABLE Sample03
2 (
3
SampID
NUMBER(4),
4
SampName
VARCHAR2(25),
5
SampDate
DATE
6* )
SQL> /
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Table created.
SQL> cl scr
SQL>
2
3
4
5
6
7
8

CREATE SEQUENCE SampleSeq03


INCREMENT BY 1
START WITH 10
MINVALUE 0
MAXVALUE 20
NOCACHE
CYCLE
/

Sequence created.
SQL>
2
3
4

INSERT INTO Sample03


(SampID, SampName, SampDate)
VALUES
(SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.
SQL> SELECT SampleSeq03.CURRVAL FROM DUAL;
CURRVAL
---------10
SQL>
2
3
4

INSERT INTO Sample03


(SampID, SampName, SampDate)
VALUES
(SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample03
(SampID, SampName, SampDate)
VALUES
(SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample03
(SampID, SampName, SampDate)
VALUES
(SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample03
(SampID, SampName, SampDate)
VALUES
(SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05')
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample03
(SampID, SampName, SampDate)
VALUES
(SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample03
(SampID, SampName, SampDate)
VALUES
(SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample03
(SampID, SampName, SampDate)
VALUES
(SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample03
(SampID, SampName, SampDate)
VALUES
(SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample03
(SampID, SampName, SampDate)
VALUES
(SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample03
(SampID, SampName, SampDate)
VALUES
(SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL> SELECT * FROM Sample03;
SAMPID SAMPNAME
SAMPDATE
---------- ------------------------- --------10 SAMPLE
31-AUG-05
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

11
12
13
14
15
16
17
18
19
20

SAMPLE
SAMPLE
SAMPLE
SAMPLE
SAMPLE
SAMPLE
SAMPLE
SAMPLE
SAMPLE
SAMPLE

31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05

11 rows selected.
SQL>
2
3
4

INSERT INTO Sample03


(SampID, SampName, SampDate)
VALUES
(SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> SELECT SampleSeq03.CURRVAL FROM DUAL;
CURRVAL
---------2
SQL>

SELECT * FROM Sample03;

SAMPID
---------10
11
12
13
14
15
16
17
18
19
20

SAMPNAME
------------------------SAMPLE
SAMPLE
SAMPLE
SAMPLE
SAMPLE
SAMPLE
SAMPLE
SAMPLE
SAMPLE
SAMPLE
SAMPLE

SAMPDATE
--------31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05

SAMPID
---------0
1
2

SAMPNAME
------------------------SAMPLE
SAMPLE
SAMPLE

SAMPDATE
--------31-AUG-05
31-AUG-05
31-AUG-05

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

14 rows selected.
SQL> cl scr
SQL> CREATE TABLE Sample04
2 (
3
SampID
NUMBER(4)
4
SampName
VARCHAR2(25),
5
SampDate
DATE
6
);
(
*
ERROR at line 2:
ORA-00922: missing or invalid option

SQL> ED
Wrote file afiedt.buf
1 CREATE TABLE Sample04
2 (
3
SampID
NUMBER(4),
4
SampName
VARCHAR2(25),
5
SampDate
DATE
6* )
SQL> /
Table created.
SQL> cl scr
SQL>
2
3
4
5
6
7
8

CREATE SEQUENCE SampleSeq04


INCREMENT BY 10
START WITH 0
MINVALUE 0
MAXVALUE 100
NOCACHE
NOCYCLE
/

Sequence created.
SQL>
2
3
4

INSERT INTO Sample04


(SampID, SampName, SampDate)
VALUES
(SampleSeq04.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample04
(SampID, SampName, SampDate)
VALUES
(SampleSeq04.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL>
1
2
3
4*

R
INSERT INTO Sample04
(SampID, SampName, SampDate)
VALUES
(SampleSeq04.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample04
(SampID, SampName, SampDate)
VALUES
(SampleSeq04.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL> SELECT * FROM Sample04;
SAMPID
---------0
10
20
30

SAMPNAME
------------------------SAMPLE
SAMPLE
SAMPLE
SAMPLE

SAMPDATE
--------31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05

SQL> cl scr
SQL> CREATE TABLE Sample05
2 (
3
SampID
NUMBER(4),
4
SampName
VARCHAR2(25),
5
SampDate
DATE
6
);
Table created.
SQL>
2
3
4
5
6
7
8

CREATE SEQUENCE SampleSeq05


INCREMENT BY -1
START WITH 10
MINVALUE 0
MAXVALUE 10
NOCACHE
NOCYCLE
/

Sequence created.
SQL>
2
3
4

INSERT INTO Sample05


(SampID, SampName, SampDate)
VALUES
(SampleSeq05.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.
SQL> R
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1
2
3
4*

INSERT INTO Sample05


(SampID, SampName, SampDate)
VALUES
(SampleSeq05.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample05
(SampID, SampName, SampDate)
VALUES
(SampleSeq05.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL> SELECT * FROM Sample05;
SAMPID
---------10
9
8

SAMPNAME
------------------------SAMPLE
SAMPLE
SAMPLE

SAMPDATE
--------31-AUG-05
31-AUG-05
31-AUG-05

SQL> cl scr
SQL> CREATE TABLE Sample06
2 (
3
SampID
NUMBER(4),
4
SampName
VARCHAR2(25),
5
SampDate
DATE
6
);
Table created.
SQL>
2
3
4
5
6
7
8

CREATE SEQUENCE SampleSeq06


INCREMENT BY 1
START WITH 0
MINVALUE 0
MAXVALUE 20
NOCACHE
NOCYCLE
/

Sequence created.
SQL>
2
3
4

INSERT INTO Sample06


(SampID, SampName, SampDate)
VALUES
(SampleSeq06.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.
SQL>
1
2
3

R
INSERT INTO Sample06
(SampID, SampName, SampDate)
VALUES
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4* (SampleSeq06.NEXTVAL, 'SAMPLE', '31-AUG-05')


1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample06
(SampID, SampName, SampDate)
VALUES
(SampleSeq06.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL> SELECT SampleSeq06.NEXTVAL FROM DUAL;
NEXTVAL
---------3
SQL> R
1* SELECT SampleSeq06.NEXTVAL FROM DUAL
NEXTVAL
---------4
SQL> R
1* SELECT SampleSeq06.NEXTVAL FROM DUAL
NEXTVAL
---------5
SQL>
2
3
4

INSERT INTO Sample06


(SampID, SampName, SampDate)
VALUES
(SampleSeq06.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample06
(SampID, SampName, SampDate)
VALUES
(SampleSeq06.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample06
(SampID, SampName, SampDate)
VALUES
(SampleSeq06.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL> SELECT * FROM Sample06;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SAMPID
---------0
1
2
6
7
8

SAMPNAME
------------------------SAMPLE
SAMPLE
SAMPLE
SAMPLE
SAMPLE
SAMPLE

SAMPDATE
--------31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05
31-AUG-05

6 rows selected.
SQL> CREATE TABLE Sample07_1
2 (
3
SampID
NUMBER(4),
4
SampName
VARCHAR2(25),
5
SampDate
DATE
6
);
Table created.
SQL> ED
Wrote file afiedt.buf
1 CREATE TABLE Sample07_2
2 (
3
SampID
NUMBER(4),
4
SampName
VARCHAR2(25),
5
SampDate
DATE
6* )
SQL> /
Table created.
SQL> ED
Wrote file afiedt.buf
1 CREATE TABLE Sample07_3
2 (
3
SampID
NUMBER(4),
4
SampName
VARCHAR2(25),
5
SampDate
DATE
6* )
SQL> /
Table created.
SQL>
2
3
4
5
6
7
8

CREATE SEQUENCE SampleSeq07


INCREMENT BY 1
START WITH 0
MINVALUE 0
MAXVALUE 20
NOCACHE
NOCYCLE
/
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Sequence created.
SQL>
2
3
4

INSERT INTO Sample07_1


(SampID, SampName, SampDate)
VALUES
(SampleSeq07.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample07_1
(SampID, SampName, SampDate)
VALUES
(SampleSeq07.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample07_1
(SampID, SampName, SampDate)
VALUES
(SampleSeq07.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

INSERT INTO Sample07_2


(SampID, SampName, SampDate)
VALUES
(SampleSeq07.NEXTVAL, 'SAMPLE', '31-AUG-05')
/

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample07_2
(SampID, SampName, SampDate)
VALUES
(SampleSeq07.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample07_2
(SampID, SampName, SampDate)
VALUES
(SampleSeq07.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL> ED
Wrote file afiedt.buf
1

INSERT INTO Sample07_3


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2
3
4*
SQL>

(SampID, SampName, SampDate)


VALUES
(SampleSeq07.NEXTVAL, 'SAMPLE', '31-AUG-05')
/

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample07_3
(SampID, SampName, SampDate)
VALUES
(SampleSeq07.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL>
1
2
3
4*

R
INSERT INTO Sample07_3
(SampID, SampName, SampDate)
VALUES
(SampleSeq07.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
SQL> SELECT * FROM Sample07_1;
SAMPID
---------0
1
2

SAMPNAME
------------------------SAMPLE
SAMPLE
SAMPLE

SAMPDATE
--------31-AUG-05
31-AUG-05
31-AUG-05

SQL> SELECT * FROM Sample07_2;


SAMPID
---------3
4
5

SAMPNAME
------------------------SAMPLE
SAMPLE
SAMPLE

SAMPDATE
--------31-AUG-05
31-AUG-05
31-AUG-05

SQL> SELECT * FROM Sample07_3;


SAMPID
---------6
7
8

SAMPNAME
------------------------SAMPLE
SAMPLE
SAMPLE

SAMPDATE
--------31-AUG-05
31-AUG-05
31-AUG-05

SQL> SPOOL OFF


SQL> cl scr
SQL> DESC USER_OBJECTS
Name
Null?
Type
----------------------------------------- -------- ---------------------------OBJECT_NAME
VARCHAR2(128)
SUBOBJECT_NAME
VARCHAR2(30)
OBJECT_ID
NUMBER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

DATA_OBJECT_ID
OBJECT_TYPE
CREATED
LAST_DDL_TIME
TIMESTAMP
STATUS
TEMPORARY
GENERATED
SECONDARY
SQL>
SQL>
SQL>
2
3

NUMBER
VARCHAR2(19)
DATE
DATE
VARCHAR2(19)
VARCHAR2(7)
VARCHAR2(1)
VARCHAR2(1)
VARCHAR2(1)

COLUMN OBJECT_NAME FORMAT A25


COLUMN OBJECT_TYPE FORMAT A20
SELECT OBJECT_NAME, OBJECT_TYPE
FROM USER_OBJECTS
ORDER BY OBJECT_TYPE;

OBJECT_NAME
------------------------SAMPID_PK01
SAMPID_PK02
EMP_PRIMARY_KEY
DEPT_PRIMARY_KEY
ORD_PRIMARY_KEY
PRODUCT_PRIMARY_KEY
PRICE_INDEX
ITEM_PRIMARY_KEY
CUSTOMER_PRIMARY_KEY
ORDID
PRODID

OBJECT_TYPE
-------------------INDEX
INDEX
INDEX
INDEX
INDEX
INDEX
INDEX
INDEX
INDEX
SEQUENCE
SEQUENCE

OBJECT_NAME
------------------------SAMPLESEQ03
SAMPLESEQ05
SAMPLESEQ07
SAMPLESEQ06
SAMPLESEQ04
SAMPLESEQ02
SAMPLESEQ01
CUSTID
SAMPLE
PRICE
PRODUCT

OBJECT_TYPE
-------------------SEQUENCE
SEQUENCE
SEQUENCE
SEQUENCE
SEQUENCE
SEQUENCE
SEQUENCE
SEQUENCE
TABLE
TABLE
TABLE

OBJECT_NAME
OBJECT_TYPE
------------------------- -------------------BONUS
TABLE
EMP
TABLE
DEPT
TABLE
SAMPLE07_3
TABLE
SAMPLE07_2
TABLE
SAMPLE07_1
TABLE
SAMPLE06
TABLE
SAMPLE05
TABLE
SAMPLE04
TABLE
ITEM
TABLE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ORD

TABLE

OBJECT_NAME
------------------------CUSTOMER
DUMMY
SALGRADE
SAMPLE03
SAMPLE02
STUDENTS
SAMPLETAB
SAMPLESP
SAMPLEINS
SAMPLE01
SALES

OBJECT_TYPE
-------------------TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
VIEW

44 rows selected.
SQL> cl scr
SQL> DESC USER_SEQUENCES
Name
----------------------------------------SEQUENCE_NAME
MIN_VALUE
MAX_VALUE
INCREMENT_BY
CYCLE_FLAG
ORDER_FLAG
CACHE_SIZE
LAST_NUMBER

Null?
Type
-------- ---------------------------NOT NULL VARCHAR2(30)
NUMBER
NUMBER
NOT NULL NUMBER
VARCHAR2(1)
VARCHAR2(1)
NOT NULL NUMBER
NOT NULL NUMBER

SQL> COLUMN SEQUENCE_NAME FORMAT A15


SQL> COLUMN MIN_VALUE FORMAT 99
SQL> COLUMN MAX_VALUE FORMAT 999
SQL> COLUMN INCREMENT_BY FORMAT 999
SQL> COLUMN LAST_NUMBER FORMAT 99
SQL> SELECT SEQUENCE_NAME, MIN_VALUE, MAX_VALUE, INCREMENT_BY, LAST_NUMBER
2 FROM USER_SEQUENCES
3 WHERE SEQUENCE_NAME = 'SAMPLESEQ0'||'&GVal';
Enter value for gval: 1
SEQUENCE_NAME
MIN_VALUE MAX_VALUE INCREMENT_BY LAST_NUMBER
--------------- --------- --------- ------------ ----------SAMPLESEQ01
0
5
1
6
SQL> SELECT SAMPLESEQ01.CURRVAL FROM DUAL;
SELECT SAMPLESEQ01.CURRVAL FROM DUAL
*
ERROR at line 1:
ORA-08002: sequence SAMPLESEQ01.CURRVAL is not yet defined in this session

SQL> SELECT SAMPLESEQ01.NEXTVAL FROM DUAL;


SELECT SAMPLESEQ01.NEXTVAL FROM DUAL
*
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ERROR at line 1:
ORA-08004: sequence SAMPLESEQ01.NEXTVAL exceeds MAXVALUE and cannot be
instantiated

SQL> SELECT SAMPLESEQ01.CURRVAL FROM DUAL;


SELECT SAMPLESEQ01.CURRVAL FROM DUAL
*
ERROR at line 1:
ORA-08002: sequence SAMPLESEQ01.CURRVAL is not yet defined in this session

SQL> cl scr
SQL>
2
3
4

SELECT Ename, Sal, Deptno, Job


FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR;

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
BLAKE
2850
30 MANAGER
MARTIN
1250
30 SALESMAN
ALLEN
1600
30 SALESMAN
TURNER
1500
30 SALESMAN
JAMES
950
30 CLERK
WARD
1250
30 SALESMAN
CLARK
2450
10 MANAGER
MILLER
1300
10 CLERK
JONES
2975
20 MANAGER
FORD
3000
20 ANALYST
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------SMITH
800
20 CLERK
SCOTT
3000
20 ANALYST
ADAMS
1100
20 CLERK
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT LEVEL, Ename, Sal, Deptno, Job


FROM Emp
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
/

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

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
BLAKE
2850
30 MANAGER
MARTIN
1250
30 SALESMAN
ALLEN
1600
30 SALESMAN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3
3
3
2
3
2
3
LEVEL
---------4
3
4

TURNER
JAMES
WARD
CLARK
MILLER
JONES
FORD

1500
950
1250
2450
1300
2975
3000

30
30
30
10
10
20
20

SALESMAN
CLERK
SALESMAN
MANAGER
CLERK
MANAGER
ANALYST

ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------SMITH
800
20 CLERK
SCOTT
3000
20 ANALYST
ADAMS
1100
20 CLERK

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2*
3
FROM

SELECT LEVEL, Ename, Sal, Deptno, Job


FROM Emp
/
Emp
*
ERROR at line 2:
ORA-01788: CONNECT BY clause required in this query block

SQL> cl scr
SQL>
SQL>
2
3
4
5
6

COLUMN Org_Level FORMAT A15


SELECT
LPAD(LEVEL, ((2 * LEVEL) - 1)) Org_Level,
Ename, Empno, Mgr, Job
FROM Emp
START WITH Job = 'PRESIDENT'
CONNECT BY PRIOR Empno = MGR;

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

ENAME
EMPNO
MGR JOB
---------- ---------- ---------- --------KING
7839
PRESIDENT
BLAKE
7698
7839 MANAGER
MARTIN
7654
7698 SALESMAN
ALLEN
7499
7698 SALESMAN
TURNER
7844
7698 SALESMAN
JAMES
7900
7698 CLERK
WARD
7521
7698 SALESMAN
CLARK
7782
7839 MANAGER
MILLER
7934
7782 CLERK
JONES
7566
7839 MANAGER
FORD
7902
7566 ANALYST

ORG_LEVEL
ENAME
EMPNO
MGR JOB
--------------- ---------- ---------- ---------- --------4
SMITH
7369
7902 CLERK
3
SCOTT
7788
7566 ANALYST
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ADAMS

7876

7788 CLERK

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename
3 FROM Emp
4 START WITH Job = 'PRESIDENT'
5* CONNECT BY PRIOR Empno = MGR
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename
FROM Emp
START WITH Job = 'PRESIDENT'
CONNECT BY PRIOR Empno = MGR
/

Org_Level, Empno, Mgr, Job

Org_Level, Empno, Mgr, Job

ORG_LEVEL
EMPNO
MGR JOB
--------------- ---------- ---------- --------1 KING
7839
PRESIDENT
2 BLAKE
7698
7839 MANAGER
3 MARTIN
7654
7698 SALESMAN
3 ALLEN
7499
7698 SALESMAN
3 TURNER
7844
7698 SALESMAN
3 JAMES
7900
7698 CLERK
3 WARD
7521
7698 SALESMAN
2 CLARK
7782
7839 MANAGER
3 MILLER
7934
7782 CLERK
2 JONES
7566
7839 MANAGER
3 FORD
7902
7566 ANALYST
ORG_LEVEL
EMPNO
MGR JOB
--------------- ---------- ---------- --------4 SMITH
7369
7902 CLERK
3 SCOTT
7788
7566 ANALYST
4 ADAMS
7876
7788 CLERK
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
LPAD(' ', ((2 * LEVEL) - 1))||Ename
FROM Emp
START WITH Job = 'PRESIDENT'
CONNECT BY PRIOR Empno = MGR
/

Org_Level, Empno, Mgr, Job

ORG_LEVEL
EMPNO
MGR JOB
--------------- ---------- ---------- --------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

KING
BLAKE
MARTIN
ALLEN
TURNER
JAMES
WARD
CLARK
MILLER
JONES
FORD

7839
7698
7654
7499
7844
7900
7521
7782
7934
7566
7902

7839
7698
7698
7698
7698
7698
7839
7782
7839
7566

PRESIDENT
MANAGER
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
MANAGER
CLERK
MANAGER
ANALYST

ORG_LEVEL
EMPNO
MGR JOB
--------------- ---------- ---------- --------SMITH
7369
7902 CLERK
SCOTT
7788
7566 ANALYST
ADAMS
7876
7788 CLERK
14 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7

SELECT
LPAD(' ', ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
Empno, MGR, Job , Sal
FROM Emp
WHERE Job != 'ANALYST'
START WITH Job = 'PRESIDENT'
CONNECT BY PRIOR Empno = MGR;

ORG_CHART
-------------------------------------------------------------------------------EMPNO
MGR JOB
SAL
---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
MARTIN
7654

7839 MANAGER

2850

7698 SALESMAN

1250

ORG_CHART
-------------------------------------------------------------------------------EMPNO
MGR JOB
SAL
---------- ---------- --------- ---------ALLEN
7499
7698 SALESMAN
1600
TURNER
7844
JAMES
7900

7698 SALESMAN

1500

7698 CLERK
950
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ORG_CHART
-------------------------------------------------------------------------------EMPNO
MGR JOB
SAL
---------- ---------- --------- ---------WARD
7521
7698 SALESMAN
1250
CLARK
7782
MILLER
7934

7839 MANAGER

2450

7782 CLERK

1300

ORG_CHART
-------------------------------------------------------------------------------EMPNO
MGR JOB
SAL
---------- ---------- --------- ---------JONES
7566
7839 MANAGER
2975
SMITH
7369

7902 CLERK

800

ADAMS
7876

7788 CLERK

1100

12 rows selected.
SQL> COLUMN Org_Chart FORMAT A20
SQL> /
ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
7839 MANAGER
2850
MARTIN
7654
7698 SALESMAN
1250
ALLEN
7499
7698 SALESMAN
1600
TURNER
7844
7698 SALESMAN
1500
JAMES
7900
7698 CLERK
950
WARD
7521
7698 SALESMAN
1250
CLARK
7782
7839 MANAGER
2450
MILLER
7934
7782 CLERK
1300
JONES
7566
7839 MANAGER
2975
SMITH
7369
7902 CLERK
800
ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------ADAMS
7876
7788 CLERK
1100
12 rows selected.
SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf


1
2
3
4
5
6
7*
SQL>

SELECT
LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
Empno, MGR, Job , Sal
FROM Emp
WHERE Job != 'ANALYST'
START WITH Job = 'PRESIDENT'
CONNECT BY PRIOR Empno = MGR
/

ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------1 KING
7839
PRESIDENT
5000
2 BLAKE
7698
7839 MANAGER
2850
3 MARTIN
7654
7698 SALESMAN
1250
3 ALLEN
7499
7698 SALESMAN
1600
3 TURNER
7844
7698 SALESMAN
1500
3 JAMES
7900
7698 CLERK
950
3 WARD
7521
7698 SALESMAN
1250
2 CLARK
7782
7839 MANAGER
2450
3 MILLER
7934
7782 CLERK
1300
2 JONES
7566
7839 MANAGER
2975
4 SMITH
7369
7902 CLERK
800
ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------4 ADAMS
7876
7788 CLERK
1100
12 rows selected.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT
LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
Empno, MGR, Job , Sal
FROM Emp
START WITH Ename = 'BLAKE'
CONNECT BY PRIOR Empno = MGR
/

ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------1 BLAKE
7698
7839 MANAGER
2850
2 MARTIN
7654
7698 SALESMAN
1250
2 ALLEN
7499
7698 SALESMAN
1600
2 TURNER
7844
7698 SALESMAN
1500
2 JAMES
7900
7698 CLERK
950
2 WARD
7521
7698 SALESMAN
1250
6 rows selected.
SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf


1
2
3
4
5
6*
SQL>

SELECT
LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
Empno, MGR, Job , Sal
FROM Emp
START WITH Ename = 'JONES'
CONNECT BY PRIOR Empno = MGR
/

ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------1 JONES
7566
7839 MANAGER
2975
2 FORD
7902
7566 ANALYST
3000
3 SMITH
7369
7902 CLERK
800
2 SCOTT
7788
7566 ANALYST
3000
3 ADAMS
7876
7788 CLERK
1100
SQL> cl scr
SQL>
2
3
4
5
6
7

SELECT
LPAD(' ', ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
Empno, MGR, Job, Sal
FROM Emp
START WITH Job = 'PRESIDENT'
CONNECT BY PRIOR Empno = MGR
AND LEVEL <= 2;

ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
7839 MANAGER
2850
CLARK
7782
7839 MANAGER
2450
JONES
7566
7839 MANAGER
2975
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
8

SELECT
LPAD(' ', ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
Empno, MGR, Job, Sal
FROM Emp
WHERE LEVEL <= 2
START WITH Job = 'PRESIDENT'
CONNECT BY PRIOR Empno = MGR
/

ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
7839 MANAGER
2850
CLARK
7782
7839 MANAGER
2450
JONES
7566
7839 MANAGER
2975
SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1
2
3
4
5
6
7*
SQL>

SELECT
LPAD(' ', ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
Empno, MGR, Job, Sal
FROM Emp
WHERE LEVEL = 2
START WITH Job = 'PRESIDENT'
CONNECT BY PRIOR Empno = MGR
/

ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------BLAKE
7698
7839 MANAGER
2850
CLARK
7782
7839 MANAGER
2450
JONES
7566
7839 MANAGER
2975
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 LPAD(' ', ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, MGR, Job, Sal
4 FROM Emp
5 START WITH Job = 'PRESIDENT'
6 CONNECT BY PRIOR Empno = MGR
7* LEVEL = 2
SQL> /
LEVEL = 2
*
ERROR at line 7:
ORA-00933: SQL command not properly ended

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT
LPAD(' ', ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
Empno, MGR, Job, Sal
FROM Emp
START WITH Job = 'PRESIDENT'
CONNECT BY PRIOR Empno = MGR AND
LEVEL = 2
/

ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
7839 MANAGER
2850
CLARK
7782
7839 MANAGER
2450
JONES
7566
7839 MANAGER
2975
SQL> ED
Wrote file afiedt.buf
1

SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2
3
4
5
6
7*
SQL>
SQL>

LPAD(' ', ((2 * LEVEL) - 1))||' '||Ename Org_Chart,


Empno, MGR, Job, Sal
FROM Emp
START WITH Job = 'PRESIDENT'
CONNECT BY PRIOR Empno = MGR AND
LEVEL = 2
SPOOL OFF
cl scr

SQL> COLUMN Org_Chart FORMAT A20


SQL> cl scr
SQL>
2
3
4
5
6
7

SELECT
LPAD(' ', ((2 * LEVEL) - 1))||Ename Org_Chart,
Empno, MGR, Job, Sal
FROM Emp
START WITH Job = 'PRESIDENT'
CONNECT BY NOCYCLE PRIOR Empno = MGR
AND LEVEL = 2;

ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------KING
7839
PRESIDENT
5000
BLAKE
7698
7839 MANAGER
2850
CLARK
7782
7839 MANAGER
2450
JONES
7566
7839 MANAGER
2975
SQL> cl scr
SQL>
2
3
4
5
6
7

SELECT
LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
Empno, MGR, Job, Sal
FROM Emp
START WITH Job = 'PRESIDENT'
CONNECT BY NOCYCLE PRIOR Empno = MGR
AND LEVEL IN(2, 4);

ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------1 KING
7839
PRESIDENT
5000
2 BLAKE
7698
7839 MANAGER
2850
2 CLARK
7782
7839 MANAGER
2450
2 JONES
7566
7839 MANAGER
2975
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT
LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
Empno, MGR, Job, Sal
FROM Emp
START WITH Job = 'PRESIDENT'
CONNECT BY NOCYCLE PRIOR Empno = MGR
AND LEVEL IN(2, 3, 4)
/
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------1 KING
7839
PRESIDENT
5000
2 BLAKE
7698
7839 MANAGER
2850
3 MARTIN
7654
7698 SALESMAN
1250
3 ALLEN
7499
7698 SALESMAN
1600
3 TURNER
7844
7698 SALESMAN
1500
3 JAMES
7900
7698 CLERK
950
3 WARD
7521
7698 SALESMAN
1250
2 CLARK
7782
7839 MANAGER
2450
3 MILLER
7934
7782 CLERK
1300
2 JONES
7566
7839 MANAGER
2975
3 FORD
7902
7566 ANALYST
3000
ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------4 SMITH
7369
7902 CLERK
800
3 SCOTT
7788
7566 ANALYST
3000
4 ADAMS
7876
7788 CLERK
1100
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
8

SELECT
LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
Empno, MGR, Job, Sal
FROM Emp
WHERE LEVEL IN(2, 4)
START WITH Job = 'PRESIDENT'
CONNECT BY NOCYCLE PRIOR Empno = MGR
/

ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------2 BLAKE
7698
7839 MANAGER
2850
2 CLARK
7782
7839 MANAGER
2450
2 JONES
7566
7839 MANAGER
2975
4 SMITH
7369
7902 CLERK
800
4 ADAMS
7876
7788 CLERK
1100
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT
LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
Empno, MGR, Job, Sal
FROM Emp
WHERE LEVEL NOT IN(2, 4)
START WITH Job = 'PRESIDENT'
CONNECT BY NOCYCLE PRIOR Empno = MGR
/

ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1 KING
3 MARTIN
3 ALLEN
3 TURNER
3 JAMES
3 WARD
3 MILLER
3 FORD
3 SCOTT

7839
7654
7499
7844
7900
7521
7934
7902
7788

7698
7698
7698
7698
7698
7782
7566
7566

PRESIDENT
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
CLERK
ANALYST
ANALYST

5000
1250
1600
1500
950
1250
1300
3000
3000

9 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7

SELECT
LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
Empno, MGR, Job, Sal
FROM Emp
WHERE MOD(LEVEL, 2) = 0
START WITH Job = 'PRESIDENT'
CONNECT BY NOCYCLE PRIOR Empno = MGR;

ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------2 BLAKE
7698
7839 MANAGER
2850
2 CLARK
7782
7839 MANAGER
2450
2 JONES
7566
7839 MANAGER
2975
4 SMITH
7369
7902 CLERK
800
4 ADAMS
7876
7788 CLERK
1100
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT
LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
Empno, MGR, Job, Sal
FROM Emp
WHERE MOD(LEVEL, 2) = 1
START WITH Job = 'PRESIDENT'
CONNECT BY NOCYCLE PRIOR Empno = MGR
/

ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------1 KING
7839
PRESIDENT
5000
3 MARTIN
7654
7698 SALESMAN
1250
3 ALLEN
7499
7698 SALESMAN
1600
3 TURNER
7844
7698 SALESMAN
1500
3 JAMES
7900
7698 CLERK
950
3 WARD
7521
7698 SALESMAN
1250
3 MILLER
7934
7782 CLERK
1300
3 FORD
7902
7566 ANALYST
3000
3 SCOTT
7788
7566 ANALYST
3000
9 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL>
2
3
4
5
6
7

SELECT
LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
Empno, MGR, Job, Sal
FROM Emp
WHERE LEVEL BETWEEN 2 AND 4
START WITH Job = 'PRESIDENT'
CONNECT BY NOCYCLE PRIOR Empno = MGR;

ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------2 BLAKE
7698
7839 MANAGER
2850
3 MARTIN
7654
7698 SALESMAN
1250
3 ALLEN
7499
7698 SALESMAN
1600
3 TURNER
7844
7698 SALESMAN
1500
3 JAMES
7900
7698 CLERK
950
3 WARD
7521
7698 SALESMAN
1250
2 CLARK
7782
7839 MANAGER
2450
3 MILLER
7934
7782 CLERK
1300
2 JONES
7566
7839 MANAGER
2975
3 FORD
7902
7566 ANALYST
3000
4 SMITH
7369
7902 CLERK
800
ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------3 SCOTT
7788
7566 ANALYST
3000
4 ADAMS
7876
7788 CLERK
1100
13 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11

SELECT
LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
Empno, MGR, Job, Sal
FROM Emp
WHERE Sal = (SELECT MAX(Sal)
FROM Emp
WHERE LEVEL = 2
START WITH Job = 'PRESIDENT'
CONNECT BY PRIOR Empno = MGR)
START WITH Job = 'PRESIDENT'
CONNECT BY NOCYCLE PRIOR Empno = MGR;

ORG_CHART
EMPNO
MGR JOB
SAL
-------------------- ---------- ---------- --------- ---------2 JONES
7566
7839 MANAGER
2975
SQL> cl scr
SQL>
2
3
4
5
6
7

SELECT
LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
Empno, Dept.Deptno, Dname, Sal
FROM Emp, Dept
WHERE Sal > (SELECT MAX(Sal)
FROM Emp
WHERE LEVEL = 2
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

8
START WITH Job = 'PRESIDENT'
9
CONNECT BY PRIOR Empno = MGR) AND Dept.Deptno =
Emp.Deptno
10 START WITH Job = 'PRESIDENT'
11 CONNECT BY NOCYCLE PRIOR Empno = MGR;
ORG_CHART
EMPNO
DEPTNO DNAME
SAL
-------------------- ---------- ---------- -------------- ---------1 KING
7839
10 ACCOUNTING
5000
3 SCOTT
7788
20 RESEARCH
3000
3 FORD
7902
20 RESEARCH
3000
SQL> SELECT
2 LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, Dept.Deptno, Dname, Sal, Grade
4 FROM Emp, Dept, SalGrade
5 WHERE Sal > (SELECT MAX(Sal)
6
FROM Emp
7
WHERE LEVEL = 2
8
START WITH Job = 'PRESIDENT'
9
CONNECT BY PRIOR Empno = MGR) AND Dept.Deptno =
Emp.Deptno AND
10
Sal BETWEEN Losal AND HiSal
11 START WITH Job = 'PRESIDENT'
12 CONNECT BY NOCYCLE PRIOR Empno = MGR;
ORG_CHART
EMPNO
DEPTNO DNAME
SAL
GRADE
-------------------- ---------- ---------- -------------- ---------- ---------1 KING
7839
10 ACCOUNTING
5000
5
3 FORD
7902
20 RESEARCH
3000
4
3 SCOTT
7788
20 RESEARCH
3000
4
SQL> cl scr
SQL>
2
3
4

SELECT LEVEL, MAX(Sal)


FROM EMP
CONNECT BY PRIOR Sal > Sal
GROUP BY LEVEL;

LEVEL
MAX(SAL)
---------- ---------1
5000
2
3000
3
2975
4
2850
5
2450
6
1600
7
1500
8
1300
9
1250
10
1100
11
950
LEVEL
MAX(SAL)
---------- ---------12
800
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

12 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT LEVEL, MIN(Sal)


FROM EMP
CONNECT BY PRIOR Sal < Sal
GROUP BY LEVEL
/

LEVEL
MIN(SAL)
---------- ---------1
800
2
950
3
1100
4
1250
5
1300
6
1500
7
1600
8
2450
9
2850
10
2975
11
3000
LEVEL
MIN(SAL)
---------- ---------12
5000
12 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT MIN(Sal)
FROM EMP
GROUP BY Sal
/

MIN(SAL)
---------800
950
1100
1250
1300
1500
1600
2450
2850
2975
3000
MIN(SAL)
---------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

5000
12 rows selected.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1 SELECT LEVEL, MAX(Ename)
2 FROM EMP
3 CONNECT BY PRIOR Ename > Ename
4* GROUP BY LEVEL;
SQL> /
GROUP BY LEVEL;
*
ERROR at line 4:
ORA-00911: invalid character

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT LEVEL, MAX(Ename)


FROM EMP
CONNECT BY PRIOR Ename > Ename
GROUP BY LEVEL
/

LEVEL
---------1
2
3
4
5
6
7
8
9
10
11

MAX(ENAME)
---------WARD
TURNER
SMITH
SCOTT
MILLER
MARTIN
KING
JONES
JAMES
FORD
CLARK

LEVEL
---------12
13
14

MAX(ENAME)
---------BLAKE
ALLEN
ADAMS

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2

SELECT LEVEL, MIN(Ename)


FROM EMP
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3 CONNECT BY PRIOR Ename < Ename


4* GROUP BY LEVEL
SQL> /
LEVEL
---------1
2
3
4
5
6
7
8
9
10
11

MIN(ENAME)
---------ADAMS
ALLEN
BLAKE
CLARK
FORD
JAMES
JONES
KING
MARTIN
MILLER
SCOTT

LEVEL
---------12
13
14

MIN(ENAME)
---------SMITH
TURNER
WARD

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT LEVEL, MIN(HireDate)


FROM EMP
CONNECT BY PRIOR HireDate < HireDate
GROUP BY LEVEL
/

LEVEL
---------1
2
3
4
5
6
7
8
9
10
11

MIN(HIRED
--------17-DEC-80
20-FEB-81
22-FEB-81
02-APR-81
01-MAY-81
09-JUN-81
08-SEP-81
28-SEP-81
17-NOV-81
03-DEC-81
23-JAN-82

LEVEL
---------12
13

MIN(HIRED
--------09-DEC-82
12-JAN-83

13 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT LEVEL, MAX(HireDate)


FROM EMP
CONNECT BY PRIOR HireDate < HireDate
GROUP BY LEVEL
/

LEVEL
---------1
2
3
4
5
6
7
8
9
10
11

MAX(HIRED
--------12-JAN-83
12-JAN-83
12-JAN-83
12-JAN-83
12-JAN-83
12-JAN-83
12-JAN-83
12-JAN-83
12-JAN-83
12-JAN-83
12-JAN-83

LEVEL
---------12
13

MAX(HIRED
--------12-JAN-83
12-JAN-83

13 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT LEVEL, MAX(HireDate)


FROM EMP
CONNECT BY PRIOR HireDate > HireDate
GROUP BY LEVEL
/

LEVEL
---------1
2
3
4
5
6
7
8
9
10
11

MAX(HIRED
--------12-JAN-83
09-DEC-82
23-JAN-82
03-DEC-81
17-NOV-81
28-SEP-81
08-SEP-81
09-JUN-81
01-MAY-81
02-APR-81
22-FEB-81

LEVEL MAX(HIRED
---------- --------12 20-FEB-81
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

13 17-DEC-80
13 rows selected.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT LEVEL, MAX(Ename), MAX(HireDate)


FROM EMP
CONNECT BY PRIOR HireDate > HireDate
GROUP BY LEVEL
/

LEVEL
---------1
2
3
4
5
6
7
8
9
10
11

MAX(ENAME)
---------WARD
WARD
WARD
WARD
WARD
WARD
WARD
WARD
WARD
WARD
WARD

MAX(HIRED
--------12-JAN-83
09-DEC-82
23-JAN-82
03-DEC-81
17-NOV-81
28-SEP-81
08-SEP-81
09-JUN-81
01-MAY-81
02-APR-81
22-FEB-81

LEVEL
---------12
13

MAX(ENAME)
---------SMITH
SMITH

MAX(HIRED
--------20-FEB-81
17-DEC-80

13 rows selected.
SQL> cl scr
SQL>
2
3
4

SELECT LEVEL, MAX(Sal)


FROM EMP
CONNECT BY PRIOR Sal > Sal
GROUP BY LEVEL;

LEVEL
MAX(SAL)
---------- ---------1
5000
2
3000
3
2975
4
2850
5
2450
6
1600
7
1500
8
1300
9
1250
10
1100
11
950
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

LEVEL
MAX(SAL)
---------- ---------12
800
12 rows selected.
SQL> cl scr
SQL> SELECT LEVEL, MAX(Sal)
2 FROM EMP
3 WHERE LEVEL = &LEVELNO
4 CONNECT BY PRIOR Sal > Sal
5 GROUP BY LEVEL;
Enter value for levelno: 1
LEVEL
MAX(SAL)
---------- ---------1
5000
SQL> /
Enter value for levelno: 2
LEVEL
MAX(SAL)
---------- ---------2
3000
SQL> /
Enter value for levelno: 3
LEVEL
MAX(SAL)
---------- ---------3
2975
SQL> SELECT Ename, Sal, Deptno, Job
2 FROM Emp
3 WHERE Sal = (SELECT MAX(Sal)
4
FROM EMP
5
WHERE LEVEL = &LEVELNO
6
CONNECT BY PRIOR Sal > Sal
7
GROUP BY LEVEL);
Enter value for levelno: 1
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
SQL> /
Enter value for levelno: 2
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------FORD
3000
20 ANALYST
SCOTT
3000
20 ANALYST
SQL> /
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Enter value for levelno: 3


ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------JONES
2975
20 MANAGER
SQL> cl scr
SQL> SELECT LEVEL, MIN(Sal)
2 FROM EMP
3 WHERE LEVEL = &LEVELNO
4 CONNECT BY PRIOR Sal < Sal
5 GROUP BY LEVEL;
Enter value for levelno: 1
LEVEL
MIN(SAL)
---------- ---------1
800
SQL> /
Enter value for levelno: 2
LEVEL
MIN(SAL)
---------- ---------2
950
SQL> SELECT Ename, Sal, Deptno, Job
2 FROM Emp
3 WHERE Sal = (SELECT MIN(Sal)
4
FROM EMP
5
WHERE LEVEL = &LEVELNO
6
CONNECT BY PRIOR Sal < Sal
7
GROUP BY LEVEL);
Enter value for levelno: 1
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------SMITH
800
20 CLERK
SQL> /
Enter value for levelno: 2
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------JAMES
950
30 CLERK
SQL> /
Enter value for levelno: 3
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------ADAMS
1100
20 CLERK
SQL> cl scr
SQL> SELECT LEVEL, MIN(HireDate) Senior
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2 FROM EMP
3 WHERE LEVEL = &LEVELNO
4 CONNECT BY PRIOR HireDate < HireDate
5 GROUP BY LEVEL;
Enter value for levelno: 1
LEVEL SENIOR
---------- --------1 17-DEC-80
SQL> /
Enter value for levelno: 5
LEVEL SENIOR
---------- --------5 01-MAY-81
SQL> SELECT Ename, Sal, HireDate
2 FROm Emp
3 WHERE HireDate = (SELECT MIN(HireDate)
4
FROM EMP
5
WHERE LEVEL = &LEVELNO
6
CONNECT BY
7
PRIOR HireDate < HireDate
8
GROUP BY LEVEL);
Enter value for levelno: 1
ENAME
SAL HIREDATE
---------- ---------- --------SMITH
800 17-DEC-80
SQL> /
Enter value for levelno: 6
ENAME
SAL HIREDATE
---------- ---------- --------CLARK
2450 09-JUN-81
SQL> /
Enter value for levelno: 2
ENAME
SAL HIREDATE
---------- ---------- --------ALLEN
1600 20-FEB-81
SQL> cl scr
SQL>
SQL>
2
3
4
5
6
7
8

COLUMN "Path" FORMAT A30


SELECT
Ename Employee,
CONNECT_BY_ROOT Ename "Manager",
LEVEL - 1 "Pathlen",
SYS_CONNECT_BY_PATH(Ename, '/') "Path"
FROM Emp
WHERE LEVEL > 1 AND Deptno = &Deptno
CONNECT BY PRIOR Empno = MGR;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Enter value for deptno: 20


EMPLOYEE
---------SMITH
ADAMS
FORD
SMITH
SCOTT
ADAMS
JONES
FORD
SMITH
SCOTT
ADAMS

Manager
Pathlen Path
---------- ---------- -----------------------------FORD
1 /FORD/SMITH
SCOTT
1 /SCOTT/ADAMS
JONES
1 /JONES/FORD
JONES
2 /JONES/FORD/SMITH
JONES
1 /JONES/SCOTT
JONES
2 /JONES/SCOTT/ADAMS
KING
1 /KING/JONES
KING
2 /KING/JONES/FORD
KING
3 /KING/JONES/FORD/SMITH
KING
2 /KING/JONES/SCOTT
KING
3 /KING/JONES/SCOTT/ADAMS

11 rows selected.
SQL> cl scr
SQL> SELECT
2 Name,
3 SUM(Sal) "Total Salary"
4 FROM (
5
SELECT
6
CONNECT_BY_ROOT Ename AS Name,
7
Sal
8
FROM Emp
9
WHERE Deptno = &GiveDeptno
10
CONNECT BY PRIOR Empno = MGR
11
)
12 GROUP BY Name;
Enter value for givedeptno: 20
NAME
Total Salary
---------- -----------ADAMS
1100
FORD
3800
JONES
10875
KING
10875
SCOTT
4100
SMITH
800
6 rows selected.
SQL> SELECT SUM(Sal) FROm Emp;
SUM(SAL)
---------29025
SQL> cl ascr
SP2-0158: unknown CLEAR option "ascr"
SQL> cl scr
SQL> SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2 Ename Employee,
3 CONNECT_BY_ROOT Empno "Root",
4 LEVEL,
5 SYS_CONNECT_BY_PATH(Ename, '/') NamePath
6 FROM Emp
7 WHERE Level <= 4 AND Deptno = &GiveDeptno
8 START WITH Ename = 'KING'
9 CONNECT BY NOCYCLE PRIOR Empno = MGR AND
10 LEVEL <= 4;
Enter value for givedeptno: 30
EMPLOYEE
Root
LEVEL
---------- ---------- ---------NAMEPATH
-------------------------------------------------------------------------------BLAKE
7839
2
/KING/BLAKE
MARTIN
7839
/KING/BLAKE/MARTIN

ALLEN
7839
/KING/BLAKE/ALLEN

EMPLOYEE
Root
LEVEL
---------- ---------- ---------NAMEPATH
-------------------------------------------------------------------------------TURNER
7839
3
/KING/BLAKE/TURNER
JAMES
7839
/KING/BLAKE/JAMES

WARD
7839
/KING/BLAKE/WARD

6 rows selected.
SQL> COLUMN NAMEPATH FORMAT A30
SQL> /
Enter value for givedeptno: 30
EMPLOYEE
Root
LEVEL NAMEPATH
---------- ---------- ---------- -----------------------------BLAKE
7839
2 /KING/BLAKE
MARTIN
7839
3 /KING/BLAKE/MARTIN
ALLEN
7839
3 /KING/BLAKE/ALLEN
TURNER
7839
3 /KING/BLAKE/TURNER
JAMES
7839
3 /KING/BLAKE/JAMES
WARD
7839
3 /KING/BLAKE/WARD
6 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> SELECT ROWNUM, Ename, Sal, Deptno
2 FROM Emp;
ROWNUM
---------1
2
3
4
5
6
7
8
9
10
11

ENAME
SAL
DEPTNO
---------- ---------- ---------KING
5000
10
BLAKE
2850
30
CLARK
2450
10
JONES
2975
20
MARTIN
1250
30
ALLEN
1600
30
TURNER
1500
30
JAMES
950
30
WARD
1250
30
FORD
3000
20
SMITH
800
20

ROWNUM
---------12
13
14

ENAME
SAL
DEPTNO
---------- ---------- ---------SCOTT
3000
20
ADAMS
1100
20
MILLER
1300
10

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT ROWNUM, Ename, Sal, Deptno


FROM Emp
WHERE Deptno = 30
/

ROWNUM
---------1
2
3
4
5
6

ENAME
SAL
DEPTNO
---------- ---------- ---------BLAKE
2850
30
MARTIN
1250
30
ALLEN
1600
30
TURNER
1500
30
JAMES
950
30
WARD
1250
30

6 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT ROWNUM, Ename, Sal, Deptno


FROM Emp
WHERE Deptno = 10
/

ROWNUM ENAME
SAL
DEPTNO
---------- ---------- ---------- ---------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1 KING
2 CLARK
3 MILLER

5000
2450
1300

10
10
10

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT ROWNUM, Ename, Sal, Deptno


FROM Emp
ORDER BY Sal
/

ROWNUM
---------11
8
13
5
9
14
7
6
3
2
4

ENAME
SAL
DEPTNO
---------- ---------- ---------SMITH
800
20
JAMES
950
30
ADAMS
1100
20
MARTIN
1250
30
WARD
1250
30
MILLER
1300
10
TURNER
1500
30
ALLEN
1600
30
CLARK
2450
10
BLAKE
2850
30
JONES
2975
20

ROWNUM
---------10
12
1

ENAME
SAL
DEPTNO
---------- ---------- ---------FORD
3000
20
SCOTT
3000
20
KING
5000
10

14 rows selected.
SQL> SPOOL OFF
SQL> cl scr
SQL> SELECT ROWNUM, Ename, Sal
2 FROM Emp;
ROWNUM
---------1
2
3
4
5
6
7
8
9
10
11

ENAME
SAL
---------- ---------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
ALLEN
1600
TURNER
1500
JAMES
950
WARD
1250
FORD
3000
SMITH
800

ROWNUM ENAME
SAL
---------- ---------- ---------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

12 SCOTT
13 ADAMS
14 MILLER

3000
1100
1300

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT ROWNUM, Ename, Sal


FROM Emp
WHERE ROWNUM = 1
/

ROWNUM ENAME
SAL
---------- ---------- ---------1 KING
5000
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT ROWNUM, Ename, Sal


FROM Emp
WHERE ROWNUM = 2
/

no rows selected
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT ROWNUM, Ename, Sal


FROM Emp
WHERE ROWNUM <= 5
/

ROWNUM
---------1
2
3
4
5

ENAME
SAL
---------- ---------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT ROWNUM, Ename, Sal


FROM Emp
WHERE ROWNUM >= 5
/

no rows selected
SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL>
SQL>
2
3
4

COLUMN SelectGraph FORMAT A16


SELECT
Ename,
LPAD('*' , ROWNUM, '*') SelectGraph
FROM Emp;

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

SELECTGRAPH
---------------*
**
***
****
*****
******
*******
********
*********
**********
***********

ENAME
---------SCOTT
ADAMS
MILLER

SELECTGRAPH
---------------************
*************
**************

14 rows selected.
SQL> SELECT ROWNUM, Ename
2 FROM Emp;
ROWNUM
---------1
2
3
4
5
6
7
8
9
10
11

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

ROWNUM
---------12
13
14

ENAME
---------SCOTT
ADAMS
MILLER

14 rows selected.
SQL> SELECT ROWNUM, Ename, Sal
2 FROM Emp
3 ORDER BY Sal;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ROWNUM
---------11
8
13
5
9
14
7
6
3
2
4

ENAME
SAL
---------- ---------SMITH
800
JAMES
950
ADAMS
1100
MARTIN
1250
WARD
1250
MILLER
1300
TURNER
1500
ALLEN
1600
CLARK
2450
BLAKE
2850
JONES
2975

ROWNUM
---------10
12
1

ENAME
SAL
---------- ---------FORD
3000
SCOTT
3000
KING
5000

14 rows selected.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
Ename, Sal,
LPAD('*' , ROWNUM, '*') SelectGraph
FROM Emp
ORDER BY Sal
/

ENAME
SAL SELECTGRAPH
---------- ---------- ---------------SMITH
800 ***********
JAMES
950 ********
ADAMS
1100 *************
MARTIN
1250 *****
WARD
1250 *********
MILLER
1300 **************
TURNER
1500 *******
ALLEN
1600 ******
CLARK
2450 ***
BLAKE
2850 **
JONES
2975 ****
ENAME
SAL SELECTGRAPH
---------- ---------- ---------------FORD
3000 **********
SCOTT
3000 ************
KING
5000 *
14 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL>
SQL>
SQL>
SQL>
2
3
4
5
6

COLUMN SelectGraph FORMAT A16


COLUMN RecGraph FORMAT A20
COLUMN SalGraph FORMAT A20
SELECT
Ename,
LPAD('*' , ROWNUM, '*' ) SelectGraph,
LPAD('*', Sal/500, '*') SalGraph,
LPAD('*', (SYSDATE-HireDate)/500, '*') RecGraph
FROM Emp;

ENAME
SELECTGRAPH
SALGRAPH
RECGRAPH
---------- ---------------- -------------------- -------------------KING
*
**********
********************
*
BLAKE

**

*****

********************
*

CLARK

***

****

********************
*

JONES

****

*****

********************
*

ENAME
SELECTGRAPH
SALGRAPH
RECGRAPH
---------- ---------------- -------------------- -------------------MARTIN

*****

**

********************
*

ALLEN

******

***

********************
*

TURNER

*******

***

********************
*

JAMES

********

********************

ENAME
SELECTGRAPH
SALGRAPH
RECGRAPH
---------- ---------------- -------------------- -------------------WARD
*********
**
********************
*
FORD
SMITH

**********
***********

******
*

********************
********************
*

SCOTT
ADAMS
MILLER

************
*************
**************

******
**
**

********************
********************
********************

14 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL>
SQL>
SQL>
SQL>

COLUMN SelectGraph FORMAT A15


COLUMN SALGRAPH FORMAT A18
COLUMN RecGraph FORMAT A35
/

ENAME
SELECTGRAPH
SALGRAPH
---------- --------------- -----------------RECGRAPH
----------------------------------KING
*
**********
*********************
BLAKE
**
*********************

*****

CLARK
***
*********************

****

ENAME
SELECTGRAPH
SALGRAPH
---------- --------------- -----------------RECGRAPH
----------------------------------JONES
****
*****
*********************
MARTIN
*****
*********************

**

ALLEN
******
*********************

***

ENAME
SELECTGRAPH
SALGRAPH
---------- --------------- -----------------RECGRAPH
----------------------------------TURNER
*******
***
*********************
JAMES
********
********************

WARD
*********
*********************

**

ENAME
SELECTGRAPH
SALGRAPH
---------- --------------- -----------------RECGRAPH
----------------------------------FORD
**********
******
********************
SMITH
***********
*
*********************
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SCOTT
************
********************

******

ENAME
SELECTGRAPH
SALGRAPH
---------- --------------- -----------------RECGRAPH
----------------------------------ADAMS
*************
**
********************
MILLER
**************
********************

**

14 rows selected.
SQL> COLUMN RecGraph FORMAT A30
SQL> /
ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

SELECTGRAPH
--------------*
**
***
****
*****
******
*******
********
*********
**********
***********

SALGRAPH
-----------------**********
*****
****
*****
**
***
***
*
**
******
*

RECGRAPH
-----------------------------*********************
*********************
*********************
*********************
*********************
*********************
*********************
********************
*********************
********************
*********************

ENAME
---------SCOTT
ADAMS
MILLER

SELECTGRAPH
--------------************
*************
**************

SALGRAPH
-----------------******
**
**

RECGRAPH
-----------------------------********************
********************
********************

14 rows selected.
SQL> cl scr
SQL>
1
2
3
4
5
6*

R
SELECT
Ename,
LPAD('*' , ROWNUM, '*' ) SelectGraph,
LPAD('*', Sal/500, '*') SalGraph,
LPAD('*', (SYSDATE-HireDate)/500, '*') RecGraph
FROM Emp

ENAME
SELECTGRAPH
SALGRAPH
RECGRAPH
---------- --------------- ------------------ -----------------------------KING
*
**********
*********************
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

**
***
****
*****
******
*******
********
*********
**********
***********

*****
****
*****
**
***
***
*
**
******
*

*********************
*********************
*********************
*********************
*********************
*********************
********************
*********************
********************
*********************

ENAME
---------SCOTT
ADAMS
MILLER

SELECTGRAPH
--------------************
*************
**************

SALGRAPH
-----------------******
**
**

RECGRAPH
-----------------------------********************
********************
********************

14 rows selected.
SQL> cl scr
SQL>
SQL>
2
3
4
5
6

COLUMN Org_Chart FORMAT A15


SELECT
LPAD('*', ((2 * LEVEL) - 1))||Ename Org_Chart,
Empno, MGR, Job
FROM Emp
START WITH Job = 'PRESIDENT'
CONNECT BY PRIOR Empno = MGR;

ORG_CHART
EMPNO
MGR JOB
--------------- ---------- ---------- --------*KING
7839
PRESIDENT
*BLAKE
7698
7839 MANAGER
*MARTIN
7654
7698 SALESMAN
*ALLEN
7499
7698 SALESMAN
*TURNER
7844
7698 SALESMAN
*JAMES
7900
7698 CLERK
*WARD
7521
7698 SALESMAN
*CLARK
7782
7839 MANAGER
*MILLER
7934
7782 CLERK
*JONES
7566
7839 MANAGER
*FORD
7902
7566 ANALYST
ORG_CHART
EMPNO
MGR JOB
--------------- ---------- ---------- --------*SMITH
7369
7902 CLERK
*SCOTT
7788
7566 ANALYST
*ADAMS
7876
7788 CLERK
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2

SELECT
LPAD('*', ((2 * LEVEL) - 1)) LevelVAL, Ename Org_Chart
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3
4
5*
SQL>

FROM Emp
START WITH Job = 'PRESIDENT'
CONNECT BY PRIOR Empno = MGR
/

LEVELVAL
-------------------------------------------------------------------------------ORG_CHART
--------------*
KING
*
BLAKE
*
MARTIN

LEVELVAL
-------------------------------------------------------------------------------ORG_CHART
--------------*
ALLEN
*
TURNER
*
JAMES

LEVELVAL
-------------------------------------------------------------------------------ORG_CHART
--------------*
WARD
*
CLARK
*
MILLER

LEVELVAL
-------------------------------------------------------------------------------ORG_CHART
--------------*
JONES
*
FORD
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

*
SMITH

LEVELVAL
-------------------------------------------------------------------------------ORG_CHART
--------------*
SCOTT
*
ADAMS

14 rows selected.
SQL> COLUMN LEVELVAL FORMAT A15
SQL> /
LEVELVAL
--------------*
*
*
*
*
*
*
*
*
*
*

ORG_CHART
--------------KING
BLAKE
MARTIN
ALLEN
TURNER
JAMES
WARD
CLARK
MILLER
JONES
FORD

LEVELVAL
--------------*
*
*

ORG_CHART
--------------SMITH
SCOTT
ADAMS

14 rows selected.
SQL> cl scr
SQL> SELECT ROWNUM "S.No", SUM(ROWNUM) Sum
2 FROM Emp
3 WHERE ROWNUM <= &GSeqVal;
Enter value for gseqval: 5
SELECT ROWNUM "S.No", SUM(ROWNUM) Sum
*
ERROR at line 1:
ORA-00937: not a single-group group function

SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf


1 SELECT ROWNUM "S.No", SUM(ROWNUM) Sum
2 FROM Emp
3 WHERE ROWNUM <= &GSeqVal
4* GROUP BY ROWNUM
SQL> /
Enter value for gseqval: 5
S.No
SUM
---------- ---------1
1
2
2
3
3
4
4
5
5
SQL> cl scr
SQL>
2
3
4

SELECT ROWNUM, Ename, Sal


FROM Emp
WHERE ROWNUM < 6
ORDER BY Sal DESC;

ROWNUM
---------1
4
2
3
5

ENAME
SAL
---------- ---------KING
5000
JONES
2975
BLAKE
2850
CLARK
2450
MARTIN
1250

SQL> SELECT *
2 FROM (SELECT Ename, Sal, Deptno, Job
3
FROM Emp
4
ORDER BY Sal DESC)
5 WHERE ROWNUM < 6;
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
FORD
3000
20 ANALYST
SCOTT
3000
20 ANALYST
JONES
2975
20 MANAGER
BLAKE
2850
30 MANAGER
SQL> cl scr
SQL>
2
3
4
5
6

SELECT LEVEL, ROWNUM, Ename, Sal


FROM Emp
WHERE ROWNUM < 6
START WITH Ename = 'KING'
CONNECT BY PRIOR Empno = MGR
ORDER BY Sal DESC;
LEVEL

ROWNUM ENAME
SAL
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

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


1 KING
5000
2
2 BLAKE
2850
3
4 ALLEN
1600
3
5 TURNER
1500
3
3 MARTIN
1250
SQL> cl scr
SQL> SELECT ROWNUM, E1.*
2 FROM (SELECT ROWNUM, Ename, Sal, Deptno, Job
3
FROM Emp
4
ORDER BY Sal DESC) E1
5 WHERE ROWNUM < 6;
ROWNUM
ROWNUM ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- ---------- ---------- --------1
1 KING
5000
10 PRESIDENT
2
10 FORD
3000
20 ANALYST
3
12 SCOTT
3000
20 ANALYST
4
4 JONES
2975
20 MANAGER
5
2 BLAKE
2850
30 MANAGER
SQL> cl scr
SQL> SELECT RN, Ename, Sal
2 FROM (SELECT ROWNUM RN, Ename, Sal
3
FROM Emp)
4 WHERE RN = &GiveRn;
Enter value for givern: 1
RN ENAME
SAL
---------- ---------- ---------1 KING
5000
SQL> /
Enter value for givern: 2
RN ENAME
SAL
---------- ---------- ---------2 BLAKE
2850
SQL> /
Enter value for givern: 3
RN ENAME
SAL
---------- ---------- ---------3 CLARK
2450
SQL> cl scr
SQL> SELECT ROWNUM, Ename, Sal, Deptno
2 FROM Emp
3 GROUP BY ROWNUM, Ename, Sal, Deptno
4 HAVING ROWNUM = &GRownum;
Enter value for grownum: 1
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ROWNUM ENAME
SAL
DEPTNO
---------- ---------- ---------- ---------1 KING
5000
10
SQL> /
Enter value for grownum: 2
ROWNUM ENAME
SAL
DEPTNO
---------- ---------- ---------- ---------2 BLAKE
2850
30
SQL> /
Enter value for grownum: 3
ROWNUM ENAME
SAL
DEPTNO
---------- ---------- ---------- ---------3 CLARK
2450
10
SQL> cl scr
SQL> SELECT RN, E2.Ename, E2.Sal
2 FROM (SELECT ROWNUM RN, E1.*
3
FROM (SELECT Ename, Sal, Deptno, Job
4
FROM Emp
5
ORDER BY Sal DESC) E1) E2
6 WHERE RN = &GiveSalNum;
Enter value for givesalnum: 1
RN ENAME
SAL
---------- ---------- ---------1 KING
5000
SQL> /
Enter value for givesalnum: 2
RN ENAME
SAL
---------- ---------- ---------2 FORD
3000
SQL> SELECT Ename, Sal, E.Deptno, Dname, Grade
2 FROM Emp E, Dept D, Salgrade S
3 WHERE Sal IN (SELECT E2.Sal
4
FROM (SELECT ROWNUM RN, E1.*
5
FROM (SELECT Ename, Sal, Deptno, Job
6
FROM Emp
7
ORDER BY Sal DESC) E1) E2
8
WHERE E2.RN = &Rn)
9 AND E.Deptno = D.Deptno AND
10 E.Sal BETWEEN S.Losal AND S.HiSal;
Enter value for rn: 1
ENAME
SAL
DEPTNO DNAME
GRADE
---------- ---------- ---------- -------------- ---------KING
5000
10 ACCOUNTING
5
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
Enter value for rn: 2
ENAME
SAL
DEPTNO DNAME
GRADE
---------- ---------- ---------- -------------- ---------SCOTT
3000
20 RESEARCH
4
FORD
3000
20 RESEARCH
4
SQL> cl scr
SQL> SELECT RN, Ename, Sal
2 FROM (SELECT ROWNUM RN, Ename, Sal
3
FROM Emp)
4 WHERE MOD(RN, 2) = 0;
RN
---------2
4
6
8
10
12
14

ENAME
SAL
---------- ---------BLAKE
2850
JONES
2975
ALLEN
1600
JAMES
950
FORD
3000
SCOTT
3000
MILLER
1300

7 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT RN, Ename, Sal


FROM (SELECT ROWNUM RN, Ename, Sal
FROM Emp)
WHERE MOD(RN, 2) = 1
/

RN
---------1
3
5
7
9
11
13

ENAME
SAL
---------- ---------KING
5000
CLARK
2450
MARTIN
1250
TURNER
1500
WARD
1250
SMITH
800
ADAMS
1100

7 rows selected.
SQL> cl scr
SQL> SELECT RN, Ename, Sal
2 FROM (SELECT ROWNUM RN, Ename, Sal
3
FROM Emp)
4 WHERE RN BETWEEN &GineRn1 AND &GiveRn2;
Enter value for ginern1: 1
Enter value for givern2: 5
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

RN
---------1
2
3
4
5

ENAME
SAL
---------- ---------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250

SQL> /
Enter value for ginern1: 6
Enter value for givern2: 10
RN
---------6
7
8
9
10

ENAME
SAL
---------- ---------ALLEN
1600
TURNER
1500
JAMES
950
WARD
1250
FORD
3000

SQL> /
Enter value for ginern1: 11
Enter value for givern2: 16
RN
---------11
12
13
14

ENAME
SAL
---------- ---------SMITH
800
SCOTT
3000
ADAMS
1100
MILLER
1300

SQL> cl scr
SQL> SELECT ROWNUM, Ename, Sal
2 FROM Emp
3 GROUP BY ROWNUM, Ename, Sal
4 HAVING ROWNUM BETWEEN &GiveRowNum1 AND &GiveRowNum2;
Enter value for giverownum1: 1
Enter value for giverownum2: 5
ROWNUM
---------1
2
3
4
5

ENAME
SAL
---------- ---------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250

SQL> /
Enter value for giverownum1: 6
Enter value for giverownum2: 10
ROWNUM ENAME
SAL
---------- ---------- ---------6 ALLEN
1600
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7
8
9
10

TURNER
JAMES
WARD
FORD

1500
950
1250
3000

SQL> /
Enter value for giverownum1: 11
Enter value for giverownum2: 15
ROWNUM
---------11
12
13
14

ENAME
SAL
---------- ---------SMITH
800
SCOTT
3000
ADAMS
1100
MILLER
1300

SQL> cl scr
SQL> SELECT Ename, Sal, E.Deptno, Dname, Grade
2 FROM Emp E, Dept D, Salgrade S
3 WHERE Sal IN (SELECT E2.Sal
4
FROM (SELECT ROWNUM RN, E1.*
5
FROM (SELECT Ename, Sal, Deptno, Job
6
FROM Emp
7
ORDER BY Sal DESC) E1) E2
8
WHERE E2.RN BETWEEN &RN1 AND &RN2)
9 AND E.Deptno = D.Deptno AND
10 E.Sal BETWEEN S.Losal AND S.HiSal;
Enter value for rn1: 1
Enter value for rn2: 6
ENAME
SAL
DEPTNO DNAME
GRADE
---------- ---------- ---------- -------------- ---------KING
5000
10 ACCOUNTING
5
SCOTT
3000
20 RESEARCH
4
FORD
3000
20 RESEARCH
4
JONES
2975
20 RESEARCH
4
BLAKE
2850
30 SALES
4
CLARK
2450
10 ACCOUNTING
4
6 rows selected.
SQL> cl scr
SQL> SELECT ROWID, Ename, Sal, Deptno
2 FROM Emp;
ROWID
ENAME
SAL
DEPTNO
------------------ ---------- ---------- ---------AAANCuAAEAAAAG/AAA KING
5000
10
AAANCuAAEAAAAG/AAB BLAKE
2850
30
AAANCuAAEAAAAG/AAC CLARK
2450
10
AAANCuAAEAAAAG/AAD JONES
2975
20
AAANCuAAEAAAAG/AAE MARTIN
1250
30
AAANCuAAEAAAAG/AAF ALLEN
1600
30
AAANCuAAEAAAAG/AAG TURNER
1500
30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

AAANCuAAEAAAAG/AAH
AAANCuAAEAAAAG/AAI
AAANCuAAEAAAAG/AAJ
AAANCuAAEAAAAG/AAK

JAMES
WARD
FORD
SMITH

950
1250
3000
800

30
30
20
20

ROWID
-----------------AAANCuAAEAAAAG/AAL
AAANCuAAEAAAAG/AAM
AAANCuAAEAAAAG/AAN

ENAME
SAL
DEPTNO
---------- ---------- ---------SCOTT
3000
20
ADAMS
1100
20
MILLER
1300
10

14 rows selected.
SQL>
2
3
4

SELECT ROWID, Ename, Sal, Deptno


FROM Emp
WHERE ROWID =
'AAANCuAAEAAAAG/AAI';

ROWID
ENAME
SAL
DEPTNO
------------------ ---------- ---------- ---------AAANCuAAEAAAAG/AAI WARD
1250
30
SQL>
SQL>
2
3

SET AUTOTRACE ON EXPLAIN


SELECT ROWID, Ename, Sal, Deptno
FROM Emp
WHERE Ename = 'WARD';

ROWID
ENAME
SAL
DEPTNO
------------------ ---------- ---------- ---------AAANCuAAEAAAAG/AAI WARD
1250
30

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=20)
1
0
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 Bytes=
20)

SQL> SELECT ROWID, Ename, Sal, Deptno


2 FROM Emp
3 WHERE ROWID = 'AAANCuAAEAAAAG/AAI';
ROWID
ENAME
SAL
DEPTNO
------------------ ---------- ---------- ---------AAANCuAAEAAAAG/AAI WARD
1250
30

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=1 Card=1 Bytes=20)
1
0
TABLE ACCESS (BY USER ROWID) OF 'EMP' (TABLE) (Cost=1 Card
=1 Bytes=20)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT ROWID, Ename, Sal, Deptno


FROM Emp
WHERE ROWID < 'AAANCuAAEAAAAG/AAI'
/

ROWID
-----------------AAANCuAAEAAAAG/AAA
AAANCuAAEAAAAG/AAB
AAANCuAAEAAAAG/AAC
AAANCuAAEAAAAG/AAD
AAANCuAAEAAAAG/AAE
AAANCuAAEAAAAG/AAF
AAANCuAAEAAAAG/AAG
AAANCuAAEAAAAG/AAH

ENAME
SAL
DEPTNO
---------- ---------- ---------KING
5000
10
BLAKE
2850
30
CLARK
2450
10
JONES
2975
20
MARTIN
1250
30
ALLEN
1600
30
TURNER
1500
30
JAMES
950
30

8 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=20)
1
0
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 Bytes=
20)

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT ROWID, Ename, Sal, Deptno


FROM Emp
WHERE ROWID > 'AAANCuAAEAAAAG/AAI'
/

ROWID
-----------------AAANCuAAEAAAAG/AAJ
AAANCuAAEAAAAG/AAK
AAANCuAAEAAAAG/AAL
AAANCuAAEAAAAG/AAM
AAANCuAAEAAAAG/AAN

ENAME
SAL
DEPTNO
---------- ---------- ---------FORD
3000
20
SMITH
800
20
SCOTT
3000
20
ADAMS
1100
20
MILLER
1300
10

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=20)
1
0
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 Bytes=
20)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL>
2
3
FROM

SELECT Ename, Sal, Job


FROM Emp
WHERE ROWID = 'AAAMoOAAEAAAAzXAAJ';
Emp
*
ERROR at line 2:
ORA-01410: invalid ROWID

SQL> cl scr
SQL>
2
3
4

SELECT B.Sal, SUM(A.Sal) "Cum Sal"


FROM Emp A, Emp B
WHERE A.ROWID < = B.ROWID
GROUP BY B.ROWID, B.Sal;

SAL
Cum Sal
---------- ---------5000
5000
2850
7850
2450
10300
2975
13275
1250
14525
1600
16125
1500
17625
950
18575
1250
19825
3000
22825
800
23625
SAL
Cum Sal
---------- ---------3000
26625
1100
27725
1300
29025
14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=9 Card=10 Bytes=22
0)
1
2
3
4

0
1
2
3

SORT (GROUP BY) (Cost=9 Card=10 Bytes=220)


MERGE JOIN (Cost=8 Card=10 Bytes=220)
SORT (JOIN) (Cost=4 Card=14 Bytes=154)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=154)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

5
6

2
5

SORT (JOIN) (Cost=4 Card=14 Bytes=154)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=154)

SQL> cl scr
SQL>
2
3
4
5
6

SELECT B.Ename, B.Sal, Sum(A.Sal) "Cum Sal"


FROM Emp A, Emp B
WHERE A.ROWID < = B.ROWID
GROUP BY B.ROWID, B.Sal, B.Ename
ORDER BY "Cum Sal"
/

ENAME
SAL
Cum Sal
---------- ---------- ---------KING
5000
5000
BLAKE
2850
7850
CLARK
2450
10300
JONES
2975
13275
MARTIN
1250
14525
ALLEN
1600
16125
TURNER
1500
17625
JAMES
950
18575
WARD
1250
19825
FORD
3000
22825
SMITH
800
23625
ENAME
SAL
Cum Sal
---------- ---------- ---------SCOTT
3000
26625
ADAMS
1100
27725
MILLER
1300
29025
14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=10 Card=10 Bytes=2
80)
1
2
3
4
5

0
1
2
3
4

SORT (ORDER BY) (Cost=10 Card=10 Bytes=280)


SORT (GROUP BY) (Cost=10 Card=10 Bytes=280)
MERGE JOIN (Cost=8 Card=10 Bytes=280)
SORT (JOIN) (Cost=4 Card=14 Bytes=238)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=238)

6
7

3
6

SORT (JOIN) (Cost=4 Card=14 Bytes=154)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=154)

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT B.Ename, B.Sal,


Sum(A.Sal) "Cum Sal",
AVG(A.Sal) "Mov Avg"
FROM Emp A, Emp B
WHERE A.ROWID < = B.ROWID
GROUP BY B.ROWID, B.Sal, B.Ename
ORDER BY "Cum Sal"
/

ENAME
SAL
Cum Sal
Mov Avg
---------- ---------- ---------- ---------KING
5000
5000
5000
BLAKE
2850
7850
3925
CLARK
2450
10300 3433.33333
JONES
2975
13275
3318.75
MARTIN
1250
14525
2905
ALLEN
1600
16125
2687.5
TURNER
1500
17625 2517.85714
JAMES
950
18575
2321.875
WARD
1250
19825 2202.77778
FORD
3000
22825
2282.5
SMITH
800
23625 2147.72727
ENAME
SAL
Cum Sal
Mov Avg
---------- ---------- ---------- ---------SCOTT
3000
26625
2218.75
ADAMS
1100
27725 2132.69231
MILLER
1300
29025 2073.21429
14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=10 Card=10 Bytes=2
80)
1
2
3
4
5

0
1
2
3
4

SORT (ORDER BY) (Cost=10 Card=10 Bytes=280)


SORT (GROUP BY) (Cost=10 Card=10 Bytes=280)
MERGE JOIN (Cost=8 Card=10 Bytes=280)
SORT (JOIN) (Cost=4 Card=14 Bytes=238)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=238)

6
7

3
6

SORT (JOIN) (Cost=4 Card=14 Bytes=154)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=154)

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SPOOL OFF


SQL> cl scr
SQL> SET VERIFY OFF
SQL> cl scr
SQL>
2
3
4

SELECT Ename, Empno, MGR


FROM Emp
START WITH Empno = 7839
CONNECT BY PRIOR Empno = MGR;

ENAME
EMPNO
MGR
---------- ---------- ---------KING
7839
BLAKE
7698
7839
MARTIN
7654
7698
ALLEN
7499
7698
TURNER
7844
7698
JAMES
7900
7698
WARD
7521
7698
CLARK
7782
7839
MILLER
7934
7782
JONES
7566
7839
FORD
7902
7566
ENAME
EMPNO
MGR
---------- ---------- ---------SMITH
7369
7902
SCOTT
7788
7566
ADAMS
7876
7788
14 rows selected.
SQL> UPDATE Emp
2 SET MGR = 7566
3 WHERE Empno = 7839;
1 row updated.
SQL> SELECT Ename, Empno, MGR
2 FROM Emp;
ENAME
EMPNO
MGR
---------- ---------- ---------KING
7839
7566
BLAKE
7698
7839
CLARK
7782
7839
JONES
7566
7839
MARTIN
7654
7698
ALLEN
7499
7698
TURNER
7844
7698
JAMES
7900
7698
WARD
7521
7698
FORD
7902
7566
SMITH
7369
7902
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
EMPNO
MGR
---------- ---------- ---------SCOTT
7788
7566
ADAMS
7876
7788
MILLER
7934
7782
14 rows selected.
SQL> SELECT Ename, Empno, MGR
2 FROM Emp
3 START WITH Empno = 7839
4 CONNECT BY PRIOR Empno = MGR;
ERROR:
ORA-01436: CONNECT BY loop in user data

no rows selected
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Empno, MGR


FROM Emp
START WITH Empno = 7839
CONNECT BY NOCYCLE PRIOR Empno = MGR
/

ENAME
EMPNO
MGR
---------- ---------- ---------KING
7839
7566
BLAKE
7698
7839
MARTIN
7654
7698
ALLEN
7499
7698
TURNER
7844
7698
JAMES
7900
7698
WARD
7521
7698
CLARK
7782
7839
MILLER
7934
7782
JONES
7566
7839
FORD
7902
7566
ENAME
EMPNO
MGR
---------- ---------- ---------SMITH
7369
7902
SCOTT
7788
7566
ADAMS
7876
7788
14 rows selected.
SQL> cl scr
SQL>
SQL>
2
3

COLUMN SalPath FORMAT A20


SELECT Ename,
CONNECT_BY_ISCYCLE "Cycle",
LEVEL,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4
5
6
7

SYS_CONNECT_BY_PATH(Sal, '/') "SalPath"


FROM Emp
START WITH Ename = 'KING'
CONNECT BY NOCYCLE PRIOR Empno = MGR;

ENAME
Cycle
LEVEL SalPath
---------- ---------- ---------- -------------------KING
0
1 /5000
BLAKE
0
2 /5000/2850
MARTIN
0
3 /5000/2850/1250
ALLEN
0
3 /5000/2850/1600
TURNER
0
3 /5000/2850/1500
JAMES
0
3 /5000/2850/950
WARD
0
3 /5000/2850/1250
CLARK
0
2 /5000/2450
MILLER
0
3 /5000/2450/1300
JONES
1
2 /5000/2975
FORD
0
3 /5000/2975/3000
ENAME
Cycle
LEVEL SalPath
---------- ---------- ---------- -------------------SMITH
0
4 /5000/2975/3000/800
SCOTT
0
3 /5000/2975/3000
ADAMS
0
4 /5000/2975/3000/1100
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename,
2 CONNECT_BY_ISCYCLE "Cycle",
3 LEVEL,
4 SYS_CONNECT_BY_PATH(Sal, '/') "SalPath"
5 FROM Emp
6 WHERE CONNECT_BY_ISCYCLE = &GCycle
7 START WITH Ename = 'KING'
8* CONNECT BY NOCYCLE PRIOR Empno = MGR
SQL> /
Enter value for gcycle: 0
ENAME
Cycle
LEVEL SalPath
---------- ---------- ---------- -------------------KING
0
1 /5000
BLAKE
0
2 /5000/2850
MARTIN
0
3 /5000/2850/1250
ALLEN
0
3 /5000/2850/1600
TURNER
0
3 /5000/2850/1500
JAMES
0
3 /5000/2850/950
WARD
0
3 /5000/2850/1250
CLARK
0
2 /5000/2450
MILLER
0
3 /5000/2450/1300
FORD
0
3 /5000/2975/3000
SMITH
0
4 /5000/2975/3000/800
ENAME

Cycle
LEVEL SalPath
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

---------- ---------- ---------- -------------------SCOTT


0
3 /5000/2975/3000
ADAMS
0
4 /5000/2975/3000/1100
13 rows selected.
SQL> /
Enter value for gcycle: 1
ENAME
Cycle
LEVEL SalPath
---------- ---------- ---------- -------------------JONES
1
2 /5000/2975
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL>
2
3
4

SELECT Ename, Empno, MGR


FROM Emp
START WITH Empno = 7839
CONNECT BY PRIOR Empno = MGR;

ENAME
EMPNO
MGR
---------- ---------- ---------KING
7839
BLAKE
7698
7839
MARTIN
7654
7698
ALLEN
7499
7698
TURNER
7844
7698
JAMES
7900
7698
WARD
7521
7698
CLARK
7782
7839
MILLER
7934
7782
JONES
7566
7839
FORD
7902
7566
ENAME
EMPNO
MGR
---------- ---------- ---------SMITH
7369
7902
SCOTT
7788
7566
ADAMS
7876
7788
14 rows selected.
SQL>
2
3
4
5

SELECT Ename "Employee", CONNECT_BY_ISLEAF "IsLeaf",


LEVEL, SYS_CONNECT_BY_PATH(Ename, '/') "Path"
FROM Emp
START WITH Empno = 7839
CONNECT BY PRIOR Empno = MGR;

Employee
IsLeaf
LEVEL
---------- ---------- ---------Path
-------------------------------------------------------------------------------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

KING
/KING

BLAKE
/KING/BLAKE

MARTIN
/KING/BLAKE/MARTIN

Employee
IsLeaf
LEVEL
---------- ---------- ---------Path
-------------------------------------------------------------------------------ALLEN
1
3
/KING/BLAKE/ALLEN
TURNER
/KING/BLAKE/TURNER

JAMES
/KING/BLAKE/JAMES

Employee
IsLeaf
LEVEL
---------- ---------- ---------Path
-------------------------------------------------------------------------------WARD
1
3
/KING/BLAKE/WARD
CLARK
/KING/CLARK

MILLER
/KING/CLARK/MILLER

Employee
IsLeaf
LEVEL
---------- ---------- ---------Path
-------------------------------------------------------------------------------JONES
0
2
/KING/JONES
FORD
/KING/JONES/FORD

SMITH
1
/KING/JONES/FORD/SMITH

Employee
IsLeaf
LEVEL
---------- ---------- ---------Path
-------------------------------------------------------------------------------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SCOTT
/KING/JONES/SCOTT

ADAMS
1
/KING/JONES/SCOTT/ADAMS

14 rows selected.
SQL> COLUMN "Path" FORMAT A25
SQL> /
Employee
IsLeaf
LEVEL Path
---------- ---------- ---------- ------------------------KING
0
1 /KING
BLAKE
0
2 /KING/BLAKE
MARTIN
1
3 /KING/BLAKE/MARTIN
ALLEN
1
3 /KING/BLAKE/ALLEN
TURNER
1
3 /KING/BLAKE/TURNER
JAMES
1
3 /KING/BLAKE/JAMES
WARD
1
3 /KING/BLAKE/WARD
CLARK
0
2 /KING/CLARK
MILLER
1
3 /KING/CLARK/MILLER
JONES
0
2 /KING/JONES
FORD
0
3 /KING/JONES/FORD
Employee
IsLeaf
LEVEL Path
---------- ---------- ---------- ------------------------SMITH
1
4 /KING/JONES/FORD/SMITH
SCOTT
0
3 /KING/JONES/SCOTT
ADAMS
1
4 /KING/JONES/SCOTT/ADAMS
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename "Employee", CONNECT_BY_ISLEAF "IsLeaf",
2 LEVEL, SYS_CONNECT_BY_PATH(Ename, '/') "Path"
3 FROM Emp
4 WHERE CONNECT_BY_ISLEAF = &GLeaf
5 START WITH Empno = 7839
6* CONNECT BY PRIOR Empno = MGR
SQL> /
Enter value for gleaf: 1
Employee
IsLeaf
LEVEL Path
---------- ---------- ---------- ------------------------MARTIN
1
3 /KING/BLAKE/MARTIN
ALLEN
1
3 /KING/BLAKE/ALLEN
TURNER
1
3 /KING/BLAKE/TURNER
JAMES
1
3 /KING/BLAKE/JAMES
WARD
1
3 /KING/BLAKE/WARD
MILLER
1
3 /KING/CLARK/MILLER
SMITH
1
4 /KING/JONES/FORD/SMITH
ADAMS
1
4 /KING/JONES/SCOTT/ADAMS
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

8 rows selected.
SQL> /
Enter value for gleaf: 0
Employee
IsLeaf
LEVEL Path
---------- ---------- ---------- ------------------------KING
0
1 /KING
BLAKE
0
2 /KING/BLAKE
CLARK
0
2 /KING/CLARK
JONES
0
2 /KING/JONES
FORD
0
3 /KING/JONES/FORD
SCOTT
0
3 /KING/JONES/SCOTT
6 rows selected.
SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL>
2
3
4
5
6
7
8
SQL>
2
3

SELECT ColumnName
FROM TableName
WHERE ColumnName = Condition
<SET OPERATOR>
SELECT ColumnName
FROM TableName
WHERE ColumnName = Condition
SELECT Ename, Dname
FROM Emp, Dept
WHERE Emp.Deptno = Dept.Deptno;

ENAME
---------KING
CLARK
MILLER
JONES
SCOTT
ADAMS
SMITH
FORD
BLAKE
MARTIN
ALLEN

DNAME
-------------ACCOUNTING
ACCOUNTING
ACCOUNTING
RESEARCH
RESEARCH
RESEARCH
RESEARCH
RESEARCH
SALES
SALES
SALES

ENAME
---------TURNER
JAMES
WARD

DNAME
-------------SALES
SALES
SALES

14 rows selected.
SQL>
2
3
4
5

SELECT Ename
FROM Emp
UNION
SELECT Dname
FROM Dept;

ENAME
-------------ACCOUNTING
ADAMS
ALLEN
BLAKE
CLARK
FORD
JAMES
JONES
KING
MARTIN
MILLER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
-------------OPERATIONS
RESEARCH
SALES
SCOTT
SMITH
TURNER
WARD
18 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Deptno


FROM Emp
UNION
SELECT Dname, Deptno
FROM Dept
/

ENAME
DEPTNO
-------------- ---------ACCOUNTING
10
ADAMS
20
ALLEN
30
BLAKE
30
CLARK
10
FORD
20
JAMES
30
JONES
20
KING
10
MARTIN
30
MILLER
10
ENAME
DEPTNO
-------------- ---------OPERATIONS
40
RESEARCH
20
SALES
30
SCOTT
20
SMITH
20
TURNER
30
WARD
30
18 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*

SELECT Ename, Deptno


FROM Emp
UNION
SELECT Dname
FROM Dept
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
SELECT Ename, Deptno
*
ERROR at line 1:
ORA-01789: query block has incorrect number of result columns

SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Deptno
2 FROM Emp
3 UNION
4 SELECT Deptno, Dname
5* FROM Dept
SQL> /
SELECT Ename, Deptno
*
ERROR at line 1:
ORA-01790: expression must have same datatype as corresponding expression

SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Deptno
2 FROM Emp
3 ORDER BY Ename
4 UNION
5 SELECT Dname, Deptno
6* FROM Dept
SQL> /
UNION
*
ERROR at line 4:
ORA-00933: SQL command not properly ended

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename, Deptno


FROM Emp
UNION
SELECT Dname, Deptno
FROM Dept
ORDER BY Ename
/

ENAME
DEPTNO
-------------- ---------ACCOUNTING
10
ADAMS
20
ALLEN
30
BLAKE
30
CLARK
10
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

FORD
JAMES
JONES
KING
MARTIN
MILLER

20
30
20
10
30
10

ENAME
DEPTNO
-------------- ---------OPERATIONS
40
RESEARCH
20
SALES
30
SCOTT
20
SMITH
20
TURNER
30
WARD
30
18 rows selected.
SQL> ED
Wrote file afiedt.buf
1 (
2
SELECT Ename, Deptno
3
FROM Emp
4
UNION
5
SELECT Dname, Deptno
6
FROM Dept
7 )
8* ORDER BY Ename
SQL> /
ENAME
DEPTNO
-------------- ---------ACCOUNTING
10
ADAMS
20
ALLEN
30
BLAKE
30
CLARK
10
FORD
20
JAMES
30
JONES
20
KING
10
MARTIN
30
MILLER
10
ENAME
DEPTNO
-------------- ---------OPERATIONS
40
RESEARCH
20
SALES
30
SCOTT
20
SMITH
20
TURNER
30
WARD
30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

18 rows selected.
SQL> ED
Wrote file afiedt.buf
1 (
2
SELECT Ename, Deptno
3
FROM Emp
4
UNION
5
SELECT Dname, Deptno
6
FROM Dept
7 )
8* ORDER BY Dname
SQL> /
ORDER BY Dname
*
ERROR at line 8:
ORA-00904: "DNAME": invalid identifier

SQL> ED
Wrote file afiedt.buf
1 (
2
SELECT Ename, Deptno
3
FROM Emp
4
UNION
5
SELECT Dname, Deptno
6
FROM Dept
7 )
8* ORDER BY 1
SQL> /
ENAME
DEPTNO
-------------- ---------ACCOUNTING
10
ADAMS
20
ALLEN
30
BLAKE
30
CLARK
10
FORD
20
JAMES
30
JONES
20
KING
10
MARTIN
30
MILLER
10
ENAME
DEPTNO
-------------- ---------OPERATIONS
40
RESEARCH
20
SALES
30
SCOTT
20
SMITH
20
TURNER
30
WARD
30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

18 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7

SELECT Ename
FROM Emp
WHERE Deptno = 10
UNION
SELECT Ename
FROM Emp
WHERE Deptno = 30;

ENAME
---------ALLEN
BLAKE
CLARK
JAMES
KING
MARTIN
MILLER
TURNER
WARD
9 rows selected.
SQL> SELECT Ename
2 FROM Emp
3 WHERE Deptno IN(10, 30);
ENAME
---------KING
BLAKE
CLARK
MARTIN
ALLEN
TURNER
JAMES
WARD
MILLER
9 rows selected.
SQL>
SQL>
2
3

SET AUTOTRACE ON EXPLAIN


SELECT Ename
FROM Emp
WHERE Deptno IN(10, 30);

ENAME
---------KING
BLAKE
CLARK
MARTIN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ALLEN
TURNER
JAMES
WARD
MILLER
9 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=9 Bytes=81)
1
0
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=9 Bytes=
81)

SQL>
2
3
4
5
6
7

SELECT Ename
FROM Emp
WHERE Deptno = 10
UNION
SELECT Ename
FROM Emp
WHERE Deptno = 30;

ENAME
---------ALLEN
BLAKE
CLARK
JAMES
KING
MARTIN
MILLER
TURNER
WARD
9 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=8 Card=10 Bytes=90
)
1
2
3

0
1
2

SORT (UNIQUE) (Cost=8 Card=10 Bytes=90)


UNION-ALL
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=45)

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By


tes=45)

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT Ename
FROM Emp
WHERE Deptno = 10
INTERSECT
SELECT Ename
FROM Emp
WHERE Deptno = 30
/

no rows selected

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=8 Card=5 Bytes=90)
1
0
INTERSECTION
2
1
SORT (UNIQUE) (Cost=4 Card=5 Bytes=45)
3
2
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=45)
4
5

1
4

SORT (UNIQUE) (Cost=4 Card=5 Bytes=45)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=45)

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT Ename
FROM Emp
WHERE Deptno = 10
MINUS
SELECT Ename
FROM Emp
WHERE Deptno = 30
/

ENAME
---------CLARK
KING
MILLER

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=8 Card=5 Bytes=90)
1
0
MINUS
2
1
SORT (UNIQUE) (Cost=4 Card=5 Bytes=45)
3
2
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

tes=45)
4
5

1
4

SORT (UNIQUE) (Cost=4 Card=5 Bytes=45)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=45)

SQL> cl scr
SQL>
2
3
4
5
6
7

SELECT Job
FROM Emp
WHERE Deptno = 10
UNION
SELECT Job
FROM Emp
WHERE Deptno = 30;

JOB
--------CLERK
MANAGER
PRESIDENT
SALESMAN

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=8 Card=10 Bytes=11
0)
1
2
3

0
1
2

SORT (UNIQUE) (Cost=8 Card=10 Bytes=110)


UNION-ALL
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=55)

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By


tes=55)

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT Job
FROM Emp
WHERE Deptno = 10
UNION ALL
SELECT Job
FROM Emp
WHERE Deptno = 30
/

JOB
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

--------PRESIDENT
MANAGER
CLERK
MANAGER
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
9 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=6 Card=10 Bytes=11
0)
1
2

0
1

UNION-ALL
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 Byte
s=55)

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 Byte


s=55)

SQL> ED
Wrote file afiedt.buf
1 SELECT Job
2 FROM Emp
3 WHERE Deptno = 10
4 INTESECT
5 SELECT Job
6 FROM Emp
7* WHERE Deptno = 30
SQL> /
INTESECT
*
ERROR at line 4:
ORA-00933: SQL command not properly ended

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*

SELECT Job
FROM Emp
WHERE Deptno = 10
INTERSECT
SELECT Job
FROM Emp
WHERE Deptno = 30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
JOB
--------CLERK
MANAGER

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=8 Card=5 Bytes=110
)
1
2
3

0
1
2

INTERSECTION
SORT (UNIQUE) (Cost=4 Card=5 Bytes=55)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=55)

4
5

1
4

SORT (UNIQUE) (Cost=4 Card=5 Bytes=55)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=55)

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT Job
FROM Emp
WHERE Deptno = 10
MINUS
SELECT Job
FROM Emp
WHERE Deptno = 30
/

JOB
--------PRESIDENT

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=8 Card=5 Bytes=110
)
1
2
3

0
1
2

MINUS
SORT (UNIQUE) (Cost=4 Card=5 Bytes=55)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=55)

4
5

1
4

SORT (UNIQUE) (Cost=4 Card=5 Bytes=55)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=55)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11

SELECT Job
FROM Emp
WHERE Deptno = 10
UNION
SELECT Job
FROM Emp
WHERE Deptno = 20
INTERSECT
SELECT Job
FROM Emp
WHERE Deptno = 30;

JOB
--------CLERK
MANAGER

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=12 Card=5 Bytes=16
5)
1
2
3
4

0
1
2
3

INTERSECTION
SORT (UNIQUE) (Cost=12 Card=5 Bytes=165)
UNION-ALL
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5
Bytes=55)

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5


Bytes=55)

6
7

1
6

SORT (UNIQUE) (Cost=4 Card=5 Bytes=55)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=55)

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9

SELECT Job
FROM Emp
WHERE Deptno = 10
UNION
(
SELECT Job
FROM Emp
WHERE Deptno = 20
INTERSECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

10
SELECT Job
11
FROM Emp
12
WHERE Deptno = 30
13* )
SQL> /
JOB
--------CLERK
MANAGER
PRESIDENT

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=12 Card=10 Bytes=1
65)
1
2
3

0
1
2

SORT (UNIQUE) (Cost=12 Card=10 Bytes=165)


UNION-ALL
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=55)

4
5
6

2
4
5

INTERSECTION
SORT (UNIQUE) (Cost=4 Card=5 Bytes=55)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
5 Bytes=55)

7
8

4
7

SORT (UNIQUE) (Cost=4 Card=5 Bytes=55)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
5 Bytes=55)

SQL> cl scr
SQL> SELECT Deptno, Dname
2 FROM Emp
3 WHERE Deptno = &GDeptno1
4 UNION
5 SELECT Ename, Sal, HireDate
6 FROm Emp
7 WHERE Deptno = &GDeptno2;
Enter value for gdeptno1: 10
Enter value for gdeptno2: 10
SELECT Deptno, Dname
*
ERROR at line 1:
ORA-00904: "DNAME": invalid identifier

SQL> ED
Wrote file afiedt.buf
1

SELECT Deptno, Dname


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2 FROM Dept
3 WHERE Deptno = &GDeptno1
4 UNION
5 SELECT Ename, Sal, HireDate
6 FROm Emp
7* WHERE Deptno = &GDeptno2
SQL>
SQL> 10
SP2-0226: Invalid line number
SQL> 10
SP2-0226: Invalid line number
SQL> /
Enter value for gdeptno1: 10
Enter value for gdeptno2: 10
SELECT Deptno, Dname
*
ERROR at line 1:
ORA-01789: query block has incorrect number of result columns

SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1 SELECT Deptno, Dname, NULL Ename, NULL Sal, NULL HireDate
2 FROM Dept
3 WHERE Deptno = &GDeptno1
4 UNION
5 SELECT NULL, NULL, Ename, Sal, HireDate
6 FROm Emp
7* WHERE Deptno = &GDeptno2
SQL> /
Enter value for gdeptno1: 10
Enter value for gdeptno2: 10
DEPTNO DNAME
ENAME
SAL HIREDATE
---------- -------------- ---------- ---------- --------10 ACCOUNTING
CLARK
2450 09-JUN-81
KING
5000 17-NOV-81
MILLER
1300 23-JAN-82

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=6 Card=6 Bytes=118
)
1
2
3

0
1
2

SORT (UNIQUE) (Cost=6 Card=6 Bytes=118)


UNION-ALL
TABLE ACCESS (BY INDEX ROWID) OF 'DEPT' (TABLE) (Cost=
1 Card=1 Bytes=13)

INDEX (UNIQUE SCAN) OF 'DEPT_PRIMARY_KEY' (INDEX (UN


IQUE)) (Cost=0 Card=1)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By


tes=105)

SQL> /
Enter value for gdeptno1: 20
Enter value for gdeptno2: 20
DEPTNO DNAME
ENAME
SAL HIREDATE
---------- -------------- ---------- ---------- --------20 RESEARCH
ADAMS
1100 12-JAN-83
FORD
3000 03-DEC-81
JONES
2975 02-APR-81
SCOTT
3000 09-DEC-82
SMITH
800 17-DEC-80
6 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=6 Card=6 Bytes=118
)
1
2
3

0
1
2

SORT (UNIQUE) (Cost=6 Card=6 Bytes=118)


UNION-ALL
TABLE ACCESS (BY INDEX ROWID) OF 'DEPT' (TABLE) (Cost=
1 Card=1 Bytes=13)

INDEX (UNIQUE SCAN) OF 'DEPT_PRIMARY_KEY' (INDEX (UN


IQUE)) (Cost=0 Card=1)

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By


tes=105)

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11*

SELECT Deptno, Dname, NULL Ename, NULL Sal, NULL HireDate


FROM Dept
WHERE Deptno = &GDeptno1
UNION
SELECT NULL, NULL, Ename, Sal, HireDate
FROm Emp
WHERE Deptno = &GDeptno2
UNION
SELECT NULL, NULL, NULL, SUM(Sal), NULL
FROM Emp
WHERE Deptno = &GDeptno3
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
Enter value for gdeptno1: 10
Enter value for gdeptno2: 10
Enter value for gdeptno3: 10
DEPTNO DNAME
ENAME
SAL HIREDATE
---------- -------------- ---------- ---------- --------10 ACCOUNTING
CLARK
2450 09-JUN-81
KING
5000 17-NOV-81
MILLER
1300 23-JAN-82
8750

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=10 Card=7 Bytes=12
5)
1
2
3

0
1
2

SORT (UNIQUE) (Cost=10 Card=7 Bytes=125)


UNION-ALL
TABLE ACCESS (BY INDEX ROWID) OF 'DEPT' (TABLE) (Cost=
1 Card=1 Bytes=13)

INDEX (UNIQUE SCAN) OF 'DEPT_PRIMARY_KEY' (INDEX (UN


IQUE)) (Cost=0 Card=1)

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By


tes=105)

6
7

2
6

SORT (AGGREGATE) (Cost=4 Card=1 Bytes=7)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5
Bytes=35)

SQL> cl scr
SQL> SELECT Deptno, SUM(Sal)
2 FROM Emp
3 GROUP BY Deptno;
DEPTNO
SUM(SAL)
---------- ---------10
8750
20
10875
30
9400

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=3 Bytes=21)
1
0
SORT (GROUP BY) (Cost=4 Card=3 Bytes=21)
2
1
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=98)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT SUM(Sal)


2 FROM Emp;
SUM(SAL)
---------29025

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=4)
1
0
SORT (AGGREGATE)
2
1
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=56)

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Deptno, SUM(Sal), (SELECT SUM(Sal) FROM Emp) OrgSal


FROM Emp
GROUP BY Deptno
/

DEPTNO
SUM(SAL)
ORGSAL
---------- ---------- ---------10
8750
29025
20
10875
29025
30
9400
29025

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=3 Bytes=21)
1
0
SORT (AGGREGATE)
2
1
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=56)
3
4

0
3

SORT (GROUP BY) (Cost=4 Card=3 Bytes=21)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=98)

SQL> ED
Wrote file afiedt.buf
1
2

SELECT Deptno, SUM(Sal), OrGSal


FROM Emp, (
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3
SELECT
4
SUM(Sal) OrGSal
5
FROM Emp)
6* GROUP BY Deptno, OrGSal
SQL> /
DEPTNO
SUM(SAL)
ORGSAL
---------- ---------- ---------10
8750
29025
20
10875
29025
30
9400
29025

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=3 Bytes=60)
1
0
SORT (GROUP BY) (Cost=7 Card=3 Bytes=60)
2
1
MERGE JOIN (CARTESIAN) (Cost=6 Card=14 Bytes=280)
3
2
VIEW (Cost=3 Card=1 Bytes=13)
4
3
SORT (AGGREGATE)
5
4
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=56)
6

SQL>
2
3
4
5
6

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 B


ytes=98)

SELECT Deptno, SUM(Sal) SalSum


FROM Emp
GROUP BY Deptno
UNION
SELECT NULL, SUM(Sal)
FROM Emp;

DEPTNO
SALSUM
---------- ---------10
8750
20
10875
30
9400
29025

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=9 Card=4 Bytes=25)
1
0
SORT (UNIQUE) (Cost=9 Card=4 Bytes=25)
2
1
UNION-ALL
3
2
SORT (GROUP BY) (Cost=5 Card=3 Bytes=21)
4
3
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=98)
5
6

2
5

SORT (AGGREGATE) (Cost=4 Card=1 Bytes=4)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=56)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT Deptno, Job, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno, Job;
DEPTNO
---------10
10
10
20
20
20
30
30
30

JOB
SUM(SAL)
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
CLERK
1900
ANALYST
6000
MANAGER
2975
CLERK
950
MANAGER
2850
SALESMAN
5600

9 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=11 Bytes=16
5)
1
2

0
1

SORT (GROUP BY) (Cost=4 Card=11 Bytes=165)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=210)

SQL> SELECT Deptno, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno;
DEPTNO
SUM(SAL)
---------- ---------10
8750
20
10875
30
9400

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=3 Bytes=21)
1
0
SORT (GROUP BY) (Cost=4 Card=3 Bytes=21)
2
1
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=98)

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT SUM(Sal)


2 FROM Emp;
SUM(SAL)
---------29025

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=4)
1
0
SORT (AGGREGATE)
2
1
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=56)

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10*
SQL>

SELECT Deptno, Job, SUM(Sal) SalSum


FROM Emp
GROUP BY Deptno, Job
UNION
SELECT Deptno,NULL, SUM(Sal)
FROM Emp
GROUP BY Deptno
UNION
SELECT NULL, NULL, SUM(Sal)
FROM Emp
/

DEPTNO
---------10
10
10
10
20
20
20
20
30
30
30

JOB
SALSUM
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
8750
ANALYST
6000
CLERK
1900
MANAGER
2975
10875
CLERK
950
MANAGER
2850
SALESMAN
5600

DEPTNO JOB
SALSUM
---------- --------- ---------30
9400
29025
13 rows selected.

Execution Plan
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=14 Card=15 Bytes=1
90)
1
2
3
4

0
1
2
3

SORT (UNIQUE) (Cost=14 Card=15 Bytes=190)


UNION-ALL
SORT (GROUP BY) (Cost=5 Card=11 Bytes=165)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=210)

5
6

2
5

SORT (GROUP BY) (Cost=5 Card=3 Bytes=21)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=98)

7
8

2
7

SORT (AGGREGATE) (Cost=4 Card=1 Bytes=4)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=56)
SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL>
2
3
4
5
6
7
8

CREATE VIEW Employees


AS
SELECT
Empno "ID Number",
Ename Name,
Sal "Basic Salary",
Job Designation
FROM Emp;

View created.
SQL> SELECT
2
Empno "ID Number",
3
Ename Name,
4
Sal "Basic Salary",
5
Job Designation
6 FROM Emp;
ID Number
---------7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

NAME
Basic Salary
---------- -----------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
ALLEN
1600
TURNER
1500
JAMES
950
WARD
1250
FORD
3000
SMITH
800

DESIGNATI
--------PRESIDENT
MANAGER
MANAGER
MANAGER
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
ANALYST
CLERK

ID Number
---------7788
7876
7934

NAME
Basic Salary
---------- -----------SCOTT
3000
ADAMS
1100
MILLER
1300

DESIGNATI
--------ANALYST
CLERK
CLERK

14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=54
6)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=546)

SQL> DESC Employees


Name
Null?
Type
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

----------------------------------------- -------- ---------------------------ID Number


NOT NULL NUMBER(4)
NAME
VARCHAR2(10)
Basic Salary
NUMBER(7,2)
DESIGNATION
VARCHAR2(9)
SQL> SELECT * FROM Employees;
ID Number
---------7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

NAME
Basic Salary
---------- -----------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
ALLEN
1600
TURNER
1500
JAMES
950
WARD
1250
FORD
3000
SMITH
800

DESIGNATI
--------PRESIDENT
MANAGER
MANAGER
MANAGER
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
ANALYST
CLERK

ID Number
---------7788
7876
7934

NAME
Basic Salary
---------- -----------SCOTT
3000
ADAMS
1100
MILLER
1300

DESIGNATI
--------ANALYST
CLERK
CLERK

14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=54
6)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=546)

SQL> SELECT Empno, Ename, Sal FROM Employees;


SELECT Empno, Ename, Sal FROM Employees
*
ERROR at line 1:
ORA-00904: "SAL": invalid identifier

SQL> SELECT "ID Number", Name, "Basic Salary", HireDate


2 FROM Employees;
SELECT "ID Number", Name, "Basic Salary", HireDate
*
ERROR at line 1:
ORA-00904: "HIREDATE": invalid identifier
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT "ID Number", Name, "Basic Salary"


2 FROM Employees;
ID Number
---------7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

NAME
Basic Salary
---------- -----------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
ALLEN
1600
TURNER
1500
JAMES
950
WARD
1250
FORD
3000
SMITH
800

ID Number
---------7788
7876
7934

NAME
Basic Salary
---------- -----------SCOTT
3000
ADAMS
1100
MILLER
1300

14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=46
2)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=462)

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT "ID Number", Name, "Basic Salary"


FROM Employees
WHERE "Basic Salary" > 1500
/

ID Number
---------7839
7698
7782
7566
7499
7902
7788

NAME
Basic Salary
---------- -----------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
ALLEN
1600
FORD
3000
SCOTT
3000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=7 Bytes=231
)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=7 Bytes=


231)

SQL> ED
Wrote file afiedt.buf
1 SELECT Deptno, SUm("Basic Salary")
2 FROM Employees
3* GROUP BY Deptno
SQL> /
GROUP BY Deptno
*
ERROR at line 3:
ORA-00904: "DEPTNO": invalid identifier

SQL> ED
Wrote file afiedt.buf
1 SELECT Deisgnation, SUm("Basic Salary")
2 FROM Employees
3* GROUP BY Deisgnation
SQL> /
GROUP BY Deisgnation
*
ERROR at line 3:
ORA-00904: "DEISGNATION": invalid identifier

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Designation, SUm("Basic Salary")


FROM Employees
GROUP BY Designation
/

DESIGNATI SUM("BASICSALARY")
--------- -----------------ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=26
6)
1
2

0
1

SORT (GROUP BY) (Cost=4 Card=14 Bytes=266)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=266)

SQL> cl scr
SQL> SELECT
2
"ID Number",
3
Name,
4
"Basic Salary" * 12
5 FROM Employees;
ID Number
---------7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

NAME
"BASICSALARY"*12
---------- ---------------KING
60000
BLAKE
34200
CLARK
29400
JONES
35700
MARTIN
15000
ALLEN
19200
TURNER
18000
JAMES
11400
WARD
15000
FORD
36000
SMITH
9600

ID Number
---------7788
7876
7934

NAME
"BASICSALARY"*12
---------- ---------------SCOTT
36000
ADAMS
13200
MILLER
15600

14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=46
2)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=462)

SQL> SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2
3
4
5
6
7

"ID Number",
Name,
TO_CHAR("Basic Salary", '99,99,999.99') Monthly,
"Basic Salary" * 12 Annual
FROM Employees
WHERE "Basic Salary" > 2500;

ID Number
---------7839
7698
7566
7902
7788

NAME
MONTHLY
ANNUAL
---------- ------------- ---------KING
5,000.00
60000
BLAKE
2,850.00
34200
JONES
2,975.00
35700
FORD
3,000.00
36000
SCOTT
3,000.00
36000

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=5 Bytes=165
)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 Bytes=


165)

SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10

CREATE VIEW EmpInfo


AS
SELECT
E.Empno
EmployeeID,
E.Ename
Name,
D.Deptno
DepartmentID,
D.Dname
DepartmentName
FROM Emp E, Dept D
WHERE D.Deptno = E.Deptno
ORDER BY D.Deptno;

View created.
SQL> DESC EmpInfo
Name
----------------------------------------EMPLOYEEID
NAME
DEPARTMENTID
DEPARTMENTNAME

Null?
Type
-------- ---------------------------NOT NULL NUMBER(4)
VARCHAR2(10)
NOT NULL NUMBER(2)
VARCHAR2(14)

SQL> SELECT * FROM EmpInfo;


EMPLOYEEID
---------7839
7782

NAME
DEPARTMENTID DEPARTMENTNAME
---------- ------------ -------------KING
10 ACCOUNTING
CLARK
10 ACCOUNTING
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7934
7566
7788
7876
7369
7902
7698
7654
7499
EMPLOYEEID
---------7844
7900
7521

MILLER
JONES
SCOTT
ADAMS
SMITH
FORD
BLAKE
MARTIN
ALLEN

10
20
20
20
20
20
30
30
30

ACCOUNTING
RESEARCH
RESEARCH
RESEARCH
RESEARCH
RESEARCH
SALES
SALES
SALES

NAME
DEPARTMENTID DEPARTMENTNAME
---------- ------------ -------------TURNER
30 SALES
JAMES
30 SALES
WARD
30 SALES

14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=8 Card=14 Bytes=58
8)
1
2
3
4

0
1
2
3

VIEW OF 'EMPINFO' (VIEW) (Cost=8 Card=14 Bytes=588)


SORT (ORDER BY) (Cost=8 Card=14 Bytes=770)
HASH JOIN (Cost=7 Card=14 Bytes=770)
TABLE ACCESS (FULL) OF 'DEPT' (TABLE) (Cost=3 Card=4
Bytes=88)

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14


Bytes=462)

SQL> cl scr
SQL>
2
3
4
5
6
7
8
9

CREATE VIEW EmpGrades


AS
SELECT
E.Ename Name,
E.Sal Basic,
S.Grade Grade
FROM Emp E , Salgrade S
WHERE E.Sal BETWEEN S.LoSal AND S.HiSal
ORDER BY S.Grade;

View created.
SQL> DESC EmpGrades
Name
Null?
Type
----------------------------------------- -------- ---------------------------NAME
VARCHAR2(10)
BASIC
NUMBER(7,2)
GRADE
NUMBER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT * FROM EmpGrades;


NAME
BASIC
GRADE
---------- ---------- ---------SMITH
800
1
JAMES
950
1
ADAMS
1100
1
MARTIN
1250
2
WARD
1250
2
MILLER
1300
2
TURNER
1500
3
ALLEN
1600
3
CLARK
2450
4
BLAKE
2850
4
JONES
2975
4
NAME
BASIC
GRADE
---------- ---------- ---------FORD
3000
4
SCOTT
3000
4
KING
5000
5
14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=9 Card=1 Bytes=33)
1
0
VIEW OF 'EMPGRADES' (VIEW) (Cost=9 Card=1 Bytes=33)
2
1
SORT (ORDER BY) (Cost=9 Card=1 Bytes=59)
3
2
MERGE JOIN (Cost=8 Card=1 Bytes=59)
4
3
SORT (JOIN) (Cost=4 Card=5 Bytes=195)
5
4
TABLE ACCESS (FULL) OF 'SALGRADE' (TABLE) (Cost=3
Card=5 Bytes=195)
6
7
8

3
6
7

FILTER
SORT (JOIN) (Cost=4 Card=14 Bytes=280)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Car
d=14 Bytes=280)

SQL> cl scr
SQL>
2
3
4
5
6
7
8

CREATE OR REPLACE VIEW EmpManagers


AS
SELECT
RowNum SerialNo,
INITCAP(E.Ename)||' Works Under '
||M.Ename "Employee And Managers"
FROM Emp E, Emp M
WHERE E.MGR = M.Empno;

View created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> DESC EmpManagers


Name
Null?
----------------------------------------- -------SERIALNO
Employee And Managers

Type
---------------------------NUMBER
VARCHAR2(33)

SQL> SELECT * FROM EmpManagers;


SERIALNO
---------1
2
3
4
5
6
7
8
9
10
11

Employee And Managers


--------------------------------Jones Works Under KING
Clark Works Under KING
Blake Works Under KING
Ward Works Under BLAKE
James Works Under BLAKE
Turner Works Under BLAKE
Allen Works Under BLAKE
Martin Works Under BLAKE
Miller Works Under CLARK
Scott Works Under JONES
Ford Works Under JONES

SERIALNO
---------12
13

Employee And Managers


--------------------------------Smith Works Under FORD
Adams Works Under SCOTT

13 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=13 Bytes=40
3)
1
2
3
4

0
1
2
3

VIEW OF 'EMPMANAGERS' (VIEW) (Cost=7 Card=13 Bytes=403)


COUNT
HASH JOIN (Cost=7 Card=13 Bytes=520)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=280)

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14


Bytes=280)

SQL> cl scr
SQL> CREATE OR REPLACE VIEW EmpAccounts
2 AS
3 SELECT
4
Ename,
5
Deptno,
6
Sal Monthly,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7
8
9
10
11
12
13

Sal * 12 Annual
FROM Emp
WHERE Deptno = (SELECT
Deptno
FROM Dept
WHERE Dname = 'ACCOUNTING')
ORDER BY Annual;

View created.
SQL> DESC EmpAccounts
Name
Null?
----------------------------------------- -------ENAME
DEPTNO
NOT NULL
MONTHLY
ANNUAL

Type
---------------------------VARCHAR2(10)
NUMBER(2)
NUMBER(7,2)
NUMBER

SQL> SELECT * FROM EmpAccounts;


ENAME
DEPTNO
MONTHLY
ANNUAL
---------- ---------- ---------- ---------MILLER
10
1300
15600
CLARK
10
2450
29400
KING
10
5000
60000

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=1 Bytes=46)
1
0
VIEW OF 'EMPACCOUNTS' (VIEW) (Cost=7 Card=1 Bytes=46)
2
1
SORT (ORDER BY) (Cost=7 Card=1 Bytes=33)
3
2
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 By
tes=33)
4

TABLE ACCESS (FULL) OF 'DEPT' (TABLE) (Cost=3 Card=1


Bytes=22)

SQL> cl scr
SQL>
2
3
4
5
6
7
8

CREATE OR REPLACE VIEW CumSum


AS
SELECT
B.Sal,
SUM(A.Sal) Cum_Sal
FROM Emp A, Emp B
WHERE A.RowID <= B.RowID
GROUP BY B.RowID, B.Sal;

View created.
SQL> DESC CumSum
Name
Null?
Type
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

----------------------------------------- -------- ---------------------------SAL


NUMBER(7,2)
CUM_SAL
NUMBER
SQL> SELECT * FROM CumSum;
SAL
CUM_SAL
---------- ---------5000
5000
2850
7850
2450
10300
2975
13275
1250
14525
1600
16125
1500
17625
950
18575
1250
19825
3000
22825
800
23625
SAL
CUM_SAL
---------- ---------3000
26625
1100
27725
1300
29025
14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=9 Card=10 Bytes=40
0)
1
2
3
4

0
1
2
3

SORT (GROUP BY) (Cost=9 Card=10 Bytes=400)


MERGE JOIN (Cost=8 Card=10 Bytes=400)
SORT (JOIN) (Cost=4 Card=14 Bytes=280)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=280)

5
6

2
5

SORT (JOIN) (Cost=4 Card=14 Bytes=280)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=280)

SQL> cl scr
SQL>
2
3
4
5
6
7

CREATE OR REPLACE VIEW OrgDesignations


AS
SELECT
Job
FROM Emp
WHERE Deptno = 10
UNION
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

8
9
10
11

SELECT
Job
FROM Emp
WHERE Deptno IN(20, 30);

View created.
SQL> SELECT * FROM OrgDesignations;
JOB
--------ANALYST
CLERK
MANAGER
PRESIDENT
SALESMAN

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=8 Card=14 Bytes=84
)
1
2
3
4

0
1
2
3

VIEW OF 'ORGDESIGNATIONS' (VIEW) (Cost=8 Card=14 Bytes=84)


SORT (UNIQUE) (Cost=8 Card=14 Bytes=266)
UNION-ALL
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=3
Bytes=57)

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=11


Bytes=209)

SQL> cl scr
SQL> cl scr
SQL> DESC USER_VIEWS
Name
Null?
----------------------------------------- -------VIEW_NAME
NOT NULL
TEXT_LENGTH
TEXT
TYPE_TEXT_LENGTH
TYPE_TEXT
OID_TEXT_LENGTH
OID_TEXT
VIEW_TYPE_OWNER
VIEW_TYPE
SUPERVIEW_NAME

Type
---------------------------VARCHAR2(30)
NUMBER
LONG
NUMBER
VARCHAR2(4000)
NUMBER
VARCHAR2(4000)
VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(30)

SQL> COLUMN VIEW_NAME FORMAT A20


SQL> COLUMN TEXT FORMAT A40
SQL> SELECT VIEW_NAME, TEXT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2
3

FROM USER_VIEWS
WHERE VIEW_NAME = 'EMPACCOUNTS';

VIEW_NAME
TEXT
-------------------- ---------------------------------------EMPACCOUNTS
SELECT
Ename,
Deptno,
Sal Monthly,
Sal * 12 Annual
FROM Emp
WHERE Deptno =

Execution Plan
---------------------------------------------------------ERROR:
ORA-01039: insufficient privileges on underlying objects of the view

SP2-0612: Error generating AUTOTRACE EXPLAIN report


SQL> SET LONG 300
SQL> SELECT VIEW_NAME, TEXT
2 FROM USER_VIEWS
3 WHERE VIEW_NAME = 'EMPACCOUNTS';
VIEW_NAME
TEXT
-------------------- ---------------------------------------EMPACCOUNTS
SELECT
Ename,
Deptno,
Sal Monthly,
Sal * 12 Annual
FROM Emp
WHERE Deptno = (SELECT
Deptno
FROM Dept
WHERE Dname = 'ACCOUNTING')
ORDER BY Annual
VIEW_NAME
TEXT
-------------------- ----------------------------------------

Execution Plan
---------------------------------------------------------ERROR:
ORA-01039: insufficient privileges on underlying objects of the view

SP2-0612: Error generating AUTOTRACE EXPLAIN report


SQL> cl scr
SQL> CREATE VIEW DeptSalSummary
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

(
DepartmentName,
MinimumSalary,
MaxSalary,
AverageSalary,
SalarySum
)
AS
SELECT
D.Dname,
MIN(E.Sal),
MAX(E.Sal),
AVG(E.Sal),
SUM(E.Sal)
FROM Emp E, Dept D
WHERE E.Deptno = D.Deptno
GROUP BY D.Dname;

View created.
SQL> DESC DeptSalSummary
Name
Null?
----------------------------------------- -------DEPARTMENTNAME
MINIMUMSALARY
MAXSALARY
AVERAGESALARY
SALARYSUM

Type
---------------------------VARCHAR2(14)
NUMBER
NUMBER
NUMBER
NUMBER

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11*
SQL>

CREATE OR REPLACE VIEW DeptSalSummary


AS
SELECT
D.Dname,
MIN(E.Sal),
MAX(E.Sal),
AVG(E.Sal),
SUM(E.Sal)
FROM Emp E, Dept D
WHERE E.Deptno = D.Deptno
GROUP BY D.Dname
/
MIN(E.Sal),
*
ERROR at line 5:
ORA-00998: must name this expression with a column alias

SQL> SPOOL OFF


SQL> cl scr
SQL> CREATE VIEW InsertDept
2 (
3
DeptID,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4
5
6
7
8
9
10
11
12

DeptName,
Place
)
AS
SELECT
Deptno,
Dname,
Loc
FROM Dept;

View created.
SQL> DESC InsertDept
Name
Null?
----------------------------------------- -------DEPTID
NOT NULL
DEPTNAME
PLACE

Type
---------------------------NUMBER(2)
VARCHAR2(14)
VARCHAR2(13)

SQL> SELECT * FROM Dept;


DEPTNO
---------10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SQL> SELECT * FROM InsertDept;


DEPTID
---------10
20
30
40

DEPTNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

PLACE
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SQL> INSERT INTO InsertDept


2 VALUES(50, 'SHIPPING', 'CHENNAI');
1 row created.
SQL> SELECT * FROM Dept;
DEPTNO
---------10
20
30
40
50

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
SHIPPING

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
CHENNAI

SQL> UPDATE InsertDept


2 SET Dname = 'CARGO'
3 WHERE Deptno = 50;
WHERE Deptno = 50
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

*
ERROR at line 3:
ORA-00904: "DEPTNO": invalid identifier

SQL> UPDATE InsertDept


2 SET DEPTNAME = 'CARGO'
3 WHERE DEPTID = 50;
1 row updated.
SQL>

SELECT * FROM Dept;

DEPTNO
---------10
20
30
40
50

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
CARGO

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
CHENNAI

SQL> DELETE FROM InsertDept


2 WHERE DeptID = 50;
1 row deleted.
SQL> SELECT * FROM Dept;
DEPTNO
---------10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SQL> cl scr
SQL>
SQL>
SQL>
SQL>
SQL>

COLUMN
COLUMN
COLUMN
COLUMN
cl scr

Empno FORMAT 9999


Deptno FORMAT 99
Sal FORMAT 9999
Comm FORMAT 9999

SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> SELECT * FROM Emp;
EMPNO
----7839
7698
7782

ENAME
JOB
MGR HIREDATE
SAL COMM DEPTNO
---------- --------- ---------- --------- ----- ----- -----KING
PRESIDENT
17-NOV-81 5000
10
BLAKE
MANAGER
7839 01-MAY-81 2850
30
CLARK
MANAGER
7839 09-JUN-81 2450
10
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7566
7654
7499
7844
7900
7521
7902
7369
EMPNO
----7788
7876
7934

JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

MANAGER
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
ANALYST
CLERK

7839
7698
7698
7698
7698
7698
7566
7902

02-APR-81
28-SEP-81
20-FEB-81
08-SEP-81
03-DEC-81
22-FEB-81
03-DEC-81
17-DEC-80

2975
1250
1600
1500
950
1250
3000
800

ENAME
---------SCOTT
ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ---------- --------- ----- ----- -----ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

1400
300
0
500

20
30
30
30
30
30
20
20

14 rows selected.
SQL>
2
3
4
5

CREATE OR REPLACE VIEW EDept30


AS
SELECT *
FROM Emp
WHERE Deptno = 30;

View created.
SQL> DESC EDept30
Name
----------------------------------------EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO

Null?
Type
-------- ---------------------------NOT NULL NUMBER(4)
VARCHAR2(10)
VARCHAR2(9)
NUMBER(4)
DATE
NUMBER(7,2)
NUMBER(7,2)
NOT NULL NUMBER(2)

SQL> SELECT * FROM EDept30;


EMPNO
----7698
7654
7499
7844
7900
7521

ENAME
---------BLAKE
MARTIN
ALLEN
TURNER
JAMES
WARD

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ---------- --------- ----- ----- -----MANAGER
7839 01-MAY-81 2850
30
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30

6 rows selected.
SQL> SELECT * FROM EDept30
2 WHERE Ename = 'JONES';
no rows selected
SQL> SELECT * FROM EDept30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

WHERE Job = 'MANAGER';

EMPNO ENAME
JOB
MGR HIREDATE
SAL COMM DEPTNO
----- ---------- --------- ---------- --------- ----- ----- -----7698 BLAKE
MANAGER
7839 01-MAY-81 2850
30
SQL> cl scr
SQL> DESC EDept30
Name
----------------------------------------EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO

Null?
Type
-------- ---------------------------NOT NULL NUMBER(4)
VARCHAR2(10)
VARCHAR2(9)
NUMBER(4)
DATE
NUMBER(7,2)
NUMBER(7,2)
NOT NULL NUMBER(2)

SQL> UPDATE EDept30


2 SET Sal = Sal + 1000
3 WHERE Empno = 7566;
0 rows updated.
SQL> UPDATE EDept30
2 SET Sal = Sal + 1000
3 WHERE Empno = 7654;
1 row updated.
SQL> DELETE FROM EDept30
2 WHERE Ename = 'JONES';
0 rows deleted.
SQL> DELETE FROM EDept30
2 WHERE Ename = 'TURNER';
1 row deleted.
SQL> INSERT INTO EDept30
2 (Empno, Ename, Sal, Job, Deptno)
3 VALUES(1234, 'SAMPLE01', 2500, 'CLERK', 30);
1 row created.
SQL>
2
SQL>
2
3

(Empno, Ename, Sal, Job, Deptno)


INSERT INTO EDept30
(Empno, Ename, Sal, Job, Deptno)
VALUES(1235, 'SAMPLE02', 2500, 'CLERK', 20);

1 row created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL>
2
3
4
5
6

CREATE OR REPLACE VIEW EDept30


AS
SELECT *
FROM Emp
WHERE Deptno = 30
WITH CHECK OPTION CONSTRAINT EDept30ChkView;

View created.
SQL> INSERT INTO EDept30
2 (Empno, Ename, Sal, Job, Deptno)
3 VALUES(1236, 'SAMPLE03', 2500, 'CLERK', 20);
INSERT INTO EDept30
*
ERROR at line 1:
ORA-01402: view WITH CHECK OPTION where-clause violation

SQL> cl scr
SQL>
2
3
4
5
6

CREATE OR REPLACE VIEW EDept30


AS
SELECT *
FROM Emp
WHERE Deptno = 30
WITH READ ONLY;

View created.
SQL> INSERT INTO EDept30
2 (Empno, Ename, Sal, Job, Deptno)
3 VALUES(1236, 'SAMPLE03', 2500, 'CLERK', 20);
(Empno, Ename, Sal, Job, Deptno)
*
ERROR at line 2:
ORA-01733: virtual column not allowed here

SQL> DELETE FROM EDept30


2 WHERE Ename = 'TURNER';
DELETE FROM EDept30
*
ERROR at line 1:
ORA-01752: cannot delete from view without exactly one key-preserved table

SQL> UPDATE EDept30


2 SET Sal = Sal + 1000
3 WHERE Ename = 'TURNER';
SET Sal = Sal + 1000
*
ERROR at line 2:
ORA-01733: virtual column not allowed here

SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> CREATE TABLE MyMasterDF


2 (
3
MastID
NUMBER(2)
4
CONSTRAINT MastIDDFPK PRIMARY KEY
5
INITIALLY DEFERRED DEFERRABLE,
6
MastName VARCHAR2(10)
7
CONSTRAINT MastNameDFCHK
8
CHECK(MastName = UPPER(MastName))
9
INITIALLY DEFERRED DEFERRABLE,
10
MastDate DATE
11
CONSTRAINT MastDateDFNN NOT NULL
12
INITIALLY DEFERRED DEFERRABLE
13 );
Table created.
SQL> INSERT INTO
2 MyMasterDF(MastID, MastName, MastDate)
3 VALUES(10, 'MASTER10', '10-OCT-07');
1 row created.
SQL> INSERT INTO
2 MyMasterDF(MastID, MastName, MastDate)
3 VALUES(11, 'MASTER11', '11-OCT-07');
1 row created.
SQL> INSERT INTO
2 MyMasterDF(MastID, MastName, MastDate)
3 VALUES(12, 'MASTER12', '12-OCT-07');
1 row created.
SQL> INSERT INTO
2 MyMasterDF(MastID, MastName, MastDate)
3 VALUES(10, 'MASTER10', '10-OCT-07');
1 row created.
SQL> INSERT INTO
2 MyMasterDF(MastID, MastName, MastDate)
3 VALUES(12, 'MASTER12', '12-OCT-07');
1 row created.
SQL> COMMIT;
COMMIT
*
ERROR at line 1:
ORA-02091: transaction rolled back
ORA-00001: unique constraint (SCOTT.MASTIDDFPK) violated

SQL> SPOOL OFF


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> SET VERIFY OFF
SQL> cl scr
SQL> DESC Emp
Name
----------------------------------------EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO

Null?
Type
-------- ---------------------------NOT NULL NUMBER(4)
VARCHAR2(10)
VARCHAR2(9)
NUMBER(4)
DATE
NUMBER(7,2)
NUMBER(7,2)
NOT NULL NUMBER(2)

SQL> CREATE INDEX EmpEmpnoIDX


2 ON Emp(Empno);
ON Emp(Empno)
*
ERROR at line 2:
ORA-01408: such column list already indexed

SQL>
SQL>
SQL>
SQL>
SQL>
SQL>

COLUMN
COLUMN
COLUMN
COLUMN
COLUMN
cl scr

Empno FORMAT 9999


Deptno FORMAT 99
MGR FORMAT 9999
Sal FORMAT 9999
Comm FORMAT 9999

SQL> SELECT * FROM Emp;


EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20

EMPNO
----7788
7876
7934

ENAME
---------SCOTT
ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

14 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT * FROM Emp


2 WHERE Empno = 7566;
EMPNO ENAME
JOB
MGR HIREDATE
SAL COMM DEPTNO
----- ---------- --------- ----- --------- ----- ----- -----7566 JONES
MANAGER
7839 02-APR-81 2975
20
SQL> cl scr
SQL>
SQL>
2
3

SET AUTOTRACE ON EXPLAIN


SELECT *
FROM Emp
WHERE Empno = 7566;

EMPNO ENAME
JOB
MGR HIREDATE
SAL COMM DEPTNO
----- ---------- --------- ----- --------- ----- ----- -----7566 JONES
MANAGER
7839 02-APR-81 2975
20

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=1 Card=1 Bytes=87)
1
0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car
d=1 Bytes=87)
2

INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=1 Card=1)

SQL> SELECT *
2 FROM Emp
3 WHERE Ename = 'JONES';
EMPNO ENAME
JOB
MGR HIREDATE
SAL COMM DEPTNO
----- ---------- --------- ----- --------- ----- ----- -----7566 JONES
MANAGER
7839 02-APR-81 2975
20

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=87)
1
0
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 Bytes=
87)

SQL> CREATE INDEX EmpEnameIDX


2 ON Emp(Ename);
Index created.
SQL> SELECT *
2 FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

WHERE Ename = 'JONES';

EMPNO ENAME
JOB
MGR HIREDATE
SAL COMM DEPTNO
----- ---------- --------- ----- --------- ----- ----- -----7566 JONES
MANAGER
7839 02-APR-81 2975
20

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=87)
1
0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=1 Bytes=87)
2

INDEX (RANGE SCAN) OF 'EMPENAMEIDX' (INDEX) (Cost=1 Card


=1)

SQL> SELECT *
2 FROM Emp
3 WHERE Empno = 7566;
EMPNO ENAME
JOB
MGR HIREDATE
SAL COMM DEPTNO
----- ---------- --------- ----- --------- ----- ----- -----7566 JONES
MANAGER
7839 02-APR-81 2975
20

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=1 Card=1 Bytes=87)
1
0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car
d=1 Bytes=87)
2

INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=1 Card=1)

SQL> cl scr
SQL> SELECT *
2 FROM Emp
3 WHERE Empno = 7566;
EMPNO ENAME
JOB
MGR HIREDATE
SAL COMM DEPTNO
----- ---------- --------- ----- --------- ----- ----- -----7566 JONES
MANAGER
7839 02-APR-81 2975
20

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=1 Card=1 Bytes=87)
1
0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car
d=1 Bytes=87)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=1 Card=1)

SQL> SELECT *
2 FROM Emp
3 WHERE Empno > 7566;
EMPNO
----7839
7698
7782
7654
7844
7900
7902
7788
7876
7934

ENAME
---------KING
BLAKE
CLARK
MARTIN
TURNER
JAMES
FORD
SCOTT
ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
ANALYST
7566 03-DEC-81 3000
20
ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

10 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=10 Bytes=87
0)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=10 Bytes


=870)

SQL> SELECT *
2 FROM Emp
3 WHERE Empno < 7566;
EMPNO
----7499
7521
7369

ENAME
---------ALLEN
WARD
SMITH

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 22-FEB-81 1250
500
30
CLERK
7902 17-DEC-80
800
20

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=3 Bytes=261
)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=3 Bytes=


261)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL>
2
SQL>
2
3

SELECT *
SELECT *
FROM Emp
WHERE Empno <> 7566;

EMPNO
----7839
7698
7782
7654
7499
7844
7900
7521
7902
7369
7788

ENAME
---------KING
BLAKE
CLARK
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20
ANALYST
7566 09-DEC-82 3000
20

EMPNO
----7876
7934

ENAME
---------ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

13 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=13 Bytes=11
31)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=13 Bytes


=1131)

SQL> SELECT *
2 FROM Emp
3 WHERE Empno = 7566 OR Empno = 7839 OR Empno = 7782;
EMPNO
----7566
7782
7839

ENAME
---------JONES
CLARK
KING

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----MANAGER
7839 02-APR-81 2975
20
MANAGER
7839 09-JUN-81 2450
10
PRESIDENT
17-NOV-81 5000
10

Execution Plan
---------------------------------------------------------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=3 Bytes=261


)

1
2

0
1

INLIST ITERATOR
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 C
ard=3 Bytes=261)

INDEX (RANGE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE


)) (Cost=2 Card=1)

SQL> SELECT *
2 FROM Emp
3 WHERE Empno IN(7566, 7839, 7782);
EMPNO
----7566
7782
7839

ENAME
---------JONES
CLARK
KING

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----MANAGER
7839 02-APR-81 2975
20
MANAGER
7839 09-JUN-81 2450
10
PRESIDENT
17-NOV-81 5000
10

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=3 Bytes=261
)
1
2

0
1

INLIST ITERATOR
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 C
ard=3 Bytes=261)

INDEX (RANGE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE


)) (Cost=2 Card=1)

SQL> SELECT *
2 FROM Emp
3 WHERE Empno = 7566 AND Empno = 7654;
no rows selected

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=1 Card=1 Bytes=87)
1
0
FILTER
2
1
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 C
ard=1 Bytes=87)
3

INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQU


E)) (Cost=1 Card=1)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT *
2 FROM Emp
3 WHERE Empno = 7566 AND Ename = 'JONES';
EMPNO ENAME
JOB
MGR HIREDATE
SAL COMM DEPTNO
----- ---------- --------- ----- --------- ----- ----- -----7566 JONES
MANAGER
7839 02-APR-81 2975
20

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=1 Card=1 Bytes=87)
1
0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car
d=1 Bytes=87)
2

INDEX (RANGE SCAN) OF 'EMPENAMEIDX' (INDEX) (Cost=1 Card


=1)

SQL> SELECT *
2 FROM Emp
3 WHERE Empno = 7566 OR Ename = 'JONES';
EMPNO ENAME
JOB
MGR HIREDATE
SAL COMM DEPTNO
----- ---------- --------- ----- --------- ----- ----- -----7566 JONES
MANAGER
7839 02-APR-81 2975
20

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=87)
1
0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=3 Car
d=1 Bytes=87)
2
3
4
5

1
2
3
4

BITMAP CONVERSION (TO ROWIDS)


BITMAP OR
BITMAP CONVERSION (FROM ROWIDS)
INDEX (RANGE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UN
IQUE)) (Cost=1)

6
7

3
6

BITMAP CONVERSION (FROM ROWIDS)


INDEX (RANGE SCAN) OF 'EMPENAMEIDX' (INDEX) (Cost=
1)

SQL> SPOOL OFF


SQL> cl scr
SQL> CREATE INDEX EmpEnameJobIDX
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2 AS
3
SQL> CREATE INDEX EmpEnameJobIDX
2 ON Emp(Ename, Job);
Index created.
SQL> SELECT Ename, Sal, Deptno, Job, HireDate
2 FROM Emp
3 WHERE Ename = 'JONES';
ENAME
SAL
DEPTNO JOB
HIREDATE
---------- ---------- ---------- --------- --------JONES
2975
20 MANAGER
02-APR-81
SQL> SELECT Ename, Sal, Deptno, Job, HireDate
2 FROM Emp
3 WHERE Job = 'MANAGER';
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER
SQL>
SQL>
2
3

HIREDATE
--------01-MAY-81
09-JUN-81
02-APR-81

SET AUTOTRACE ON EXPLAIN


SELECT Ename, Sal, Deptno, Job, HireDate
FROM Emp
WHERE Ename = 'JONES';

ENAME
SAL
DEPTNO JOB
HIREDATE
---------- ---------- ---------- --------- --------JONES
2975
20 MANAGER
02-APR-81

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=48)
1
0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=1 Bytes=48)
2

INDEX (RANGE SCAN) OF 'EMPENAMEJOBIDX' (INDEX) (Cost=1 C


ard=1)

SQL> SELECT Ename, Sal, Deptno, Job, HireDate


2 FROM Emp
3 WHERE Ename = 'JONES';
ENAME
SAL
DEPTNO JOB
HIREDATE
---------- ---------- ---------- --------- --------JONES
2975
20 MANAGER
02-APR-81

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=48)
1
0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=1 Bytes=48)
2

INDEX (RANGE SCAN) OF 'EMPENAMEJOBIDX' (INDEX) (Cost=1 C


ard=1)

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Empno, Ename, Sal, Deptno, Job, HireDate


FROM Emp
WHERE Empno = 7566
/

EMPNO ENAME
SAL
DEPTNO JOB
HIREDATE
---------- ---------- ---------- ---------- --------- --------7566 JONES
2975
20 MANAGER
02-APR-81

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=1 Card=1 Bytes=61)
1
0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car
d=1 Bytes=61)
2

INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=1 Card=1)

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Empno, Ename, Sal, Deptno, Job, HireDate


FROM Emp
WHERE Empno = 7566 AND Ename = 'JONES'
/

EMPNO ENAME
SAL
DEPTNO JOB
HIREDATE
---------- ---------- ---------- ---------- --------- --------7566 JONES
2975
20 MANAGER
02-APR-81

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=1 Card=1 Bytes=61)
1
0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car
d=1 Bytes=61)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

INDEX (RANGE SCAN) OF 'EMPENAMEJOBIDX' (INDEX) (Cost=1 C


ard=1)

SQL> SELECT Ename, Sal, Deptno, Job, HireDate


2 FROM Emp
3 WHERE Ename = 'JONES' AND Job = 'MANAGER';
ENAME
SAL
DEPTNO JOB
HIREDATE
---------- ---------- ---------- --------- --------JONES
2975
20 MANAGER
02-APR-81

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=48)
1
0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=1 Bytes=48)
2

INDEX (RANGE SCAN) OF 'EMPENAMEJOBIDX' (INDEX) (Cost=1 C


ard=1)

SQL> CREATE INDEX EmpEnameIDX


2 ON Emp(Ename);
Index created.
SQL> SELECT Ename, Sal, Deptno, Job, HireDate
2 FROM Emp
3 WHERE Ename = 'JONES' AND Job = 'MANAGER';
ENAME
SAL
DEPTNO JOB
HIREDATE
---------- ---------- ---------- --------- --------JONES
2975
20 MANAGER
02-APR-81

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=48)
1
0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=1 Bytes=48)
2

INDEX (RANGE SCAN) OF 'EMPENAMEJOBIDX' (INDEX) (Cost=1 C


ard=1)

SQL> SELECT Ename, Sal, Deptno, Job, HireDate


2 FROM Emp
3 WHERE Ename = 'JONES';
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
SAL
DEPTNO JOB
HIREDATE
---------- ---------- ---------- --------- --------JONES
2975
20 MANAGER
02-APR-81

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=48)
1
0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=1 Bytes=48)
2

INDEX (RANGE SCAN) OF 'EMPENAMEIDX' (INDEX) (Cost=1 Card


=1)

SQL> SELECT Ename, Sal, Deptno, Job, HireDate


2 FROM Emp
3 WHERE Job = 'MANAGER';
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER

HIREDATE
--------01-MAY-81
09-JUN-81
02-APR-81

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=3 Bytes=144
)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=3 Bytes=


144)

SQL> CREATE INDEX EmpJobEnameIDX


2 ON Emp(Job, Ename);
Index created.
SQL> SELECT Ename, Sal, Deptno, Job, HireDate
2 FROM Emp
3 WHERE Job = 'MANAGER';
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER

HIREDATE
--------01-MAY-81
09-JUN-81
02-APR-81

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=3 Bytes=144
)
1

TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car


d=3 Bytes=144)

INDEX (RANGE SCAN) OF 'EMPJOBENAMEIDX' (INDEX) (Cost=1 C


ard=3)

SQL> CREATE INDEX EmpJobIDX


2 ON Emp(Job);
Index created.
SQL> SELECT Ename, Sal, Deptno, Job, HireDate
2 FROM Emp
3 WHERE Job = 'MANAGER';
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER

HIREDATE
--------01-MAY-81
09-JUN-81
02-APR-81

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=3 Bytes=144
)
1

TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car


d=3 Bytes=144)

INDEX (RANGE SCAN) OF 'EMPJOBENAMEIDX' (INDEX) (Cost=1 C


ard=3)

SQL> cl scr
SQL> CREATE UNIQUE INDEX EmpEnameUNQIDX
2 ON Emp(Ename);
ON Emp(Ename)
*
ERROR at line 2:
ORA-01408: such column list already indexed

SQL> DROP INDEX EmpEnameIDX;


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Index dropped.
SQL> CREATE UNIQUE INDEX EmpEnameUNQIDX
2 ON Emp(Ename);
Index created.
SQL> INSERT INTO Emp(Empno, Ename, Deptno, Job)
2 VALUES(1234, 'ADAMS', 30, 'CLERK');
INSERT INTO Emp(Empno, Ename, Deptno, Job)
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.EMPENAMEUNQIDX) violated

SQL> DROP INDEX EmpEnameUNQIDX;


Index dropped.
SQL> cl scr
SQL> CREATE UNIQUE INDEX EmpDeptnoUNQIDX
2 ON Emp(Deptno);
ON Emp(Deptno)
*
ERROR at line 2:
ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys found

SQL> cl scr
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> SELECT ROWID, Empno, Ename, Sal
2 FROM Emp;
ROWID
EMPNO ENAME
SAL
------------------ ---------- ---------- ---------AAAMcCAAEAAAAHPAAA
7839 KING
5000
AAAMcCAAEAAAAHPAAB
7698 BLAKE
2850
AAAMcCAAEAAAAHPAAC
7782 CLARK
2450
AAAMcCAAEAAAAHPAAD
7566 JONES
2975
AAAMcCAAEAAAAHPAAE
7654 MARTIN
1250
AAAMcCAAEAAAAHPAAF
7499 ALLEN
1600
AAAMcCAAEAAAAHPAAG
7844 TURNER
1500
AAAMcCAAEAAAAHPAAH
7900 JAMES
950
AAAMcCAAEAAAAHPAAI
7521 WARD
1250
AAAMcCAAEAAAAHPAAJ
7902 FORD
3000
AAAMcCAAEAAAAHPAAK
7369 SMITH
800
ROWID
EMPNO ENAME
SAL
------------------ ---------- ---------- ---------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

AAAMcCAAEAAAAHPAAL
AAAMcCAAEAAAAHPAAM
AAAMcCAAEAAAAHPAAN

7788 SCOTT
7876 ADAMS
7934 MILLER

3000
1100
1300

14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=56
0)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=560)

SQL> cl scr
SQL> SELECT ROWID, Empno, Ename, Deptno
2 FROM Emp;
ROWID
EMPNO ENAME
DEPTNO
------------------ ---------- ---------- ---------AAAMcCAAEAAAAHPAAA
7839 KING
10
AAAMcCAAEAAAAHPAAB
7698 BLAKE
30
AAAMcCAAEAAAAHPAAC
7782 CLARK
10
AAAMcCAAEAAAAHPAAD
7566 JONES
20
AAAMcCAAEAAAAHPAAE
7654 MARTIN
30
AAAMcCAAEAAAAHPAAF
7499 ALLEN
30
AAAMcCAAEAAAAHPAAG
7844 TURNER
30
AAAMcCAAEAAAAHPAAH
7900 JAMES
30
AAAMcCAAEAAAAHPAAI
7521 WARD
30
AAAMcCAAEAAAAHPAAJ
7902 FORD
20
AAAMcCAAEAAAAHPAAK
7369 SMITH
20
ROWID
EMPNO ENAME
DEPTNO
------------------ ---------- ---------- ---------AAAMcCAAEAAAAHPAAL
7788 SCOTT
20
AAAMcCAAEAAAAHPAAM
7876 ADAMS
20
AAAMcCAAEAAAAHPAAN
7934 MILLER
10
14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=56
0)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=560)

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> SELECT Ename, Deptno, Sal, Comm, Sal + NVL(Comm) TotSal
2 FROM Emp
3 WHERE Sal + NVL(Comm) > 2000;
SELECT Ename, Deptno, Sal, Comm, Sal + NVL(Comm) TotSal
*
ERROR at line 1:
ORA-00909: invalid number of arguments

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename, Deptno, Sal, Comm, Sal + NVL(Comm, 0) TotSal


FROM Emp
WHERE Sal + NVL(Comm, 0) > 2000
/

ENAME
DEPTNO
SAL
COMM
TOTSAL
---------- ---------- ---------- ---------- ---------KING
10
5000
5000
BLAKE
30
2850
2850
CLARK
10
2450
2450
JONES
20
2975
2975
MARTIN
30
1250
1400
2650
FORD
20
3000
3000
SCOTT
20
3000
3000
7 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=7 Bytes=322
)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=7 Bytes=


322)

SQL> CREATE INDEX EmpTotSalIDX


2 ON Emp(Sal + NVL(Comm, 0));
Index created.
SQL> SELECT Ename, Deptno, Sal, Comm, Sal + NVL(Comm, 0) TotSal
2 FROM Emp
3 WHERE Sal + NVL(Comm, 0) > 2000;
ENAME
DEPTNO
SAL
COMM
TOTSAL
---------- ---------- ---------- ---------- ---------CLARK
10
2450
2450
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

MARTIN
BLAKE
JONES
FORD
SCOTT
KING

30
30
20
20
20
10

1250
2850
2975
3000
3000
5000

1400

2650
2850
2975
3000
3000
5000

7 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=7 Bytes=322
)
1

TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car


d=7 Bytes=322)
INDEX (RANGE SCAN) OF 'EMPTOTSALIDX' (INDEX) (Cost=1 Car
d=1)

SQL> SELECT Ename, Sal, Sal * 12 AnnSal


2 FROM Emp
3 WHERE Sal * 12 > 35000;
ENAME
SAL
ANNSAL
---------- ---------- ---------KING
5000
60000
JONES
2975
35700
FORD
3000
36000
SCOTT
3000
36000

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=4 Bytes=80)
1
0
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=4 Bytes=
80)

SQL> CREATE INDEX EmpAnnSalIDX


2 ON Emp(Sal * 12);
Index created.
SQL> SELECT Ename, Sal, Sal * 12 AnnSal
2 FROM Emp
3 WHERE Sal * 12 > 35000;
ENAME
SAL
ANNSAL
---------- ---------- ---------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

JONES
FORD
SCOTT
KING

2975
3000
3000
5000

35700
36000
36000
60000

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=4 Bytes=80)
1
0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=4 Bytes=80)
2

INDEX (RANGE SCAN) OF 'EMPANNSALIDX' (INDEX) (Cost=1 Car


d=1)

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3 WHERE LOWER(Ename) = 'smith';
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------SMITH
800
20 CLERK

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=39)
1
0
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 Bytes=
39)

SQL> CREATE INDEX EmpEnameLIDX


2 ON Emp(LOWER(Ename));
Index created.
SQL> CREATE INDEX EmpEnameUIDX
2 ON Emp(UPPER(Ename));
Index created.
SQL> CREATE INDEX EmpEnameIIDX
2 ON Emp(INITCAP(Ename));
Index created.
SQL> SELECT Ename, Sal, Deptno, Job
2 FROM Emp
3 WHERE LOWER(Ename) = 'smith';
ENAME

SAL
DEPTNO JOB
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

---------- ---------- ---------- --------SMITH


800
20 CLERK

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=39)
1
0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=1 Bytes=39)
2

INDEX (RANGE SCAN) OF 'EMPENAMELIDX' (INDEX) (Cost=1 Car


d=1)

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3 WHERE INITCAP(Ename) = 'Smith';
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------SMITH
800
20 CLERK

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=39)
1
0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=1 Bytes=39)
2

INDEX (RANGE SCAN) OF 'EMPENAMEIIDX' (INDEX) (Cost=1 Car


d=1)

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3 WHERE Ename = UPPER('smith');
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------SMITH
800
20 CLERK

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=39)
1
0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=1 Bytes=39)
2

INDEX (RANGE SCAN) OF 'EMPENAMEJOBIDX' (INDEX) (Cost=1 C


ard=1)

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT Ename, HireDate, TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate) / 12)


EmpExp
2 FROM Emp
3 WHERE TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate) / 12) > 28;
ENAME
---------BLAKE
CLARK
JONES
ALLEN
WARD
SMITH

HIREDATE
EMPEXP
--------- ---------01-MAY-81
29
09-JUN-81
29
02-APR-81
29
20-FEB-81
29
22-FEB-81
29
17-DEC-80
29

6 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=6 Bytes=96)
1
0
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=6 Bytes=
96)

SQL> CREATE INDEX EmpEmpExpIDX


2 ON Emp(TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate) / 12));
ON Emp(TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate) / 12))
*
ERROR at line 2:
ORA-01743: only pure functions can be indexed

SQL> cl scr
SQL> DESC USER_INDEXES
Name
Null?
Type
----------------------------------------- -------- ---------------------------INDEX_NAME
NOT NULL VARCHAR2(30)
INDEX_TYPE
VARCHAR2(27)
TABLE_OWNER
NOT NULL VARCHAR2(30)
TABLE_NAME
NOT NULL VARCHAR2(30)
TABLE_TYPE
VARCHAR2(11)
UNIQUENESS
VARCHAR2(9)
COMPRESSION
VARCHAR2(8)
PREFIX_LENGTH
NUMBER
TABLESPACE_NAME
VARCHAR2(30)
INI_TRANS
NUMBER
MAX_TRANS
NUMBER
INITIAL_EXTENT
NUMBER
NEXT_EXTENT
NUMBER
MIN_EXTENTS
NUMBER
MAX_EXTENTS
NUMBER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

PCT_INCREASE
PCT_THRESHOLD
INCLUDE_COLUMN
FREELISTS
FREELIST_GROUPS
PCT_FREE
LOGGING
BLEVEL
LEAF_BLOCKS
DISTINCT_KEYS
AVG_LEAF_BLOCKS_PER_KEY
AVG_DATA_BLOCKS_PER_KEY
CLUSTERING_FACTOR
STATUS
NUM_ROWS
SAMPLE_SIZE
LAST_ANALYZED
DEGREE
INSTANCES
PARTITIONED
TEMPORARY
GENERATED
SECONDARY
BUFFER_POOL
USER_STATS
DURATION
PCT_DIRECT_ACCESS
ITYP_OWNER
ITYP_NAME
PARAMETERS
GLOBAL_STATS
DOMIDX_STATUS
DOMIDX_OPSTATUS
FUNCIDX_STATUS
JOIN_INDEX
IOT_REDUNDANT_PKEY_ELIM
DROPPED
SQL> DESC USER_IND_COLUMNS
Name
Null?
----------------------------------------- -------INDEX_NAME
TABLE_NAME
COLUMN_NAME
COLUMN_POSITION
COLUMN_LENGTH
CHAR_LENGTH
DESCEND

NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
VARCHAR2(3)
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
VARCHAR2(8)
NUMBER
NUMBER
DATE
VARCHAR2(40)
VARCHAR2(40)
VARCHAR2(3)
VARCHAR2(1)
VARCHAR2(1)
VARCHAR2(1)
VARCHAR2(7)
VARCHAR2(3)
VARCHAR2(15)
NUMBER
VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(1000)
VARCHAR2(3)
VARCHAR2(12)
VARCHAR2(6)
VARCHAR2(8)
VARCHAR2(3)
VARCHAR2(3)
VARCHAR2(3)

Type
---------------------------VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(4000)
NUMBER
NUMBER
NUMBER
VARCHAR2(4)

SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> SET SQLPROMPT DBASEC>
DBASEC>cl scr
DBASEC>COLUMN
DBASEC>COLUMN
DBASEC>COLUMN
DBASEC>COLUMN
DBASEC>COLUMN
DBASEC>cl scr

Empno FORMAT 9999


MGR FORMAT 9999
Sal FORMAT 9999
Comm FORMAT 9999
Deptno FORMAT 99

DBASEC>SELECT * FROM Emp;


SELECT * FROM Emp
*
ERROR at line 1:
ORA-00942: table or view does not exist

DBASEC>DESC TAB
Name
Null?
----------------------------------------- -------TNAME
NOT NULL
TABTYPE
CLUSTERID

Type
---------------------------VARCHAR2(30)
VARCHAR2(7)
NUMBER

DBASEC>SELECT * FROM TAB;


no rows selected
DBASEC>DESC USER_TABLES
Name
Null?
Type
----------------------------------------- -------- ---------------------------TABLE_NAME
NOT NULL VARCHAR2(30)
TABLESPACE_NAME
VARCHAR2(30)
CLUSTER_NAME
VARCHAR2(30)
IOT_NAME
VARCHAR2(30)
PCT_FREE
NUMBER
PCT_USED
NUMBER
INI_TRANS
NUMBER
MAX_TRANS
NUMBER
INITIAL_EXTENT
NUMBER
NEXT_EXTENT
NUMBER
MIN_EXTENTS
NUMBER
MAX_EXTENTS
NUMBER
PCT_INCREASE
NUMBER
FREELISTS
NUMBER
FREELIST_GROUPS
NUMBER
LOGGING
VARCHAR2(3)
BACKED_UP
VARCHAR2(1)
NUM_ROWS
NUMBER
BLOCKS
NUMBER
EMPTY_BLOCKS
NUMBER
AVG_SPACE
NUMBER
CHAIN_CNT
NUMBER
AVG_ROW_LEN
NUMBER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

AVG_SPACE_FREELIST_BLOCKS
NUM_FREELIST_BLOCKS
DEGREE
INSTANCES
CACHE
TABLE_LOCK
SAMPLE_SIZE
LAST_ANALYZED
PARTITIONED
IOT_TYPE
TEMPORARY
SECONDARY
NESTED
BUFFER_POOL
ROW_MOVEMENT
GLOBAL_STATS
USER_STATS
DURATION
SKIP_CORRUPT
MONITORING
CLUSTER_OWNER
DEPENDENCIES
COMPRESSION
DROPPED

NUMBER
NUMBER
VARCHAR2(10)
VARCHAR2(10)
VARCHAR2(5)
VARCHAR2(8)
NUMBER
DATE
VARCHAR2(3)
VARCHAR2(12)
VARCHAR2(1)
VARCHAR2(1)
VARCHAR2(3)
VARCHAR2(7)
VARCHAR2(8)
VARCHAR2(3)
VARCHAR2(3)
VARCHAR2(15)
VARCHAR2(8)
VARCHAR2(3)
VARCHAR2(30)
VARCHAR2(8)
VARCHAR2(8)
VARCHAR2(3)

DBASEC>SELECT * FROM USER_TABLES;


no rows selected
DBASEC>DESC USER_TAB_COLUMNS
Name
Null?
Type
----------------------------------------- -------- ---------------------------TABLE_NAME
NOT NULL VARCHAR2(30)
COLUMN_NAME
NOT NULL VARCHAR2(30)
DATA_TYPE
VARCHAR2(106)
DATA_TYPE_MOD
VARCHAR2(3)
DATA_TYPE_OWNER
VARCHAR2(30)
DATA_LENGTH
NOT NULL NUMBER
DATA_PRECISION
NUMBER
DATA_SCALE
NUMBER
NULLABLE
VARCHAR2(1)
COLUMN_ID
NUMBER
DEFAULT_LENGTH
NUMBER
DATA_DEFAULT
LONG
NUM_DISTINCT
NUMBER
LOW_VALUE
RAW(32)
HIGH_VALUE
RAW(32)
DENSITY
NUMBER
NUM_NULLS
NUMBER
NUM_BUCKETS
NUMBER
LAST_ANALYZED
DATE
SAMPLE_SIZE
NUMBER
CHARACTER_SET_NAME
VARCHAR2(44)
CHAR_COL_DECL_LENGTH
NUMBER
GLOBAL_STATS
VARCHAR2(3)
USER_STATS
VARCHAR2(3)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

AVG_COL_LEN
CHAR_LENGTH
CHAR_USED
V80_FMT_IMAGE
DATA_UPGRADED
HISTOGRAM

NUMBER
NUMBER
VARCHAR2(1)
VARCHAR2(3)
VARCHAR2(3)
VARCHAR2(15)

DBASEC>SELECT * FROM USER_TAB_COLUMNS;


no rows selected
DBASEC>DESC USER_CONSTRAINTS
Name
----------------------------------------OWNER
CONSTRAINT_NAME
CONSTRAINT_TYPE
TABLE_NAME
SEARCH_CONDITION
R_OWNER
R_CONSTRAINT_NAME
DELETE_RULE
STATUS
DEFERRABLE
DEFERRED
VALIDATED
GENERATED
BAD
RELY
LAST_CHANGE
INDEX_OWNER
INDEX_NAME
INVALID
VIEW_RELATED

Null?
-------NOT NULL
NOT NULL

Type
---------------------------VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(1)
NOT NULL VARCHAR2(30)
LONG
VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(9)
VARCHAR2(8)
VARCHAR2(14)
VARCHAR2(9)
VARCHAR2(13)
VARCHAR2(14)
VARCHAR2(3)
VARCHAR2(4)
DATE
VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(7)
VARCHAR2(14)

DBASEC>SELECT * FROM USER_CONSTRAINTS;


no rows selected
DBASEC>DESC USER_INDEXES
Name
Null?
Type
----------------------------------------- -------- ---------------------------INDEX_NAME
NOT NULL VARCHAR2(30)
INDEX_TYPE
VARCHAR2(27)
TABLE_OWNER
NOT NULL VARCHAR2(30)
TABLE_NAME
NOT NULL VARCHAR2(30)
TABLE_TYPE
VARCHAR2(11)
UNIQUENESS
VARCHAR2(9)
COMPRESSION
VARCHAR2(8)
PREFIX_LENGTH
NUMBER
TABLESPACE_NAME
VARCHAR2(30)
INI_TRANS
NUMBER
MAX_TRANS
NUMBER
INITIAL_EXTENT
NUMBER
NEXT_EXTENT
NUMBER
MIN_EXTENTS
NUMBER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

MAX_EXTENTS
PCT_INCREASE
PCT_THRESHOLD
INCLUDE_COLUMN
FREELISTS
FREELIST_GROUPS
PCT_FREE
LOGGING
BLEVEL
LEAF_BLOCKS
DISTINCT_KEYS
AVG_LEAF_BLOCKS_PER_KEY
AVG_DATA_BLOCKS_PER_KEY
CLUSTERING_FACTOR
STATUS
NUM_ROWS
SAMPLE_SIZE
LAST_ANALYZED
DEGREE
INSTANCES
PARTITIONED
TEMPORARY
GENERATED
SECONDARY
BUFFER_POOL
USER_STATS
DURATION
PCT_DIRECT_ACCESS
ITYP_OWNER
ITYP_NAME
PARAMETERS
GLOBAL_STATS
DOMIDX_STATUS
DOMIDX_OPSTATUS
FUNCIDX_STATUS
JOIN_INDEX
IOT_REDUNDANT_PKEY_ELIM
DROPPED

NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
VARCHAR2(3)
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
VARCHAR2(8)
NUMBER
NUMBER
DATE
VARCHAR2(40)
VARCHAR2(40)
VARCHAR2(3)
VARCHAR2(1)
VARCHAR2(1)
VARCHAR2(1)
VARCHAR2(7)
VARCHAR2(3)
VARCHAR2(15)
NUMBER
VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(1000)
VARCHAR2(3)
VARCHAR2(12)
VARCHAR2(6)
VARCHAR2(8)
VARCHAR2(3)
VARCHAR2(3)
VARCHAR2(3)

DBASEC>SELECT * FROM USER_INDEXES;


no rows selected
DBASEC>DESC USER_VIEWS
Name
Null?
Type
----------------------------------------- -------- ---------------------------VIEW_NAME
NOT NULL VARCHAR2(30)
TEXT_LENGTH
NUMBER
TEXT
LONG
TYPE_TEXT_LENGTH
NUMBER
TYPE_TEXT
VARCHAR2(4000)
OID_TEXT_LENGTH
NUMBER
OID_TEXT
VARCHAR2(4000)
VIEW_TYPE_OWNER
VARCHAR2(30)
VIEW_TYPE
VARCHAR2(30)
SUPERVIEW_NAME
VARCHAR2(30)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

DBASEC>SELECT * FROM USER_VIEWS;


no rows selected
DBASEC>DESC USER_SEQUENCES
Name
----------------------------------------SEQUENCE_NAME
MIN_VALUE
MAX_VALUE
INCREMENT_BY
CYCLE_FLAG
ORDER_FLAG
CACHE_SIZE
LAST_NUMBER

Null?
Type
-------- ---------------------------NOT NULL VARCHAR2(30)
NUMBER
NUMBER
NOT NULL NUMBER
VARCHAR2(1)
VARCHAR2(1)
NOT NULL NUMBER
NOT NULL NUMBER

DBASEC>SELECT * FROM USER_SEQUENCES;


no rows selected
DBASEC>cl scr
DBASEC>CREATE TABLE SampleTAB
2
(
3
SampID NUMBER(2),
4
SampName VARCHAR2(10),
5
SampDate DATE
6
);
CREATE TABLE SampleTAB
*
ERROR at line 1:
ORA-01031: insufficient privileges

DBASEC>cl scr
DBASEC>SELECT * FROM TAB;
no rows selected
DBASEC>DESC USER_OBJECTS
Name
Null?
Type
----------------------------------------- -------- ---------------------------OBJECT_NAME
VARCHAR2(128)
SUBOBJECT_NAME
VARCHAR2(30)
OBJECT_ID
NUMBER
DATA_OBJECT_ID
NUMBER
OBJECT_TYPE
VARCHAR2(19)
CREATED
DATE
LAST_DDL_TIME
DATE
TIMESTAMP
VARCHAR2(19)
STATUS
VARCHAR2(7)
TEMPORARY
VARCHAR2(1)
GENERATED
VARCHAR2(1)
SECONDARY
VARCHAR2(1)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

DBASEC>SELECT * FROM USER_OBJECTS;


no rows selected
DBASEC>cl scr
DBASEC>SELECT * FROM TAB;
no rows selected
DBASEC>SELECT * FROM Emp;
SELECT * FROM Emp
*
ERROR at line 1:
ORA-00942: table or view does not exist

DBASEC>SELECT * FROM SCOTT.Emp;


EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20

EMPNO
----7788
7876
7934

ENAME
---------SCOTT
ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

14 rows selected.
DBASEC>SELECT * FROM SCOTT.Dept;
SELECT * FROM SCOTT.Dept
*
ERROR at line 1:
ORA-00942: table or view does not exist

DBASEC>DELETE FROM SCOTT.Emp


2
WHERE SCOTT.Emp.Empno = 7654;
DELETE FROM SCOTT.Emp
*
ERROR at line 1:
ORA-01031: insufficient privileges
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

DBASEC>SPOOL OFF
SQL> SET SQLPROMPT DBASEC>
DBASEC>cl scr
DBASEC>DESC USER_TAB_PRIVS_RECD
Name
----------------------------------------OWNER
TABLE_NAME
GRANTOR
PRIVILEGE
GRANTABLE
HIERARCHY

Null?
-------NOT NULL
NOT NULL
NOT NULL
NOT NULL

Type
---------------------------VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(40)
VARCHAR2(3)
VARCHAR2(3)

DBASEC>COLUMN OWNER FORMAT A15


DBASEC>COLUMN "Table" FORMAT A15
DBASEC>COLUMN GRANTOR FORMAT A15
DBASEC>COLUMN PRIVILEGE FORMAT A15
DBASEC>SELECT
2
OWNER,
3
TABLE_NAME "Table",
4
GRANTOR,
5
PRIVILEGE
6 FROM USER_TAB_PRIVS_RECD;
no rows selected
DBASEC>cl scr
DBASEC>SELECT * FROM TAB;
no rows selected
DBASEC>COLUMN
DBASEC>COLUMN
DBASEC>COLUMN
DBASEC>COLUMN
DBASEC>COLUMN
DBASEC>cl scr

Empno FORMAT 9999


Sal FORMAT 9999
Comm FORMAT 9999
MGR FORMAT 9999
Deptno FORMAT 99

DBASEC>SELECT
2
OWNER,
3
TABLE_NAME "Table",
4
GRANTOR,
5
PRIVILEGE
6 FROM USER_TAB_PRIVS_RECD;
OWNER
Table
GRANTOR
PRIVILEGE
--------------- --------------- --------------- --------------SCOTT
EMP
SCOTT
SELECT
DBASEC>SELECT * FROM Emp;
SELECT * FROM Emp
*
ERROR at line 1:
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ORA-00942: table or view does not exist

DBASEC>SELECT * FROM SCOTT.Emp;


EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20

EMPNO
----7788
7876
7934

ENAME
---------SCOTT
ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

14 rows selected.
DBASEC>SELECT
2
OWNER,
3
TABLE_NAME "Table",
4
GRANTOR,
5
PRIVILEGE
6 FROM USER_TAB_PRIVS_RECD;
OWNER
--------------SCOTT
SCOTT
SCOTT

Table
--------------DEPT
DEPT
EMP

GRANTOR
--------------SCOTT
SCOTT
SCOTT

PRIVILEGE
--------------DELETE
SELECT
SELECT

DBASEC>SELECT * FROM SCOTT.Dept;


DEPTNO
-----10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

DBASEC>DELETE FROM SCOTT.Dept


2
WHERE SCOTT.Dept.Deptno = 30;
DELETE FROM SCOTT.Dept
*
ERROR at line 1:
ORA-02292: integrity constraint (SCOTT.EMP_FOREIGN_KEY) violated - child record
found
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

DBASEC>DELETE FROM SCOTT.Dept


2
WHERE SCOTT.Dept.Deptno = 40;
1 row deleted.
DBASEC>SELECT * FROM SCOTT.Dept;
DEPTNO
-----10
20
30

DNAME
-------------ACCOUNTING
RESEARCH
SALES

LOC
------------NEW YORK
DALLAS
CHICAGO

DBASEC>SELECT * FROM SCOTT.Dept;


DEPTNO
-----10
20
30

DNAME
-------------ACCOUNTING
RESEARCH
SALES

LOC
------------NEW YORK
DALLAS
CHICAGO

DBASEC>ROLLBACK;
Rollback complete.
DBASEC>SELECT * FROM SCOTT.Dept;
DEPTNO
-----10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

DBASEC>INSERT INTO SCOTT.Dept


2
VALUES(50, 'SHIPPING', 'CHENNAI');
1 row created.
DBASEC>SELECT * FROM SCOTT.Dept;
DEPTNO
-----10
20
30
40
50

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
SHIPPING

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
CHENNAI

DBASEC>ROLLBACK;
Rollback complete.
DBASEC>SELECT * FROM SCOTT.Dept;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

DEPTNO
-----10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

DBASEC>INSERT INTO SCOTT.Dept


2
VALUES(50, 'SHIPPING', 'CHENNAI');
INSERT INTO SCOTT.Dept
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.DEPT_PRIMARY_KEY) violated

DBASEC>SELECT
2
OWNER,
3
TABLE_NAME "Table",
4
GRANTOR,
5
PRIVILEGE
6 FROM USER_TAB_PRIVS_RECD;
no rows selected
DBASEC>cl scr
DBASEC>SELECT
2
OWNER,
3
TABLE_NAME "Table",
4
GRANTOR,
5
PRIVILEGE
6 FROM USER_TAB_PRIVS_RECD;
no rows selected
DBASEC>SELECT * FROM SCOTT.Emp;
SELECT * FROM SCOTT.Emp
*
ERROR at line 1:
ORA-00942: table or view does not exist

DBASEC>CONN HR/HR
Connected.
DBASEC>CONN DBASEC/DBASEC
Connected.
DBASEC>SELECT * FROM SCOTT.Emp;
EMPNO
----7839
7698
7782
7566
7654

ENAME
JOB
MGR HIREDATE
SAL COMM DEPTNO
---------- --------- ----- --------- ----- ----- -----KING
PRESIDENT
17-NOV-81 5000
10
BLAKE
MANAGER
7839 01-MAY-81 2850
30
CLARK
MANAGER
7839 09-JUN-81 2450
10
JONES
MANAGER
7839 02-APR-81 2975
20
MARTIN
SALESMAN
7698 28-SEP-81 1250 1400
30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7499
7844
7900
7521
7902
7369
EMPNO
----7788
7876
7934

ALLEN
TURNER
JAMES
WARD
FORD
SMITH

SALESMAN
SALESMAN
CLERK
SALESMAN
ANALYST
CLERK

7698
7698
7698
7698
7566
7902

20-FEB-81
08-SEP-81
03-DEC-81
22-FEB-81
03-DEC-81
17-DEC-80

1600
1500
950
1250
3000
800

300
0

ENAME
---------SCOTT
ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

500

30
30
30
30
20
20

14 rows selected.
DBASEC>SELECT * FROM SCOTT.Dept;
SELECT * FROM SCOTT.Dept
*
ERROR at line 1:
ORA-00942: table or view does not exist

DBASEC>SELECT * FROM SCOTT.Dept;


DEPTNO
-----50
10
20
30
40

DNAME
-------------SHIPPING
ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------CHENNAI
NEW YORK
DALLAS
CHICAGO
BOSTON

DBASEC>SELECT * FROM SCOTT.Emp;


SELECT * FROM SCOTT.Emp
*
ERROR at line 1:
ORA-01031: insufficient privileges

DBASEC>SELECT
2
USERNAME,
3
GRANTED_ROLE
4 FROM USER_ROLE_PRIVS;
USERNAME
GRANTED_ROLE
------------------------------ -----------------------------DBASEC
EMPSEC
DBASEC>SELECT
2
ROLE,
3
PRIVILEGE
4 FROM ROLE_TAB_PRIVS;
no rows selected
DBASEC>cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

DBASEC>SELECT * FROM Employee;


SELECT * FROM Employee
*
ERROR at line 1:
ORA-00942: table or view does not exist

DBASEC>SELECT * FROM SCOTT.Employee;


EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20

EMPNO
----7788
7876
7934

ENAME
---------SCOTT
ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

14 rows selected.
DBASEC>SELECT * FROM Employee;
EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20

EMPNO
----7788
7876
7934

ENAME
---------SCOTT
ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

14 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

DBASEC>DESC Employee
Name
----------------------------------------EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO

Null?
Type
-------- ---------------------------NOT NULL NUMBER(4)
VARCHAR2(10)
VARCHAR2(9)
NUMBER(4)
DATE
NUMBER(7,2)
NUMBER(7,2)
NOT NULL NUMBER(2)

DBASEC>SELECT * FROM TAB;


no rows selected
DBASEC>SELECT * FROM USER_OBJECTS;
no rows selected
DBASEC>SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> SET VERIFY OFF
SQL> cl scr
SQL> SET SQLPROMPT SCOTT
SCOTTSET SQLPROMPT SCOTT>
SCOTT>cl scr
SCOTT>CREATE USER DBASEC
2
IDENTIFIED BY DBASEC;
IDENTIFIED BY DBASEC
*
ERROR at line 2:
ORA-01031: insufficient privileges

SCOTT>COLUMN
SCOTT>COLUMN
SCOTT>COLUMN
SCOTT>COLUMN
SCOTT>COLUMN
SCOTT>cl scr

Empno FORMAT 9999


MGR FORMAT 9999
Sal FORMAT 9999
Comm FORMAT 9999
Deptno FORMAT 99

SCOTT>SELECT * FROM Emp;


EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20

EMPNO
----7788
7876
7934

ENAME
---------SCOTT
ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

14 rows selected.
SCOTT>GRANT SELECT
2
ON Emp
3
TO DBASEC;
Grant succeeded.
SCOTT>SPOOL OFF
SQL> SET SQLPROMPT SCOTT>
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SCOTT>cl scr
SCOTT>DESC USER_TAB_PRIVS_MADE
Name
----------------------------------------GRANTEE
TABLE_NAME
GRANTOR
PRIVILEGE
GRANTABLE
HIERARCHY

Null?
-------NOT NULL
NOT NULL
NOT NULL
NOT NULL

Type
---------------------------VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(40)
VARCHAR2(3)
VARCHAR2(3)

SCOTT>COLUMN GRANTEE FORMAT A15


SCOTT>COLUMN "Table" FORMAT A15
SCOTT>COLUMN GRANTOR FORMAT A15
SCOTT>COLUMN PRIVILEGE FORMAT A15
SCOTT>SELECT
2
GRANTEE,
3
TABLE_NAME "Table",
4
GRANTOR,
5
PRIVILEGE
6 FROM USER_TAB_PRIVS_MADE;
no rows selected
SCOTT>
SCOTT>cl scr
SCOTT>COLUMN
SCOTT>COLUMN
SCOTT>COLUMN
SCOTT>COLUMN
SCOTT>COLUMN
SCOTT>cl scr

Empno FORMAT 9999


Sal FORMAT 9999
Comm FORMAT 9999
MGR FORMAT 9999
Deptno FORMAT 99

SCOTT>SELECT * FROM Emp;


EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20

EMPNO
----7788
7876
7934

ENAME
JOB
MGR HIREDATE
SAL COMM DEPTNO
---------- --------- ----- --------- ----- ----- -----SCOTT
ANALYST
7566 09-DEC-82 3000
20
ADAMS
CLERK
7788 12-JAN-83 1100
20
MILLER
CLERK
7782 23-JAN-82 1300
10
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

14 rows selected.
SCOTT>GRANT SELECT
2
ON Emp
3
TO DBASEC;
Grant succeeded.
SCOTT>SELECT
2
GRANTEE,
3
TABLE_NAME "Table",
4
GRANTOR,
5
PRIVILEGE
6 FROM USER_TAB_PRIVS_MADE;
GRANTEE
Table
GRANTOR
PRIVILEGE
--------------- --------------- --------------- --------------DBASEC
EMP
SCOTT
SELECT
SCOTT>GRANT SELECT, DELETE
2
ON Dept
3
TO DBASEC;
Grant succeeded.
SCOTT>SELECT
2
GRANTEE,
3
TABLE_NAME "Table",
4
GRANTOR,
5
PRIVILEGE
6 FROM USER_TAB_PRIVS_MADE;
GRANTEE
--------------DBASEC
DBASEC
DBASEC

Table
--------------DEPT
EMP
DEPT

GRANTOR
--------------SCOTT
SCOTT
SCOTT

PRIVILEGE
--------------SELECT
SELECT
DELETE

SCOTT>SELECT * FROM Dept;


DEPTNO
-----10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SCOTT>ROLLBACK;
Rollback complete.
SCOTT>cl scr
SCOTT>GRANT INSERT
2
ON Dept
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

TO DBASEC;

Grant succeeded.
SCOTT>SELECT * FROM Dept;
DEPTNO
-----10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SCOTT>INSERT INTO SCOTT.Dept


2
VALUES(50, 'SHIPPING', 'CHENNAI');
1 row created.
SCOTT>SELECT * FROM Dept;
DEPTNO
-----50
10
20
30
40

DNAME
-------------SHIPPING
ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------CHENNAI
NEW YORK
DALLAS
CHICAGO
BOSTON

SCOTT>COMMIT;
Commit complete.
SCOTT>REVOKE SELECT
2
ON Emp
3
FROM DBASEC;
Revoke succeeded.
SCOTT>REVOKE SELECT, INSERT, DELETE
2
ON Dept
3
FROM DBASEC;
Revoke succeeded.
SCOTT>cl scr
SCOTT>SELECT
2
GRANTEE,
3
TABLE_NAME "Table",
4
GRANTOR,
5
PRIVILEGE
6 FROM USER_TAB_PRIVS_MADE;
no rows selected
SCOTT>cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SCOTT>CREATE ROLE EmpSec;


CREATE ROLE EmpSec
*
ERROR at line 1:
ORA-01031: insufficient privileges

SCOTT>CREATE ROLE EmpSec;


Role created.
SCOTT>GRANT SELECT, UPDATE
2
ON Emp
3
TO EmpSec;
Grant succeeded.
SCOTT>GRANT EmpSec
2
TO DBASEC;
Grant succeeded.
SCOTT>GRANT SELECT
2
ON Dept
3
TO EmpSec;
Grant succeeded.
SCOTT>REVOKE SELECT
2
ON Emp
3
FROM EmpSec;
Revoke succeeded.
SCOTT>DESC USER_ROLE_PRIVS
Name
Null?
----------------------------------------- -------USERNAME
GRANTED_ROLE
ADMIN_OPTION
DEFAULT_ROLE
OS_GRANTED

Type
---------------------------VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(3)
VARCHAR2(3)
VARCHAR2(3)

SCOTT>SELECT
2
USERNAME,
3
GRANTED_ROLE
4 FROM USER_ROLE_PRIVS;
USERNAME
-----------------------------SCOTT
SCOTT
SCOTT

GRANTED_ROLE
-----------------------------CONNECT
EMPSEC
RESOURCE

SCOTT>DESC ROLE_SYS_PRIVS
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Name
----------------------------------------ROLE
PRIVILEGE
ADMIN_OPTION

Null?
-------NOT NULL
NOT NULL

Type
---------------------------VARCHAR2(30)
VARCHAR2(40)
VARCHAR2(3)

SCOTT>COLUMN ROLE FORMAT A10


SCOTT>COLUMN PRIVILEGE FORMAT A20
SCOTT>SELECT
2
ROLE,
3
PRIVILEGE
4 FROM ROLE_SYS_PRIVS;
ROLE
---------CONNECT
CONNECT
CONNECT
CONNECT
CONNECT
CONNECT
CONNECT
CONNECT
RESOURCE
RESOURCE
RESOURCE

PRIVILEGE
-------------------CREATE VIEW
CREATE TABLE
ALTER SESSION
CREATE CLUSTER
CREATE SESSION
CREATE SYNONYM
CREATE SEQUENCE
CREATE DATABASE LINK
CREATE TYPE
CREATE TABLE
CREATE CLUSTER

ROLE
---------RESOURCE
RESOURCE
RESOURCE
RESOURCE
RESOURCE

PRIVILEGE
-------------------CREATE TRIGGER
CREATE OPERATOR
CREATE SEQUENCE
CREATE INDEXTYPE
CREATE PROCEDURE

16 rows selected.
SCOTT>DESC ROLE_TAB_PRIVS
Name
----------------------------------------ROLE
OWNER
TABLE_NAME
COLUMN_NAME
PRIVILEGE
GRANTABLE

Null?
-------NOT NULL
NOT NULL
NOT NULL

Type
---------------------------VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(30)
NOT NULL VARCHAR2(40)
VARCHAR2(3)

SCOTT>SELECT
2
ROLE,
3
PRIVILEGE
4 FROM ROLE_TAB_PRIVS;
ROLE
---------EMPSEC
EMPSEC

PRIVILEGE
-------------------UPDATE
SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SCOTT>DROP ROLE EmpSec;


Role dropped.
SCOTT>cl scr
SCOTT>CREATE SYNONYM Employee
2
FOR SCOTT.Emp;
Synonym created.
SCOTT>DESC Employee
Name
----------------------------------------EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO

Null?
Type
-------- ---------------------------NOT NULL NUMBER(4)
VARCHAR2(10)
VARCHAR2(9)
NUMBER(4)
DATE
NUMBER(7,2)
NUMBER(7,2)
NOT NULL NUMBER(2)

SCOTT>SELECT * FROM Employee;


EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20

EMPNO
----7788
7876
7934

ENAME
---------SCOTT
ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

14 rows selected.
SCOTT>GRANT SELECT
2
ON Employee
3
TO DBASEC;
Grant succeeded.
SCOTT>CREATE PUBLIC SYNONYM Employee
2
FOR SCOTT.Emp;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

CREATE PUBLIC SYNONYM Employee


*
ERROR at line 1:
ORA-01031: insufficient privileges

SCOTT>CREATE PUBLIC SYNONYM Employee


2
FOR SCOTT.Emp;
Synonym created.
SCOTT>SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

SQL> SELECT Deptno, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno;
DEPTNO
SUM(SAL)
------ ---------10
8750
20
10875
30
9400
SQL> SELECT SUM(Sal)
2 FROM Emp;
SUM(SAL)
---------29025
SQL> cl scr
SQL>
SQL>
2
3

SET AUTOTRACE ON EXPLAIN


SELECT Deptno, SUM(Sal)
FROM Emp
GROUP BY Deptno;

DEPTNO
SUM(SAL)
------ ---------10
8750
20
10875
30
9400

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=36
4)
1
2

0
1

SORT (GROUP BY) (Cost=4 Card=14 Bytes=364)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=364)

SQL> SELECT SUM(Sal) FROM Emp;


SUM(SAL)
---------29025

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=13)
1
0
SORT (AGGREGATE)
2
1
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=182)

SQL> SELECT Deptno, SUM(Sal), (SELECT SUM(Sal) FROM Emp) SalSum


2 FROM Emp
3 GROUP BY Deptno;
DEPTNO
SUM(SAL)
SALSUM
------ ---------- ---------10
8750
29025
20
10875
29025
30
9400
29025

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=36
4)
1
2

0
1

SORT (AGGREGATE)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=182)

3
4

0
3

SORT (GROUP BY) (Cost=4 Card=14 Bytes=364)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=364)

SQL> SELECT Deptno, SUM(Sal), SalSum


2 FROM Emp, (SELECT SUM(Sal) SalSum FROM Emp)
3 GROUP BY Deptno, SalSum;
DEPTNO
SUM(SAL)
SALSUM
------ ---------- ---------10
8750
29025
20
10875
29025
30
9400
29025

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=14 Bytes=54
6)
1
2
3
4
5

0
1
2
3
4

SORT (GROUP BY) (Cost=7 Card=14 Bytes=546)


MERGE JOIN (CARTESIAN) (Cost=6 Card=14 Bytes=546)
VIEW (Cost=3 Card=1 Bytes=13)
SORT (AGGREGATE)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=182)

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 B


ytes=364)

SQL>
2
3
4
5
6

SELECT Deptno, SUM(Sal) SalSum


FROM Emp
GROUP BY Deptno
UNION
SELECT NULL, SUM(Sal)
FROM Emp;

DEPTNO
SALSUM
------ ---------10
8750
20
10875
30
9400
29025

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=9 Card=15 Bytes=37
7)
1
2
3
4

0
1
2
3

SORT (UNIQUE) (Cost=9 Card=15 Bytes=377)


UNION-ALL
SORT (GROUP BY) (Cost=5 Card=14 Bytes=364)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=364)

5
6

2
5

SORT (AGGREGATE) (Cost=4 Card=1 Bytes=13)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=182)

SQL> SELECT Deptno, SUM(Sal)


2 FROM Emp
3 GROUP BY ROLLUP(Deptno);
DEPTNO
SUM(SAL)
------ ---------10
8750
20
10875
30
9400
29025

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=36
4)
1
2

0
1

SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=364)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=364)

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>
SQL>

SELECT Deptno, SUM(Sal)


FROM Emp
GROUP BY ROLLUP(Deptno)
SPOOL OFF
cl scr

SQL> SELECT Job, SUM(Sal)


2 FROM Emp
3 GROUP BY ROLLUP(Job);
JOB
SUM(SAL)
--------- ---------ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
29025
6 rows selected.
SQL> SELECT Ename, SUM(Sal)
2 FROM Emp
3 GROUP BY Ename;
ENAME
SUM(SAL)
---------- ---------ADAMS
1100
ALLEN
1600
BLAKE
2850
CLARK
2450
FORD
3000
JAMES
950
JONES
2975
KING
5000
MARTIN
1250
MILLER
1300
SCOTT
3000
ENAME
SUM(SAL)
---------- ---------SMITH
800
TURNER
1500
WARD
1250
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2

SELECT Ename, SUM(Sal)


FROM Emp

3* GROUP BY ROLLUP(Ename)
SQL> /
ENAME
SUM(SAL)
---------- ---------ADAMS
1100
ALLEN
1600
BLAKE
2850
CLARK
2450
FORD
3000
JAMES
950
JONES
2975
KING
5000
MARTIN
1250
MILLER
1300
SCOTT
3000
ENAME
SUM(SAL)
---------- ---------SMITH
800
TURNER
1500
WARD
1250
29025
15 rows selected.
SQL> cl scr
SQL> SELECT Deptno, SUM(Sal)
2 FROM Emp
3 GROUP BY ROLLUP(Deptno);
DEPTNO
SUM(SAL)
---------- ---------10
8750
20
10875
30
9400
29025
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Job, SUM(Sal)


FROM Emp
GROUP BY ROLLUP(JOb)
/

JOB
SUM(SAL)
--------- ---------ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
29025
6 rows selected.

SQL> cl scr
SQL>
SQL>
2
3
4
5

COLUMN Deptno FORMAT A15


SELECT
NVL(TO_CHAR(Deptno), 'All Departments') Deptno,
AVG(SAL) AVGSal
FROM Emp
GROUP BY ROLLUP(Deptno);

DEPTNO
--------------10
20
30
All Departments

AVGSAL
---------2916.66667
2175
1566.66667
2073.21429

SQL> cl scr
SQL> SELECT Deptno, Job, SUM(Sal)
2 FROM Emp
3 GROUP BY Deptno, Job;
DEPTNO
---------##########
##########
##########
##########
##########
##########
##########
##########
##########

JOB
SUM(SAL)
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
CLERK
1900
ANALYST
6000
MANAGER
2975
CLERK
950
MANAGER
2850
SALESMAN
5600

9 rows selected.
SQL> COLUMN Deptno
SQL> /
DEPTNO
-----10
10
10
20
20
20
30
30
30

FORMAT 999

JOB
SUM(SAL)
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
CLERK
1900
ANALYST
6000
MANAGER
2975
CLERK
950
MANAGER
2850
SALESMAN
5600

9 rows selected.
SQL> ED
Wrote file afiedt.buf

1
2
3*
SQL>

SELECT Deptno, Job, SUM(Sal)


FROM Emp
GROUP BY ROLLUP(Deptno, Job)
/

DEPTNO
-----10
10
10
10
20
20
20
20
30
30
30

JOB
SUM(SAL)
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
8750
CLERK
1900
ANALYST
6000
MANAGER
2975
10875
CLERK
950
MANAGER
2850
SALESMAN
5600

DEPTNO JOB
SUM(SAL)
------ --------- ---------30
9400
29025
13 rows selected.
SQL> SELECT Deptno, Job, SUM(Sal)
2 FROM Emp
3 GROUP BY Deptno, Job;
DEPTNO
-----10
10
10
20
20
20
30
30
30

JOB
SUM(SAL)
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
CLERK
1900
ANALYST
6000
MANAGER
2975
CLERK
950
MANAGER
2850
SALESMAN
5600

9 rows selected.
SQL> SELECT Deptno, SUM(Sal)
2 FROM Emp
3 GROUP BY Deptno;
DEPTNO
SUM(SAL)
------ ---------10
8750
20
10875
30
9400
SQL> SELECT SUM(Sal)
2 FROM Emp;

SUM(SAL)
---------29025
SQL>
SQL>
2
3

SET AUTOTRACE ON EXPLAIN


SELECT Deptno, Job, SUM(Sal)
FROM Emp
GROUP BY Deptno, Job;

DEPTNO
-----10
10
10
20
20
20
30
30
30

JOB
SUM(SAL)
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
CLERK
1900
ANALYST
6000
MANAGER
2975
CLERK
950
MANAGER
2850
SALESMAN
5600

9 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44
8)
1
2

0
1

SORT (GROUP BY) (Cost=4 Card=14 Bytes=448)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)

SQL> SELECT Deptno, Job, SUM(Sal)


2 FROM Emp
3 GROUP BY ROLLUP(Deptno, Job);
DEPTNO
-----10
10
10
10
20
20
20
20
30
30
30

JOB
SUM(SAL)
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
8750
CLERK
1900
ANALYST
6000
MANAGER
2975
10875
CLERK
950
MANAGER
2850
SALESMAN
5600

DEPTNO JOB
SUM(SAL)
------ --------- ---------30
9400

29025
13 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44
8)
1
2

0
1

SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=448)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)

SQL> cl scr
SQL>
SQL>
2
3
4
5
6

COLUMN Deptno FORMAT A15


SELECT
NVL(TO_CHAR(Deptno), 'All Departments') Deptno,
NVL(Job, 'All Jobs') Jobs,
SUM(Sal) Salary
FROM Emp
GROUP BY ROLLUP(Deptno, Job);

DEPTNO
--------------10
10
10
10
20
20
20
20
30
30
30

JOBS
SALARY
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
All Jobs
8750
CLERK
1900
ANALYST
6000
MANAGER
2975
All Jobs
10875
CLERK
950
MANAGER
2850
SALESMAN
5600

DEPTNO
--------------30
All Departments

JOBS
SALARY
--------- ---------All Jobs
9400
All Jobs
29025

13 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44
8)
1
2

0
1

SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=448)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)

SQL> cl scr
SQL> SELECT
2
TO_CHAR(HireDate, 'YYYY') "Year",
3
SUM(Sal) SumSal
4 FROM Emp
5 GROUP BY ROLLUP(TO_CHAR(HireDate, 'YYYY'));
Year
SUMSAL
---- ---------1980
800
1981
22825
1982
4300
1983
1100
29025

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=30
8)
1
2

0
1

SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=308)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=308)

SQL> cl scr
SQL> SET AUTOTRACE OFF EXPLIAN
SP2-0158: unknown SET option "EXPLIAN"
SQL> SET AUTOTRACE OFF EXPLAIN
SQL> cl scr
SQL> SELECT Deptno, Job, SUM(Sal)
2 FROM Emp
3 GROUP BY ROLLUP(Deptno, Job);
DEPTNO
---------##########
##########
##########
##########
##########
##########
##########
##########
##########
##########
##########

JOB
SUM(SAL)
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
8750
CLERK
1900
ANALYST
6000
MANAGER
2975
10875
CLERK
950
MANAGER
2850
SALESMAN
5600

DEPTNO JOB
SUM(SAL)
---------- --------- ---------##########
9400
29025
13 rows selected.
SQL> COLUMN DEPTNO FORMAT 99
SQL> /
DEPTNO
-----10
10
10
10
20
20
20
20
30
30
30

JOB
SUM(SAL)
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
8750
CLERK
1900
ANALYST
6000
MANAGER
2975
10875
CLERK
950
MANAGER
2850
SALESMAN
5600

DEPTNO JOB
SUM(SAL)
------ --------- ---------30
9400
29025
13 rows selected.
SQL>
2
3
4
5

SELECT Deptno, Job,


SUM(Sal) Salary
FROM Emp
GROUP BY CUBE(Deptno, Job)
ORDER BY Deptno;

DEPTNO
-----10
10
10
10
20
20
20
20
30
30
30

JOB
SALARY
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
8750
ANALYST
6000
CLERK
1900
MANAGER
2975
10875
CLERK
950
MANAGER
2850
SALESMAN
5600

DEPTNO JOB
SALARY
------ --------- ---------30
9400
ANALYST
6000
CLERK
4150

MANAGER
PRESIDENT
SALESMAN

8275
5000
5600
29025

18 rows selected.
SQL> SELECT Deptno, Job, SUM(Sal)
2 FROM Emp
3 GROUP BY Deptno, Job;
DEPTNO
-----10
10
10
20
20
20
30
30
30

JOB
SUM(SAL)
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
CLERK
1900
ANALYST
6000
MANAGER
2975
CLERK
950
MANAGER
2850
SALESMAN
5600

9 rows selected.
SQL> SELECT Deptno, SUM(Sal)
2 FROM Emp
3 GROUP BY Deptno;
DEPTNO
SUM(SAL)
------ ---------10
8750
20
10875
30
9400
SQL>
2
SQL>
2
3

SELECT Job,, SUM(Sal)


SELECT Job, SUM(Sal)
FROM Emp
GROUP BY Job;

JOB
SUM(SAL)
--------- ---------ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
SQL> SELECT SUM(Sal)
2 FROm Emp;
SUM(SAL)
---------29025
SQL> cl scr

SQL> SELECT Deptno, SUM(Sal)


2 FROM Emp
3 GROUP BY ROLLUP(Deptno);
DEPTNO
SUM(SAL)
------ ---------10
8750
20
10875
30
9400
29025
SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Deptno, GROUPING(Deptno) GrpBIT, SUM(Sal)


FROM Emp
GROUP BY ROLLUP(Deptno)
/

DEPTNO
GRPBIT
SUM(SAL)
------ ---------- ---------10
0
8750
20
0
10875
30
0
9400
1
29025
SQL> ED
Wrote file afiedt.buf
1 SELECT Deptno, GROUPING(Deptno) GrpBIT, SUM(Sal)
2 FROM Emp
3 GROUP BY ROLLUP(Deptno)
4* HAVING GROUPING(Deptno) IN(&GrpBit1, &GrpBit2)
SQL> /
Enter value for grpbit1: 0
Enter value for grpbit2: 0
old
4: HAVING GROUPING(Deptno) IN(&GrpBit1, &GrpBit2)
new
4: HAVING GROUPING(Deptno) IN(0, 0)
DEPTNO
GRPBIT
SUM(SAL)
------ ---------- ---------10
0
8750
20
0
10875
30
0
9400
SQL> /
Enter value for
Enter value for
old
4: HAVING
new
4: HAVING

grpbit1: 0
grpbit2: 1
GROUPING(Deptno) IN(&GrpBit1, &GrpBit2)
GROUPING(Deptno) IN(0, 1)

DEPTNO
GRPBIT
SUM(SAL)
------ ---------- ---------10
0
8750
20
0
10875
30
0
9400

1
SQL> /
Enter value for
Enter value for
old
4: HAVING
new
4: HAVING

29025

grpbit1: 1
grpbit2: 1
GROUPING(Deptno) IN(&GrpBit1, &GrpBit2)
GROUPING(Deptno) IN(1, 1)

DEPTNO
GRPBIT
SUM(SAL)
------ ---------- ---------1
29025
SQL> cl scr
SQL> SELECT Deptno, Job, SUM(Sal)
2 FROM Emp
3 GROUP BY Deptno, Job;
DEPTNO
-----10
10
10
20
20
20
30
30
30

JOB
SUM(SAL)
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
CLERK
1900
ANALYST
6000
MANAGER
2975
CLERK
950
MANAGER
2850
SALESMAN
5600

9 rows selected.
SQL> SELECT Deptno, SUM(Sal)
2 FROM Emp
3 GROUP BY Deptno;
DEPTNO
SUM(SAL)
------ ---------10
8750
20
10875
30
9400
SQL> SELECT Job, SUm(Sal)
2 FROM Emp
3 GROUP BY Job;
JOB
SUM(SAL)
--------- ---------ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
SQL> SELECT SUM(Sal)
2 FROM Emp;

SUM(SAL)
---------29025
SQL>
2
3
4

SELECT Deptno, Job, SUM(Sal)


FROM EMp
GROUP BY CUBE(Deptno, Job)
ORDER BY Deptno;

DEPTNO
-----10
10
10
10
20
20
20
20
30
30
30

JOB
SUM(SAL)
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
8750
ANALYST
6000
CLERK
1900
MANAGER
2975
10875
CLERK
950
MANAGER
2850
SALESMAN
5600

DEPTNO JOB
SUM(SAL)
------ --------- ---------30
9400
ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
29025
18 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Deptno, Job, SUM(Sal)
2 FROM EMp
3 GROUP BY CUBE(Deptno, Job)
4 HAVING GROUPING(&GColumn) IN(&GrpBIT1, &GrpBit2)
5* ORDER BY Deptno
SQL> /
Enter value for gcolumn: Deptno
Enter value for grpbit1: 0
Enter value for grpbit2: 0
old
4: HAVING GROUPING(&GColumn) IN(&GrpBIT1, &GrpBit2)
new
4: HAVING GROUPING(Deptno) IN(0, 0)
DEPTNO
-----10
10
10
10
20

JOB
SUM(SAL)
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
8750
ANALYST
6000

20
20
20
30
30
30

CLERK
MANAGER

1900
2975
10875
950
2850
5600

CLERK
MANAGER
SALESMAN

DEPTNO JOB
SUM(SAL)
------ --------- ---------30
9400
12 rows selected.
SQL> /
Enter value for
Enter value for
Enter value for
old
4: HAVING
new
4: HAVING

gcolumn: Deptno
grpbit1: 1
grpbit2: 1
GROUPING(&GColumn) IN(&GrpBIT1, &GrpBit2)
GROUPING(Deptno) IN(1, 1)

DEPTNO JOB
SUM(SAL)
------ --------- ---------ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
29025
6 rows selected.
SQL> /
Enter value for
Enter value for
Enter value for
old
4: HAVING
new
4: HAVING
DEPTNO
-----10
10
10
10
20
20
20
20
30
30
30

gcolumn: Deptno
grpbit1: 0
grpbit2: 1
GROUPING(&GColumn) IN(&GrpBIT1, &GrpBit2)
GROUPING(Deptno) IN(0, 1)

JOB
SUM(SAL)
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
8750
ANALYST
6000
CLERK
1900
MANAGER
2975
10875
CLERK
950
MANAGER
2850
SALESMAN
5600

DEPTNO JOB
SUM(SAL)
------ --------- ---------30
9400
ANALYST
6000
CLERK
4150

MANAGER
PRESIDENT
SALESMAN

8275
5000
5600
29025

18 rows selected.
SQL> /
Enter value for
Enter value for
Enter value for
old
4: HAVING
new
4: HAVING
DEPTNO
-----10
10
10
20
20
20
30
30
30

gcolumn: Job
grpbit1: 0
grpbit2: 0
GROUPING(&GColumn) IN(&GrpBIT1, &GrpBit2)
GROUPING(Job) IN(0, 0)

JOB
SUM(SAL)
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
CLERK
1900
ANALYST
6000
MANAGER
2975
CLERK
950
SALESMAN
5600
MANAGER
2850
CLERK
4150
SALESMAN
5600

DEPTNO JOB
SUM(SAL)
------ --------- ---------PRESIDENT
5000
MANAGER
8275
ANALYST
6000
14 rows selected.
SQL> /
Enter value for
Enter value for
Enter value for
old
4: HAVING
new
4: HAVING

gcolumn: Job
grpbit1: 1
grpbit2: 1
GROUPING(&GColumn) IN(&GrpBIT1, &GrpBit2)
GROUPING(Job) IN(1, 1)

DEPTNO JOB
SUM(SAL)
------ --------- ---------10
8750
20
10875
30
9400
29025
SQL> /
Enter value for
Enter value for
Enter value for
old
4: HAVING
new
4: HAVING

gcolumn: Job
grpbit1: 1
grpbit2: 0
GROUPING(&GColumn) IN(&GrpBIT1, &GrpBit2)
GROUPING(Job) IN(1, 0)

DEPTNO
-----10
10
10
10
20
20
20
20
30
30
30

JOB
SUM(SAL)
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
8750
ANALYST
6000
CLERK
1900
MANAGER
2975
10875
CLERK
950
MANAGER
2850
SALESMAN
5600

DEPTNO JOB
SUM(SAL)
------ --------- ---------30
9400
ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
29025
18 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9

SELECT Ename, Job, Sal, Deptno,


DECODE(Deptno,
10, 'ACCOUNTING',
20, 'RESEARCH',
30 , 'SALES',
40 , 'OPERATIONS',
'OTHER') Departments
FROM Emp
ORDER BY Departments;

ENAME
---------KING
CLARK
MILLER
JONES
SCOTT
ADAMS
SMITH
FORD
BLAKE
MARTIN
ALLEN

JOB
SAL DEPTNO DEPARTMENT
--------- ---------- ------ ---------PRESIDENT
5000
10 ACCOUNTING
MANAGER
2450
10 ACCOUNTING
CLERK
1300
10 ACCOUNTING
MANAGER
2975
20 RESEARCH
ANALYST
3000
20 RESEARCH
CLERK
1100
20 RESEARCH
CLERK
800
20 RESEARCH
ANALYST
3000
20 RESEARCH
MANAGER
2850
30 SALES
SALESMAN
1250
30 SALES
SALESMAN
1600
30 SALES

ENAME
---------TURNER
JAMES
WARD

JOB
SAL DEPTNO DEPARTMENT
--------- ---------- ------ ---------SALESMAN
1500
30 SALES
CLERK
950
30 SALES
SALESMAN
1250
30 SALES

14 rows selected.
SQL> SELECT INITCAP(Ename)||' Takes Care of '||
2 DECODE(Job,
3
'ANALYST', 'Analysis',
4
'CLERK', 'Filing',
5
'MANAGER', 'Managing',
6
'PRESIDENT', 'Administration',
7
'SALESMAN', 'Sales') Responsibilities
8 FROM Emp;
RESPONSIBILITIES
--------------------------------------King Takes Care of Administration
Blake Takes Care of Managing
Clark Takes Care of Managing
Jones Takes Care of Managing
Martin Takes Care of Sales
Allen Takes Care of Sales
Turner Takes Care of Sales
James Takes Care of Filing
Ward Takes Care of Sales
Ford Takes Care of Analysis
Smith Takes Care of Filing
RESPONSIBILITIES
--------------------------------------Scott Takes Care of Analysis
Adams Takes Care of Filing
Miller Takes Care of Filing
14 rows selected.
SQL>
2
3
4
5
6
7

SELECT
ROWNUM, DECODE(ROWNUM,
1, 'One',
2, 'Two',
3, 'Three') Spell
FROM Emp
WHERE ROWNUM <= 4;

ROWNUM
---------1
2
3
4

SPELL
----One
Two
Three

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5

SELECT
ROWNUM, DECODE(ROWNUM,
1, 'One',
2, 'Two',
3, 'Three',

6
'Donot Know') Spell
7 FROM Emp
8* WHERE ROWNUM <= &GiveVal
SQL> /
Enter value for giveval: 3
old
8: WHERE ROWNUM <= &GiveVal
new
8: WHERE ROWNUM <= 3
ROWNUM
---------1
2
3

SPELL
---------One
Two
Three

SQL> /
Enter value for giveval: 6
old
8: WHERE ROWNUM <= &GiveVal
new
8: WHERE ROWNUM <= 6
ROWNUM
---------1
2
3
4
5
6

SPELL
---------One
Two
Three
Donot Know
Donot Know
Donot Know

6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 ROWNUM "S.No", DECODE(ROWNUM,
3
1, 'One',
4
2, 'Two',
5
3, 'Three',
6
'Donot Know') Spell
7 FROM Emp
8* WHERE ROWNUM <= &GiveVal
SQL> /
Enter value for giveval: 4
old
8: WHERE ROWNUM <= &GiveVal
new
8: WHERE ROWNUM <= 4
S.No
---------1
2
3
4

SPELL
---------One
Two
Three
Donot Know

SQL> cl scr
SQL> SELECT Ename, Job,
2 DECODE(Job,

3
4
5
6
7
8
9

'CLERK', 'E',
'SALESMAN', 'D',
'ANALYST', 'C',
'MANAGER', 'B',
'PRESIDENT', 'A',
'O') Grades
FROM EMP ORDER BY JOB;

ENAME
---------FORD
SCOTT
JAMES
SMITH
MILLER
ADAMS
BLAKE
CLARK
JONES
KING
MARTIN

JOB
--------ANALYST
ANALYST
CLERK
CLERK
CLERK
CLERK
MANAGER
MANAGER
MANAGER
PRESIDENT
SALESMAN

G
C
C
E
E
E
E
B
B
B
A
D

ENAME
---------ALLEN
WARD
TURNER

JOB
--------SALESMAN
SALESMAN
SALESMAN

G
D
D
D

14 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

SELECT Ename, Job,


DECODE(Job,
'CLERK', 'E',
'SALESMAN', 'D',
'ANALYST', 'C',
'MANAGER', 'B',
'PRESIDENT', 'A',
'O') Grades, Deptno,
DECODE(Deptno,
10, 'ACCOUNTING',
20, 'RESEARCH',
30 , 'SALES',
40 , 'OPERATIONS',
'OTHER') Departments,
Sal, Grade
FROM EMP E, Salgrade S
WHERE Sal BETWEEN LoSal AND HiSal
ORDER BY JOB;

ENAME
---------FORD
SCOTT
SMITH
JAMES

JOB
--------ANALYST
ANALYST
CLERK
CLERK

G DEPTNO DEPARTMENT
SAL
GRADE
- ------ ---------- ---------- ---------C
20 RESEARCH
3000
4
C
20 RESEARCH
3000
4
E
20 RESEARCH
800
1
E
30 SALES
950
1

ADAMS
MILLER
CLARK
BLAKE
JONES
KING
MARTIN

CLERK
CLERK
MANAGER
MANAGER
MANAGER
PRESIDENT
SALESMAN

E
E
B
B
B
A
D

20
10
10
30
20
10
30

RESEARCH
ACCOUNTING
ACCOUNTING
SALES
RESEARCH
ACCOUNTING
SALES

1100
1300
2450
2850
2975
5000
1250

1
2
4
4
4
5
2

ENAME
---------WARD
TURNER
ALLEN

JOB
--------SALESMAN
SALESMAN
SALESMAN

G DEPTNO DEPARTMENT
SAL
GRADE
- ------ ---------- ---------- ---------D
30 SALES
1250
2
D
30 SALES
1500
3
D
30 SALES
1600
3

14 rows selected.
SQL> SET AUTOTRACE ON EXPLAIN
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15*
SQL>

SELECT Ename, Job,


DECODE(Job,
'CLERK', 'E',
'SALESMAN', 'D',
'ANALYST', 'C',
'MANAGER', 'B',
'PRESIDENT', 'A',
'O') Grades, D.Deptno,
Dname,
Sal, Grade
FROM EMP E, Salgrade S, Dept D
WHERE
E.Deptno = D.Deptno AND
Sal BETWEEN LoSal AND HiSal
ORDER BY JOB
/

ENAME
---------FORD
SCOTT
SMITH
JAMES
ADAMS
MILLER
CLARK
BLAKE
JONES
KING
MARTIN

JOB
--------ANALYST
ANALYST
CLERK
CLERK
CLERK
CLERK
MANAGER
MANAGER
MANAGER
PRESIDENT
SALESMAN

G DEPTNO DNAME
SAL
GRADE
- ------ -------------- ---------- ---------C
20 RESEARCH
3000
4
C
20 RESEARCH
3000
4
E
20 RESEARCH
800
1
E
30 SALES
950
1
E
20 RESEARCH
1100
1
E
10 ACCOUNTING
1300
2
B
10 ACCOUNTING
2450
4
B
30 SALES
2850
4
B
20 RESEARCH
2975
4
A
10 ACCOUNTING
5000
5
D
30 SALES
1250
2

ENAME
---------WARD
TURNER
ALLEN

JOB
--------SALESMAN
SALESMAN
SALESMAN

G DEPTNO DNAME
SAL
GRADE
- ------ -------------- ---------- ---------D
30 SALES
1250
2
D
30 SALES
1500
3
D
30 SALES
1600
3

14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=10 Card=1 Bytes=10
0)
1
2
3
4
5

0
1
2
3
4

SORT (ORDER BY) (Cost=10 Card=1 Bytes=100)


NESTED LOOPS (Cost=9 Card=1 Bytes=100)
MERGE JOIN (Cost=8 Card=1 Bytes=78)
SORT (JOIN) (Cost=4 Card=5 Bytes=195)
TABLE ACCESS (FULL) OF 'SALGRADE' (TABLE) (Cost=3
Card=5 Bytes=195)

6
7
8

3
6
7

FILTER
SORT (JOIN) (Cost=4 Card=14 Bytes=546)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Car
d=14 Bytes=546)

TABLE ACCESS (BY INDEX ROWID) OF 'DEPT' (TABLE) (Cost=


1 Card=1 Bytes=22)

10

INDEX (UNIQUE SCAN) OF 'DEPT_PRIMARY_KEY' (INDEX (UN


IQUE)) (Cost=0 Card=1)

SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

SELECT Ename, Job,


DECODE(Job,
'CLERK', 'E',
'SALESMAN', 'D',
'ANALYST', 'C',
'MANAGER', 'B',
'PRESIDENT', 'A',
'O') Grades, Deptno,
DECODE(Deptno,
10, 'ACCOUNTING',
20, 'RESEARCH',
30 , 'SALES',
40 , 'OPERATIONS',
'OTHER') Departments,
Sal, Grade
FROM EMP E, Salgrade S
WHERE Sal BETWEEN LoSal AND HiSal
ORDER BY JOB;

ENAME
---------FORD
SCOTT
SMITH
JAMES
ADAMS
MILLER
CLARK

JOB
--------ANALYST
ANALYST
CLERK
CLERK
CLERK
CLERK
MANAGER

G DEPTNO DEPARTMENT
SAL
GRADE
- ------ ---------- ---------- ---------C
20 RESEARCH
3000
4
C
20 RESEARCH
3000
4
E
20 RESEARCH
800
1
E
30 SALES
950
1
E
20 RESEARCH
1100
1
E
10 ACCOUNTING
1300
2
B
10 ACCOUNTING
2450
4

BLAKE
JONES
KING
MARTIN

MANAGER
MANAGER
PRESIDENT
SALESMAN

B
B
A
D

30
20
10
30

SALES
RESEARCH
ACCOUNTING
SALES

2850
2975
5000
1250

4
4
5
2

ENAME
---------WARD
TURNER
ALLEN

JOB
--------SALESMAN
SALESMAN
SALESMAN

G DEPTNO DEPARTMENT
SAL
GRADE
- ------ ---------- ---------- ---------D
30 SALES
1250
2
D
30 SALES
1500
3
D
30 SALES
1600
3

14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=9 Card=1 Bytes=78)
1
0
SORT (ORDER BY) (Cost=9 Card=1 Bytes=78)
2
1
MERGE JOIN (Cost=8 Card=1 Bytes=78)
3
2
SORT (JOIN) (Cost=4 Card=5 Bytes=195)
4
3
TABLE ACCESS (FULL) OF 'SALGRADE' (TABLE) (Cost=3 Ca
rd=5 Bytes=195)
5
6
7

2
5
6

FILTER
SORT (JOIN) (Cost=4 Card=14 Bytes=546)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=546)

SQL> cl scr
SQL> SELECT Ename, Job,
2 DECODE(MGR,
3
7566, (SELECT Ename
4
FROM Emp
5
WHERE Empno =
6
7698, (SELECT Ename
7
FROM Emp
8
WHERE Empno =
9
7782, (SELECT Ename
10
FROM Emp
11
WHERE Empno =
12
7788, (SELECT Ename
13
FROM Emp
14
WHERE Empno =
15
7839, (SELECT Ename
16
FROM Emp
17
WHERE Empno =
18
7902, (SELECT Ename
19
FROM Emp
20
WHERE Empno =
21
'Do Not Know') Manager,
22 DECODE(Job,
23
'CLERK', 'E',
24
'SALESMAN', 'D',

7566),

7698),

7782),

7788),

7839),

7902),

25
26
27
28
29
30
31
32
33
34
35
36
37
38

'ANALYST', 'C',
'MANAGER', 'B',
'PRESIDENT', 'A',
'O') Grades, Deptno,
DECODE(Deptno,
10, 'ACCOUNTING',
20, 'RESEARCH',
30 , 'SALES',
40 , 'OPERATIONS',
'OTHER') Departments,
Sal, Grade
FROM EMP E, Salgrade S
WHERE Sal BETWEEN LoSal AND HiSal
ORDER BY JOB;

ENAME
---------FORD
SCOTT
SMITH
JAMES
ADAMS
MILLER
CLARK
BLAKE
JONES
KING
MARTIN

JOB
--------ANALYST
ANALYST
CLERK
CLERK
CLERK
CLERK
MANAGER
MANAGER
MANAGER
PRESIDENT
SALESMAN

MANAGER
----------JONES
JONES
FORD
BLAKE
SCOTT
CLARK
KING
KING
KING
Do Not Know
BLAKE

G DEPTNO DEPARTMENT
SAL
GRADE
- ------ ---------- ---------- ---------C
20 RESEARCH
3000
4
C
20 RESEARCH
3000
4
E
20 RESEARCH
800
1
E
30 SALES
950
1
E
20 RESEARCH
1100
1
E
10 ACCOUNTING
1300
2
B
10 ACCOUNTING
2450
4
B
30 SALES
2850
4
B
20 RESEARCH
2975
4
A
10 ACCOUNTING
5000
5
D
30 SALES
1250
2

ENAME
---------WARD
TURNER
ALLEN

JOB
--------SALESMAN
SALESMAN
SALESMAN

MANAGER
----------BLAKE
BLAKE
BLAKE

G DEPTNO DEPARTMENT
SAL
GRADE
- ------ ---------- ---------- ---------D
30 SALES
1250
2
D
30 SALES
1500
3
D
30 SALES
1600
3

14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=9 Card=1 Bytes=91)
1
0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car
d=1 Bytes=20)
2

INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=1 Card=1)

TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car


d=1 Bytes=20)

INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=1 Card=1)

TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car


d=1 Bytes=20)

INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)

) (Cost=1 Card=1)
7

TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car


d=1 Bytes=20)

INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=1 Card=1)

TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car


d=1 Bytes=20)

10

INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=1 Card=1)

11

TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car


d=1 Bytes=20)

12

11

INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=1 Card=1)

13
14
15
16

0
13
14
15

SORT (ORDER BY) (Cost=9 Card=1 Bytes=91)


MERGE JOIN (Cost=8 Card=1 Bytes=91)
SORT (JOIN) (Cost=4 Card=5 Bytes=195)
TABLE ACCESS (FULL) OF 'SALGRADE' (TABLE) (Cost=3 Ca
rd=5 Bytes=195)

17
18
19

14
17
18

FILTER
SORT (JOIN) (Cost=4 Card=14 Bytes=728)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=728)

SQL> cl scr
SQL>
2
3
4

SELECT
TO_CHAR(HireDate, 'YYYY') Year, COUNT(*) EmpCnt
FROM Emp
GROUP BY ROLLUP(TO_CHAR(HireDate, 'YYYY'));

YEAR
EMPCNT
---- ---------1980
1
1981
10
1982
2
1983
1
14

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=12
6)
1
2

0
1

SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=126)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt

es=126)

SQL> SELECT
2
SUM(DECODE(TO_CHAR(HireDate,
3
1980, 1, 0)) "1980" ,
4
SUM(DECODE(TO_CHAR(HireDate,
5
1981, 1, 0)) "1981" ,
6
SUM(DECODE(TO_CHAR(HireDate,
7
1982, 1, 0)) "1982" ,
8
SUM(DECODE(TO_CHAR(HireDate,
9
1983, 1, 0)) "1983",
10 COUNT(*) Total
11 FROM Emp;

'YYYY'),
'YYYY'),
'YYYY'),
'YYYY'),

1980
1981
1982
1983
TOTAL
---------- ---------- ---------- ---------- ---------1
10
2
1
14

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=9)
1
0
SORT (AGGREGATE)
2
1
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=126)

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11*
SQL>

SELECT
COUNT(DECODE(TO_CHAR(HireDate,
1980, 1, 0)) "1980" ,
COUNT(DECODE(TO_CHAR(HireDate,
1981, 1, 0)) "1981" ,
COUNT(DECODE(TO_CHAR(HireDate,
1982, 1, 0)) "1982" ,
COUNT(DECODE(TO_CHAR(HireDate,
1983, 1, 0)) "1983",
COUNT(*) Total
FROM Emp
/

'YYYY'),
'YYYY'),
'YYYY'),
'YYYY'),

1980
1981
1982
1983
TOTAL
---------- ---------- ---------- ---------- ---------14
14
14
14
14

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=9)
1
0
SORT (AGGREGATE)

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt


es=126)

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11*
SQL>

SELECT
COUNT(DECODE(TO_CHAR(HireDate,
1980, 1, NULL)) "1980" ,
COUNT(DECODE(TO_CHAR(HireDate,
1981, 1, NULL)) "1981" ,
COUNT(DECODE(TO_CHAR(HireDate,
1982, 1, NULL)) "1982" ,
COUNT(DECODE(TO_CHAR(HireDate,
1983, 1, NULL)) "1983",
COUNT(*) Total
FROM Emp
/

'YYYY'),
'YYYY'),
'YYYY'),
'YYYY'),

1980
1981
1982
1983
TOTAL
---------- ---------- ---------- ---------- ---------1
10
2
1
14

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=9)
1
0
SORT (AGGREGATE)
2
1
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=126)

SQL> cl scr
SQL> SELECT Ename, Job, Sal,
2 DECODE(Job,
3
'ANALYST', Sal * 1.1,
4
'CLERK', Sal * 1.15,
5
'MANAGER', Sal * 1.2,
6
Sal) "REVISED SALARY "
7 FROM Emp;
ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES

JOB
SAL REVISED SALARY
--------- ---------- --------------PRESIDENT
5000
5000
MANAGER
2850
3420
MANAGER
2450
2940
MANAGER
2975
3570
SALESMAN
1250
1250
SALESMAN
1600
1600
SALESMAN
1500
1500
CLERK
950
1092.5

WARD
FORD
SMITH

SALESMAN
ANALYST
CLERK

1250
3000
800

1250
3300
920

ENAME
---------SCOTT
ADAMS
MILLER

JOB
SAL REVISED SALARY
--------- ---------- --------------ANALYST
3000
3300
CLERK
1100
1265
CLERK
1300
1495

14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=36
4)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=364)

SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10

SELECT Ename, Job, Sal,


DECODE(Job, 'ANALYST', Sal * 1.1,
'CLERK', Sal * 1.15,
'MANAGER', Sal * 1.2,
Sal) "REVISED SALARY",
DECODE(Job, 'ANALYST', 'Revised',
'CLERK', 'Revised',
'MANAGER', 'Revised',
'Sorry!') "Status"
FROM Emp;

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
SAL REVISED SALARY Status
--------- ---------- -------------- ------PRESIDENT
5000
5000 Sorry!
MANAGER
2850
3420 Revised
MANAGER
2450
2940 Revised
MANAGER
2975
3570 Revised
SALESMAN
1250
1250 Sorry!
SALESMAN
1600
1600 Sorry!
SALESMAN
1500
1500 Sorry!
CLERK
950
1092.5 Revised
SALESMAN
1250
1250 Sorry!
ANALYST
3000
3300 Revised
CLERK
800
920 Revised

ENAME
---------SCOTT
ADAMS
MILLER

JOB
SAL REVISED SALARY
--------- ---------- -------------ANALYST
3000
3300
CLERK
1100
1265
CLERK
1300
1495

Status
------Revised
Revised
Revised

14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=36
4)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=364)

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

SELECT Ename, Job, Sal,


DECODE(
Job,
'ANALYST', (Sal * 1.1)||' Revised.',
'CLERK', (Sal * 1.15)||' Revised.',
'MANAGER', (Sal * 1.2)||' Revised.',
Sal||' Sorry!') "REVISED SALARY"
FROM Emp
/

ENAME
JOB
SAL
---------- --------- ---------REVISED SALARY
------------------------------------------------KING
PRESIDENT
5000
5000 Sorry!
BLAKE
MANAGER
3420 Revised.

2850

CLARK
MANAGER
2940 Revised.

2450

ENAME
JOB
SAL
---------- --------- ---------REVISED SALARY
------------------------------------------------JONES
MANAGER
2975
3570 Revised.
MARTIN
SALESMAN
1250 Sorry!

1250

ALLEN
SALESMAN
1600 Sorry!

1600

ENAME
JOB
SAL
---------- --------- ----------

REVISED SALARY
------------------------------------------------TURNER
SALESMAN
1500
1500 Sorry!
JAMES
CLERK
1092.5 Revised.
WARD
SALESMAN
1250 Sorry!

950

1250

ENAME
JOB
SAL
---------- --------- ---------REVISED SALARY
------------------------------------------------FORD
ANALYST
3000
3300 Revised.
SMITH
CLERK
920 Revised.
SCOTT
ANALYST
3300 Revised.

800

3000

ENAME
JOB
SAL
---------- --------- ---------REVISED SALARY
------------------------------------------------ADAMS
CLERK
1100
1265 Revised.
MILLER
CLERK
1495 Revised.

1300

14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=36
4)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=364)

SQL> COLUMN "REVISED SALARY" FORMAT A25


SQL> /
ENAME
JOB
SAL REVISED SALARY
---------- --------- ---------- ------------------------KING
PRESIDENT
5000 5000 Sorry!

BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

MANAGER
MANAGER
MANAGER
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
ANALYST
CLERK

2850
2450
2975
1250
1600
1500
950
1250
3000
800

3420 Revised.
2940 Revised.
3570 Revised.
1250 Sorry!
1600 Sorry!
1500 Sorry!
1092.5 Revised.
1250 Sorry!
3300 Revised.
920 Revised.

ENAME
---------SCOTT
ADAMS
MILLER

JOB
SAL REVISED SALARY
--------- ---------- ------------------------ANALYST
3000 3300 Revised.
CLERK
1100 1265 Revised.
CLERK
1300 1495 Revised.

14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=36
4)
1

SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=364)

SELECT Ename, Job, Sal,


DECODE(Job, 'ANALYST', Sal * 1.1,
'CLERK', Sal * 1.15,
'MANAGER', Sal * 1.2,
Sal) "REVISED SALARY",
DECODE(Job, 'ANALYST', Sal * 1.1,
'CLERK', Sal * 1.15,
'MANAGER', Sal * 1.2,
Sal) - Sal "Extra Amount",
DECODE(Job, 'ANALYST', 'Revised',
'CLERK', 'Revised',
'MANAGER', 'Revised',
'Sorry!') "Status"
FROM Emp;

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD

JOB
SAL REVISED SALARY Extra Amount
--------- ---------- -------------- -----------PRESIDENT
5000
##########
0
MANAGER
2850
##########
570
MANAGER
2450
##########
490
MANAGER
2975
##########
595
SALESMAN
1250
##########
0
SALESMAN
1600
##########
0
SALESMAN
1500
##########
0
CLERK
950
##########
142.5
SALESMAN
1250
##########
0

Status
------Sorry!
Revised
Revised
Revised
Sorry!
Sorry!
Sorry!
Revised
Sorry!

FORD
SMITH

ANALYST
CLERK

3000
800

##########
##########

300 Revised
120 Revised

ENAME
---------SCOTT
ADAMS
MILLER

JOB
SAL REVISED SALARY Extra Amount
--------- ---------- -------------- -----------ANALYST
3000
##########
300
CLERK
1100
##########
165
CLERK
1300
##########
195

Status
------Revised
Revised
Revised

14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=36
4)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=364)

SQL> COLUMN "REVISED SALARY"


COLUMN
REVISED SALARY ON
FORMAT
A25
SQL> COLUMN "REVISED SALARY" FORMAT 99999
SQL> /
ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
SAL REVISED SALARY Extra Amount
--------- ---------- -------------- -----------PRESIDENT
5000
5000
0
MANAGER
2850
3420
570
MANAGER
2450
2940
490
MANAGER
2975
3570
595
SALESMAN
1250
1250
0
SALESMAN
1600
1600
0
SALESMAN
1500
1500
0
CLERK
950
1093
142.5
SALESMAN
1250
1250
0
ANALYST
3000
3300
300
CLERK
800
920
120

Status
------Sorry!
Revised
Revised
Revised
Sorry!
Sorry!
Sorry!
Revised
Sorry!
Revised
Revised

ENAME
---------SCOTT
ADAMS
MILLER

JOB
SAL REVISED SALARY Extra Amount
--------- ---------- -------------- -----------ANALYST
3000
3300
300
CLERK
1100
1265
165
CLERK
1300
1495
195

Status
------Revised
Revised
Revised

14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=36
4)

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=364)

SQL> cl scr
SQL>
1
2
3
4
5
6
7
8
9
10
11
12
13
14*

R
SELECT Ename, Job, Sal,
DECODE(Job, 'ANALYST', Sal * 1.1,
'CLERK', Sal * 1.15,
'MANAGER', Sal * 1.2,
Sal) "REVISED SALARY",
DECODE(Job, 'ANALYST', Sal * 1.1,
'CLERK', Sal * 1.15,
'MANAGER', Sal * 1.2,
Sal) - Sal "Extra Amount",
DECODE(Job, 'ANALYST', 'Revised',
'CLERK', 'Revised',
'MANAGER', 'Revised',
'Sorry!') "Status"
FROM Emp

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
SAL REVISED SALARY Extra Amount
--------- ---------- -------------- -----------PRESIDENT
5000
5000
0
MANAGER
2850
3420
570
MANAGER
2450
2940
490
MANAGER
2975
3570
595
SALESMAN
1250
1250
0
SALESMAN
1600
1600
0
SALESMAN
1500
1500
0
CLERK
950
1093
142.5
SALESMAN
1250
1250
0
ANALYST
3000
3300
300
CLERK
800
920
120

Status
------Sorry!
Revised
Revised
Revised
Sorry!
Sorry!
Sorry!
Revised
Sorry!
Revised
Revised

ENAME
---------SCOTT
ADAMS
MILLER

JOB
SAL REVISED SALARY Extra Amount
--------- ---------- -------------- -----------ANALYST
3000
3300
300
CLERK
1100
1265
165
CLERK
1300
1495
195

Status
------Revised
Revised
Revised

14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=36
4)
1

TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=364)

SQL> cl scr
SQL>
2
3
4
5
6
7
8

SELECT
COUNT(DECODE(Deptno, 10, '*', NULL)) D10_COUNT,
SUM(DECODE(Deptno, 10, Sal, NULL)) D10_Sal,
COUNT(DECODE(Deptno, 20, '*', NULL)) D20_COUNT,
SUM(DECODE(Deptno, 20, Sal, NULL)) D20_Sal,
COUNT(DECODE(Deptno, 30, '*', NULL)) D30_COUNT,
SUM(DECODE(Deptno, 30, Sal, NULL)) D30_Sal
FROM Emp;

D10_COUNT
D10_SAL D20_COUNT
D20_SAL D30_COUNT
D30_SAL
---------- ---------- ---------- ---------- ---------- ---------3
8750
5
10875
6
9400

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=26)
1
0
SORT (AGGREGATE)
2
1
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=364)

SQL> SELECT Deptno, COUNT(*), SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno;
DEPTNO
COUNT(*)
SUM(SAL)
------ ---------- ---------10
3
8750
20
5
10875
30
6
9400

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=36
4)
1
2

0
1

SORT (GROUP BY) (Cost=4 Card=14 Bytes=364)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=364)

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Deptno, COUNT(*), SUM(Sal)


FROM Emp
GROUP BY ROLLUP(Deptno)
/

DEPTNO
COUNT(*)
SUM(SAL)
------ ---------- ---------10
3
8750
20
5
10875
30
6
9400
14
29025

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=36
4)
1
2

0
1

SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=364)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=364)

SQL> cl scr
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
2
3
4
5
6
7
8
9

COLUMN D10_COUNT FORMAT 99


COLUMN D10_SAL FORMAT 99999
COLUMN D20_COUNT FORMAT 99
COLUMN D20_SAL FORMAT 99999
COLUMN D30_COUNT FORMAT 99
COLUMN D30_SAL FORMAT 99999
COLUMN EMPCOUNT FORMAT 99
COLUMN SALSUM FORMAT 99999
SELECT
COUNT(DECODE(Deptno, 10, '*', NULL)) D10_COUNT,
SUM(DECODE(Deptno, 10, Sal, NULL)) D10_Sal,
COUNT(DECODE(Deptno, 20, '*', NULL)) D20_COUNT,
SUM(DECODE(Deptno, 20, Sal, NULL)) D20_Sal,
COUNT(DECODE(Deptno, 30, '*', NULL)) D30_COUNT,
SUM(DECODE(Deptno, 30, Sal, NULL)) D30_Sal,
COUNT(*) EmpCount, SUM(Sal) SalSum
FROM Emp;

D10_COUNT D10_SAL D20_COUNT D20_SAL D30_COUNT D30_SAL EMPCOUNT SALSUM


--------- ------- --------- ------- --------- ------- -------- -----3
8750
5
10875
6
9400
14 29025

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=26)
1
0
SORT (AGGREGATE)
2
1
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=364)

SQL> cl scr

SQL>
2
3
4
5
6
7

SELECT Job,
SUM(DECODE(Deptno, 10, Sal)) "Deptno 10",
SUM(DECODE(Deptno, 20, Sal)) "Deptno 20",
SUM(DECODE(Deptno, 30, Sal)) "Deptno 30",
SUM(Sal) "Total"
FROM Emp
GROUP BY Job;

JOB
Deptno 10 Deptno 20 Deptno 30
Total
--------- ---------- ---------- ---------- ---------ANALYST
6000
6000
CLERK
1300
1900
950
4150
MANAGER
2450
2975
2850
8275
PRESIDENT
5000
5000
SALESMAN
5600
5600

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44
8)
1
2

0
1

SORT (GROUP BY) (Cost=4 Card=14 Bytes=448)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT Job,
SUM(DECODE(Deptno, 10, Sal)) "Deptno 10",
SUM(DECODE(Deptno, 20, Sal)) "Deptno 20",
SUM(DECODE(Deptno, 30, Sal)) "Deptno 30",
SUM(Sal) "Total"
FROM Emp
GROUP BY ROLLUP(Job)
/

JOB
Deptno 10 Deptno 20 Deptno 30
Total
--------- ---------- ---------- ---------- ---------ANALYST
6000
6000
CLERK
1300
1900
950
4150
MANAGER
2450
2975
2850
8275
PRESIDENT
5000
5000
SALESMAN
5600
5600
8750
10875
9400
29025
6 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44

8)
1
2

SQL>
2
3
4
5
6
7
8
9

0
1

SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=448)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)

SELECT Deptno,
SUM(DECODE(Job, 'PRESIDENT', Sal)) "President",
SUM(DECODE(Job, 'ANALYST', Sal)) "Analyst",
SUM(DECODE(Job, 'MANAGER', Sal)) "Manager",
SUM(DECODE(Job, 'CLERK', Sal)) "Clerk",
SUM(DECODE(Job, 'SALESMAN', Sal)) "Salesman",
SUM(Sal) "Total"
FROM Emp
GROUP BY Deptno;

DEPTNO President
Analyst
Manager
Clerk
Salesman
Total
------ ---------- ---------- ---------- ---------- ---------- ---------10
5000
2450
1300
8750
20
6000
2975
1900
10875
30
2850
950
5600
9400

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44
8)
1
2

0
1

SORT (GROUP BY) (Cost=4 Card=14 Bytes=448)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)

SQL> cl scr
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
2
3
4
5
6
7
8
9

COLUMN President FORMAT A9


COLUMN Analyst FORMAT A9
COLUMN Manager FORMAT A9
COLUMN Clerk FORMAT A9
COLUMN Salesman FORMAT A9
SELECT Deptno,
NVL(TO_CHAR(SUM(DECODE(Job,
NVL(TO_CHAR(SUM(DECODE(Job,
NVL(TO_CHAR(SUM(DECODE(Job,
NVl(TO_CHAR(SUM(DECODE(Job,
NVL(TO_CHAR(SUM(DECODE(Job,
SUM(Sal) "Total"
FROM Emp
GROUP BY Deptno;

'PRESIDENT', Sal))), '***') "President",


'ANALYST', Sal))), '***') "Analyst",
'MANAGER', Sal))), '***') "Manager",
'CLERK', Sal))), '***') "Clerk",
'SALESMAN', Sal))), '***') "Salesman",

DEPTNO President Analyst


Manager
Clerk
Salesman
Total
------ --------- --------- --------- --------- --------- ----------

10 5000
20 ***
30 ***

***
6000
***

2450
2975
2850

1300
1900
950

***
***
5600

8750
10875
9400

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44
8)
1
2

0
1

SORT (GROUP BY) (Cost=4 Card=14 Bytes=448)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)

SQL> cl scr
SQL> SET PAGESIZE 200
SQL> BREAK ON Month SKIP 1
SQL> COLUMN Month FORMAT A18
SQL> COLUMN Sun FORMAT A5
SQL> COLUMN Mon FORMAT A5
SQL> COLUMN Tue FORMAT A5
SQL> COLUMN Wed FORMAT A5
SQL> COLUMN Thu FORMAT A5
SQL> COLUMN Fri FORMAT A5
SQL> COLUMN Sat FORMAT A5
SQL> SELECT
2
LPAD(Month, 20 - (20 - LENGTH(Month)) /
3
"Sun",
4
"Mon",
5
"Tue",
6
"Wed",
7
"Thu",
8
"Fri",
9
"Sat"
10 FROM (
11
SELECT
12
TO_CHAR(DT,'FMMonth YYYY') Month,
13
TO_CHAR(DT + 1,'IW') Week,
14
MAX(DECODE(TO_CHAR(DT, 'D'), '1',
"Sun",
15
MAX(DECODE(TO_CHAR(DT, 'D'), '2',
"Mon",
16
MAX(DECODE(TO_CHAR(DT, 'D'), '3',
"Tue",
17
MAX(DECODE(TO_CHAR(DT, 'D'), '4',
"Wed",
18
MAX(DECODE(TO_CHAR(DT, 'D'), '5',
"Thu",
19
MAX(DECODE(TO_CHAR(DT, 'D'), '6',
"Fri",
20
MAX(DECODE(TO_CHAR(DT, 'D'), '7',
"Sat"
21
FROM(

2 ) Month,

LPAD(TO_CHAR(DT, 'FMDD'), 2)))


LPAD(TO_CHAR(DT, 'FMDD'), 2)))
LPAD(TO_CHAR(DT, 'FMDD'), 2)))
LPAD(TO_CHAR(DT, 'FMDD'), 2)))
LPAD(TO_CHAR(DT, 'FMDD'), 2)))
LPAD(TO_CHAR(DT, 'FMDD'), 2)))
LPAD(TO_CHAR(DT, 'FMDD'), 2)))

22
SELECT TRUNC(SYSDATE, 'Y') - 1 + ROWNUM DT
23
FROM ALL_OBJECTS
24
WHERE
25
ROWNUM <= ADD_MONTHS(TRUNC(SYSDATE, 'Year'), 12) TRUNC(SYSDATE, 'Year')
26
)
27
GROUP BY TO_CHAR(DT, 'FMMonth YYYY'), TO_CHAR(DT + 1, 'IW')
28
)
29 ORDER BY TO_DATE(MONTH, 'Month YYYY' ), TO_NUMBER(Week)
30 /
MONTH
Sun
------------------ ----January 2010
3
10
17
24
31

February 2010

Mon
----4
11
18
25

Tue
----5
12
19
26

Wed
----6
13
20
27

Thu
----7
14
21
28

Fri
----8
15
22
29

Sat
----9
16
23
30

1
8
15
22

2
9
16
23

3
10
17
24

4
11
18
25

5
12
19
26

6
13
20
27

7
14
21
28

1
8
15
22
29

2
9
16
23
30

3
10
17
24
31

4
11
18
25

5
12
19
26

6
13
20
27

4
11
18
25

5
12
19
26

6
13
20
27

7
14
21
28

1
8
15
22
29

2
9
16
23
30

3
10
17
24

2
9
16
23
30

3
10
17
24
31

4
11
18
25

5
12
19
26

6
13
20
27

7
14
21
28

1
8
15
22
29

6
13
20
27

7
14
21
28

1
8
15
22
29

2
9
16
23
30

3
10
17
24

4
11
18
25

5
12
19
26

4
11
18
25

5
12
19
26

6
13
20
27

7
14
21
28

1
8
15
22
29

2
9
16
23
30

3
10
17
24
31

7
14
21
28
March 2010

April 2010

May 2010

June 2010

July 2010

August 2010

1
8
15
22
29

2
9
16
23
30

3
10
17
24
31

4
11
18
25

5
12
19
26

6
13
20
27

7
14
21
28

5
12
19
26

6
13
20
27

7
14
21
28

1
8
15
22
29

2
9
16
23
30

3
10
17
24

4
11
18
25

3
10
17
24
31

4
11
18
25

5
12
19
26

6
13
20
27

7
14
21
28

1
8
15
22
29

2
9
16
23
30

7
14
21
28

1
8
15
22
29

2
9
16
23
30

3
10
17
24

4
11
18
25

5
12
19
26

6
13
20
27

5
12
19
26

6
13
20
27

7
14
21
28

1
8
15
22
29

2
9
16
23
30

3
10
17
24
31

4
11
18
25

September 2010

October 2010

November 2010

December 2010

63 rows selected.

Execution Plan
---------------------------------------------------------ERROR:
ORA-01039: insufficient privileges on underlying objects of the view

SP2-0612: Error generating AUTOTRACE EXPLAIN report


SQL> SPOOL OFF
SQL> cl scr
SQL>
SQL>
SQL>
2
3
4
5
6
7

COLUMN DEPARTMENTS FORMAT A15


COLUMN SUM(Sal) FORMAT 99999
SELECT
DECODE(GROUPING(Deptno),
1, 'All Departments',
Deptno) Departments,
SUM(Sal)
FROM Emp
GROUP BY ROLLUP(Deptno);

DEPARTMENTS
SUM(SAL)
--------------- --------

10
20
30
All Departments

8750
10875
9400
29025

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>
SQL>

SELECT
DECODE(GROUPING(Deptno),
1, 'All Departments Investment : ',
'Department '||Deptno||' Investments : ') Departments,
SUM(Sal)
FROM Emp
GROUP BY ROLLUP(Deptno)
COLUMN DEPARTMENTS FORMAT A25
/

DEPARTMENTS
SUM(SAL)
------------------------- -------Department 10 Investments
8750
:
Department 20 Investments
:

10875

Department 30 Investments
:

9400

All Departments Investmen


t :

29025

DEPARTMENTS
SUM(SAL)
------------------------- --------

SQL> COLUMN DEPARTMENTS FORMAT A28


SQL> /
DEPARTMENTS
SUM(SAL)
---------------------------- -------Department 10 Investments :
8750
Department 20 Investments :
10875
Department 30 Investments :
9400
All Departments Investment :
29025

SQL> cl scr
SQL>
1
2
3
4
5
6

R
SELECT
DECODE(GROUPING(Deptno),
1, 'All Departments Investment : ',
'Department '||Deptno||' Investments : ') Departments,
SUM(Sal)
FROM Emp

7* GROUP BY ROLLUP(Deptno)
DEPARTMENTS
SUM(SAL)
---------------------------- -------Department 10 Investments :
8750
Department 20 Investments :
10875
Department 30 Investments :
9400
All Departments Investment :
29025

SQL> cl scr
SQL>
2
3
4
5
6
7

SELECT
DECODE(GROUPING(Job),
1, 'All Designations',
Job) Designations,
SUM(Sal)
FROM Emp
GROUP BY ROLLUP(Job);

DESIGNATIONS
SUM(SAL)
---------------- -------ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
All Designations
29025
6 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11

SELECT
DECODE(GROUPING(Deptno),
1 , 'All Departments',
Deptno) Departments,
DECODE(GROUPING(Job),
1, 'All Designations',
Job) Designations,
SUM(Sal)
FROM Emp
GROUP BY CUBE(Deptno, Job)
ORDER BY Deptno;

DEPARTMENTS
---------------------------10
10
10
10
20
20
20
20
30

DESIGNATIONS
SUM(SAL)
---------------- -------CLERK
1300
MANAGER
2450
PRESIDENT
5000
All Designations
8750
ANALYST
6000
CLERK
1900
MANAGER
2975
All Designations
10875
CLERK
950

30
30

MANAGER
SALESMAN

DEPARTMENTS
---------------------------30
All Departments
All Departments
All Departments
All Departments
All Departments
All Departments

DESIGNATIONS
SUM(SAL)
---------------- -------All Designations
9400
ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
All Designations
29025

18 rows selected.
SQL> cl scr
SQL> SELECT Deptno, SUM(Sal)
2 FROM Emp
3 GROUP BY Deptno;
DEPTNO SUM(SAL)
---------- -------10
8750
20
10875
30
9400
SQL> SELECT Job, SUM(Sal)
2 FROM Emp
3 GROUP BY Job;
JOB
SUM(SAL)
--------- -------ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
SQL>
2
3
4

SELECT Deptno, Job, SUM(Sal)


FROM Emp
GROUP BY
(Deptno, Job);

DEPTNO
---------10
10
10
20
20
20
30
30
30

JOB
SUM(SAL)
--------- -------CLERK
1300
MANAGER
2450
PRESIDENT
5000
CLERK
1900
ANALYST
6000
MANAGER
2975
CLERK
950
MANAGER
2850
SALESMAN
5600

9 rows selected.

2850
5600

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Deptno, Job, SUM(Sal)


FROM Emp
GROUP BY
GROUPING SETS(Deptno, Job)
/

DEPTNO JOB
SUM(SAL)
---------- --------- -------10
8750
20
10875
30
9400
ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 Deptno,
3 Job,
4 MGR,
5 TO_CHAR(HireDate, 'YYYY') Year,
6 TO_CHAR(HireDate, 'Q') Quarter,
7 TO_CHAR(HireDate, 'Month') Month,
8 TO_CHAR(HireDate, 'Day') WeekDay
9 SUM(Sal)
10 FROM Emp
11 GROUP BY
12 GROUPING SETS
13 (
14
Deptno,
15
Job,
16
MGR,
17
TO_CHAR(HireDate, 'YYYY'),
18
TO_CHAR(HireDate, 'Q'),
19
TO_CHAR(HireDate, 'Month'),
20
TO_CHAR(HireDate, 'Day')
21* )
SQL> /
SUM(Sal)
*
ERROR at line 9:
ORA-00923: FROM keyword not found where expected

SQL> ED
Wrote file afiedt.buf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21*
SQL>

SELECT
Deptno,
Job,
MGR,
TO_CHAR(HireDate, 'YYYY') Year,
TO_CHAR(HireDate, 'Q') Quarter,
TO_CHAR(HireDate, 'Month') Month,
TO_CHAR(HireDate, 'Day') WeekDay,
SUM(Sal)
FROM Emp
GROUP BY
GROUPING SETS
(
Deptno,
Job,
MGR,
TO_CHAR(HireDate, 'YYYY'),
TO_CHAR(HireDate, 'Q'),
TO_CHAR(HireDate, 'Month'),
TO_CHAR(HireDate, 'Day')
)
/

DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------10
8750
20
10875
30
9400
ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
7566
6000
7698
6550
7782
1300
DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------7788
1100
7839
8275
7902
800
5000
1980
800
1981
22825
1982
4300
1983
1100
1
5250
2
8275
3
2750
DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------4
12750
April
2975
December
7750
February
2850

January
June
May
November
September
Friday
Monday

2400
2450
2850
5000
2750
4450
1250

DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------Saturday
1300
Sunday
1250
Thursday
9925
Tuesday
8950
Wednesday
1900
38 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 Deptno,
3 Job,
4 MGR,
5 TO_CHAR(HireDate, 'YYYY') Year,
6 TO_CHAR(HireDate, 'Q') Quarter,
7 TO_CHAR(HireDate, 'Month') Month,
8 TO_CHAR(HireDate, 'Day') WeekDay,
9 SUM(Sal)
10 FROM Emp
11 GROUP BY
12 GROUPING SETS
13 (
14
Deptno,
15
Job,
16
MGR,
17
TO_CHAR(HireDate, 'YYYY'),
18
TO_CHAR(HireDate, 'Q'),
19
TO_CHAR(HireDate, 'Month'),
20
TO_CHAR(HireDate, 'Day')
21 )
22* HAVING GROUPING(&ColumnName) = 0
SQL> SET VERIFY OFF
SQL> /
Enter value for columnname: Deptno
DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------10
8750
20
10875
30
9400
SQL> /
Enter value for columnname: Job
DEPTNO JOB

MGR YEAR Q MONTH

WEEKDAY

SUM(SAL)

---------- --------- ---------- ---- - --------- --------- -------ANALYST


6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
SQL> /
Enter value for columnname: MGR
DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------7566
6000
7698
6550
7782
1300
7788
1100
7839
8275
7902
800
5000
7 rows selected.
SQL> /
Enter value for columnname: TO_CHAR(HireDate, 'YYYY')
DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------1980
800
1981
22825
1982
4300
1983
1100
SQL> SET AUTOTRACE ON EXPLAIN
SQL> /
Enter value for columnname: Deptno
DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------10
8750
20
10875
30
9400

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=36
4)
1
2
3

SQL> ED

0
1
2

FILTER
SORT (GROUP BY) (Cost=4 Card=14 Bytes=364)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 B
ytes=364)

Wrote file afiedt.buf


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21*
22

SELECT
Deptno,
Job,
MGR,
TO_CHAR(HireDate, 'YYYY') Year,
TO_CHAR(HireDate, 'Q') Quarter,
TO_CHAR(HireDate, 'Month') Month,
TO_CHAR(HireDate, 'Day') WeekDay,
SUM(Sal)
FROM Emp
GROUP BY
GROUPING SETS
(
Deptno,
Job,
MGR,
TO_CHAR(HireDate, 'YYYY'),
TO_CHAR(HireDate, 'Q'),
TO_CHAR(HireDate, 'Month'),
TO_CHAR(HireDate, 'Day')
)
/

DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------10
8750
20
10875
30
9400
ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
7566
6000
7698
6550
7782
1300
DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------7788
1100
7839
8275
7902
800
5000
1980
800
1981
22825
1982
4300
1983
1100
1
5250
2
8275
3
2750
DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------4
12750
April
2975

December
February
January
June
May
November
September
Friday
Monday

7750
2850
2400
2450
2850
5000
2750
4450
1250

DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------Saturday
1300
Sunday
1250
Thursday
9925
Tuesday
8950
Wednesday
1900
38 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=26 Card=14 Bytes=8
82)
1
2
3

0
1
2

TEMP TABLE TRANSFORMATION


LOAD AS SELECT
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 B
ytes=756)

4
5
6

1
4
5

LOAD AS SELECT
SORT (GROUP BY) (Cost=3 Card=1 Bytes=26)
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6604_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=26)

7
8
9

1
7
8

LOAD AS SELECT
SORT (GROUP BY) (Cost=3 Card=1 Bytes=19)
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6604_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=19)

10
11
12

1
10
11

LOAD AS SELECT
SORT (GROUP BY) (Cost=3 Card=1 Bytes=26)
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6604_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=26)

13
14
15

1
13
14

LOAD AS SELECT
SORT (GROUP BY) (Cost=3 Card=1 Bytes=17)
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6604_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=17)

16
17
18

1
16
17

LOAD AS SELECT
SORT (GROUP BY) (Cost=3 Card=1 Bytes=15)
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6604_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=15)

19

LOAD AS SELECT

20
21

19
20

SORT (GROUP BY) (Cost=3 Card=1 Bytes=19)


TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6604_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=19)

22
23
24

1
22
23

LOAD AS SELECT
SORT (GROUP BY) (Cost=3 Card=1 Bytes=19)
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6604_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=19)

25
26

1
25

VIEW (Cost=2 Card=1 Bytes=63)


TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6605_14C83BF' (T
ABLE (TEMP)) (Cost=2 Card=1 Bytes=63)

SQL> cl scr
SQL> SET AUTOTRACE OFF EXPLAIN
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9

SELECT Ename, Deptno,


CASE Deptno
WHEN 10 THEN 'ACCOUNTING'
WHEN 20 THEN 'RESEARCH'
WHEN 30 THEN 'SALES'
WHEN 40 THEN 'OPERATIONS'
ELSE 'NOT FOUND'
END
FROM Emp;

ENAME
DEPTNO CASEDEPTNO
---------- ---------- ---------KING
10 ACCOUNTING
BLAKE
30 SALES
CLARK
10 ACCOUNTING
JONES
20 RESEARCH
MARTIN
30 SALES
ALLEN
30 SALES
TURNER
30 SALES
JAMES
30 SALES
WARD
30 SALES
FORD
20 RESEARCH
SMITH
20 RESEARCH
ENAME
DEPTNO CASEDEPTNO
---------- ---------- ---------SCOTT
20 RESEARCH
ADAMS
20 RESEARCH
MILLER
10 ACCOUNTING
14 rows selected.
SQL> SELECT Ename, Deptno,
2 DECODE(Deptno
3
, 10 , 'ACCOUNTING'
4
, 20 , 'RESEARCH'

5
6
7
8

, 30 , 'SALES'
, 40 , 'OPERATIONS'
, 'NOT FOUND') Dept
FROM Emp;

ENAME
DEPTNO DEPT
---------- ---------- ---------KING
10 ACCOUNTING
BLAKE
30 SALES
CLARK
10 ACCOUNTING
JONES
20 RESEARCH
MARTIN
30 SALES
ALLEN
30 SALES
TURNER
30 SALES
JAMES
30 SALES
WARD
30 SALES
FORD
20 RESEARCH
SMITH
20 RESEARCH
ENAME
DEPTNO DEPT
---------- ---------- ---------SCOTT
20 RESEARCH
ADAMS
20 RESEARCH
MILLER
10 ACCOUNTING
14 rows selected.
SQL>
2
3
4
5
6
7
8
9

SELECT Ename, Deptno,


CASE
WHEN Deptno = 10 THEN
WHEN Deptno = 20 THEN
WHEN Deptno = 30 THEN
WHEN Deptno = 40 THEN
ELSE 'Not Specified'
END
FROM Emp;

'ACCOUNTING'
'RESEARCH'
'SALES'
'OPERATIONS'

ENAME
DEPTNO CASEWHENDEPTN
---------- ---------- ------------KING
10 ACCOUNTING
BLAKE
30 SALES
CLARK
10 ACCOUNTING
JONES
20 RESEARCH
MARTIN
30 SALES
ALLEN
30 SALES
TURNER
30 SALES
JAMES
30 SALES
WARD
30 SALES
FORD
20 RESEARCH
SMITH
20 RESEARCH
ENAME
DEPTNO CASEWHENDEPTN
---------- ---------- ------------SCOTT
20 RESEARCH
ADAMS
20 RESEARCH
MILLER
10 ACCOUNTING

14 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7
8

SELECT Ename, Sal,


CASE
WHEN Sal >= 800 AND Sal <= 2000
THEN 'LOWEST PAY'
WHEN Sal >= 2001 AND Sal <= 4000
THEN 'MODERATE PAY'
ELSE 'HIGH PAY' END
FROM Emp;

ENAME
SAL CASEWHENSAL>
---------- ---------- -----------KING
5000 HIGH PAY
BLAKE
2850 MODERATE PAY
CLARK
2450 MODERATE PAY
JONES
2975 MODERATE PAY
MARTIN
1250 LOWEST PAY
ALLEN
1600 LOWEST PAY
TURNER
1500 LOWEST PAY
JAMES
950 LOWEST PAY
WARD
1250 LOWEST PAY
FORD
3000 MODERATE PAY
SMITH
800 LOWEST PAY
ENAME
SAL CASEWHENSAL>
---------- ---------- -----------SCOTT
3000 MODERATE PAY
ADAMS
1100 LOWEST PAY
MILLER
1300 LOWEST PAY
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

SELECT Ename, Sal,


CASE
WHEN Sal BETWEEN 800 AND 2000
THEN 'LOWEST PAY'
WHEN Sal BETWEEN 2001 AND 4000
THEN 'MODERATE PAY'
ELSE 'HIGH PAY' END
FROM Emp
/

ENAME
SAL CASEWHENSALB
---------- ---------- -----------KING
5000 HIGH PAY
BLAKE
2850 MODERATE PAY
CLARK
2450 MODERATE PAY
JONES
2975 MODERATE PAY
MARTIN
1250 LOWEST PAY
ALLEN
1600 LOWEST PAY
TURNER
1500 LOWEST PAY

JAMES
WARD
FORD
SMITH

950
1250
3000
800

LOWEST PAY
LOWEST PAY
MODERATE PAY
LOWEST PAY

ENAME
SAL CASEWHENSALB
---------- ---------- -----------SCOTT
3000 MODERATE PAY
ADAMS
1100 LOWEST PAY
MILLER
1300 LOWEST PAY
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

SELECT Ename, Sal,


CASE
WHEN Sal BETWEEN 800 AND 2000 AND Job IN('SALESMAN', 'ANALYST')
THEN 'LOWEST PAY'
WHEN Sal BETWEEN 2001 AND 4000
THEN 'MODERATE PAY'
ELSE 'HIGH PAY' END
FROM Emp
/

ENAME
SAL CASEWHENSALB
---------- ---------- -----------KING
5000 HIGH PAY
BLAKE
2850 MODERATE PAY
CLARK
2450 MODERATE PAY
JONES
2975 MODERATE PAY
MARTIN
1250 LOWEST PAY
ALLEN
1600 LOWEST PAY
TURNER
1500 LOWEST PAY
JAMES
950 HIGH PAY
WARD
1250 LOWEST PAY
FORD
3000 MODERATE PAY
SMITH
800 HIGH PAY
ENAME
SAL CASEWHENSALB
---------- ---------- -----------SCOTT
3000 MODERATE PAY
ADAMS
1100 HIGH PAY
MILLER
1300 HIGH PAY
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6

SELECT Ename, Sal, Job,


CASE
WHEN Sal BETWEEN 800 AND 2000 AND Job IN('SALESMAN', 'ANALYST')
THEN 'LOWEST PAY'
WHEN Sal BETWEEN 2001 AND 4000
THEN 'MODERATE PAY'

7 ELSE 'HIGH PAY'


8* FROM Emp
SQL> /

END

ENAME
SAL JOB
CASEWHENSALB
---------- ---------- --------- -----------KING
5000 PRESIDENT HIGH PAY
BLAKE
2850 MANAGER
MODERATE PAY
CLARK
2450 MANAGER
MODERATE PAY
JONES
2975 MANAGER
MODERATE PAY
MARTIN
1250 SALESMAN LOWEST PAY
ALLEN
1600 SALESMAN LOWEST PAY
TURNER
1500 SALESMAN LOWEST PAY
JAMES
950 CLERK
HIGH PAY
WARD
1250 SALESMAN LOWEST PAY
FORD
3000 ANALYST
MODERATE PAY
SMITH
800 CLERK
HIGH PAY
ENAME
SAL JOB
---------- ---------- --------SCOTT
3000 ANALYST
ADAMS
1100 CLERK
MILLER
1300 CLERK

CASEWHENSALB
-----------MODERATE PAY
HIGH PAY
HIGH PAY

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

SELECT Ename, Sal, Job,


CASE
WHEN Sal BETWEEN 800 AND 2000 AND Job IN('SALESMAN', 'ANALYST')
THEN 'LOWEST PAY'
WHEN Sal BETWEEN 2001 AND 4000
THEN 'MODERATE PAY'
ELSE 'HIGH PAY' END
FROM Emp
cl scr

SQL> CONN SYSTEM


Connected.
SQL> GRANT QUERY REWRITE
2 TO SCOTT;
Grant succeeded.
SQL> GRANT
2 CREATE MATERIALIZED VIEW
3 TO SCOTT;
Grant succeeded.
SQL> GRANT ALTER SESSION
2 TO SCOTT;
Grant succeeded.

SQL> CONN SCOTT/TIGER


Connected.
SQL> ALTER SESSION
2 SET QUERY_REWRITE_ENABLED = TRUE;
Session altered.
SQL> cl scr
SQL> SELECT Deptno , Job, SUM(Sal)
2 FROM Emp
3 GROUP BY Deptno, Job;
DEPTNO
---------10
10
10
20
20
20
30
30
30

JOB
SUM(SAL)
--------- -------CLERK
1300
MANAGER
2450
PRESIDENT
5000
CLERK
1900
ANALYST
6000
MANAGER
2975
CLERK
950
MANAGER
2850
SALESMAN
5600

9 rows selected.
SQL>
2
3
4
5

CREATE OR REPLACE VIEW DeptJobSalSum


AS
SELECT Deptno, Job, SUM(Sal) SalSum
FROM Emp
GROUP BY Deptno, Job;

View created.
SQL>
SQL>
2
3

SET AUTOTRACE ON EXPLAIN


SELECT Deptno, Job, SUM(Sal) SalSum
FROM Emp
GROUP BY Deptno, Job;

DEPTNO
---------10
10
10
20
20
20
30
30
30

JOB
SALSUM
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
CLERK
1900
ANALYST
6000
MANAGER
2975
CLERK
950
MANAGER
2850
SALESMAN
5600

9 rows selected.

Execution Plan
----------------------------------------------------------

1
2

SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44


8)
0
1

SORT (GROUP BY) (Cost=4 Card=14 Bytes=448)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)

SQL> SELECT * FROM DeptJobSalSum;


DEPTNO
---------10
10
10
20
20
20
30
30
30

JOB
SALSUM
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
CLERK
1900
ANALYST
6000
MANAGER
2975
CLERK
950
MANAGER
2850
SALESMAN
5600

9 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44
8)
1
2

0
1

SORT (GROUP BY) (Cost=4 Card=14 Bytes=448)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)

SQL> SELECT Deptno, SUM(SALSUM)


2 FROM DeptJobSalSum
3 GROUP BY Deptno;
DEPTNO SUM(SALSUM)
---------- ----------10
8750
20
10875
30
9400

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=36
4)
1
2

0
1

SORT (GROUP BY NOSORT) (Cost=4 Card=14 Bytes=364)


VIEW OF 'DEPTJOBSALSUM' (VIEW) (Cost=4 Card=14 Bytes=364

)
3
4

2
3

SORT (GROUP BY) (Cost=4 Card=14 Bytes=448)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=448)

SQL> cl scr
SQL>
2
3
4
5
6
7

CREATE MATERIALIZED VIEW


EMP_SUM
ENABLE QUERY REWRITE
AS
SELECT Deptno , Job, SUM(Sal)
FROM Emp
GROUP BY Deptno, Job;

Materialized view created.


SQL> SELECT Deptno , Job, SUM(Sal)
2 FROM Emp
3 GROUP BY Deptno, Job;
DEPTNO
---------10
10
10
20
20
20
30
30
30

JOB
SUM(SAL)
--------- -------CLERK
1300
MANAGER
2450
PRESIDENT
5000
CLERK
1900
ANALYST
6000
MANAGER
2975
CLERK
950
MANAGER
2850
SALESMAN
5600

9 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=9 Bytes=288
)
1

MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW REWR


ITE) (Cost=3 Card=9 Bytes=288)

SQL> SELECT Deptno, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno;
DEPTNO SUM(SAL)
---------- --------

10
20
30

8750
10875
9400

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=9 Bytes=234
)
1
2

0
1

SORT (GROUP BY) (Cost=4 Card=9 Bytes=234)


MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW RE
WRITE) (Cost=3 Card=9 Bytes=234)

SQL> SELECT Job, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno;
SELECT Job, SUM(Sal)
*
ERROR at line 1:
ORA-00979: not a GROUP BY expression

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Job, SUM(Sal)


FROM Emp
GROUP BY Job
/

JOB
SUM(SAL)
--------- -------ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=9 Bytes=171
)
1
2

0
1

SORT (GROUP BY) (Cost=4 Card=9 Bytes=171)


MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW RE
WRITE) (Cost=3 Card=9 Bytes=171)

SQL> SELECT SUM(Sal)


2 FROM Emp;

SUM(SAL)
-------29025

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=13)
1
0
SORT (AGGREGATE)
2
1
MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW RE
WRITE) (Cost=3 Card=9 Bytes=117)

SQL> SELECT Deptno, SUM(Sal)


2 FROM Emp
3 GROUP BY ROLLUP(Deptno);
DEPTNO SUM(SAL)
---------- -------10
8750
20
10875
30
9400
29025

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=9 Bytes=234
)
1
2

0
1

SORT (GROUP BY ROLLUP) (Cost=4 Card=9 Bytes=234)


MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW RE
WRITE) (Cost=3 Card=9 Bytes=234)

SQL> SELECT Job, SUM(Sal)


2 FROM Emp
3 GROUP BY ROLLUP(Job);
JOB
SUM(SAL)
--------- -------ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
29025
6 rows selected.

Execution Plan

---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=9 Bytes=171
)
1
2

0
1

SORT (GROUP BY ROLLUP) (Cost=4 Card=9 Bytes=171)


MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW RE
WRITE) (Cost=3 Card=9 Bytes=171)

SQL> SELECT Deptno, Job, SUM(Sal)


2 FROM Emp
3 GROUP BY ROLLUP(Deptno, Job);
DEPTNO
---------10
10
10
10
20
20
20
20
30
30
30

JOB
SUM(SAL)
--------- -------CLERK
1300
MANAGER
2450
PRESIDENT
5000
8750
CLERK
1900
ANALYST
6000
MANAGER
2975
10875
CLERK
950
MANAGER
2850
SALESMAN
5600

DEPTNO JOB
SUM(SAL)
---------- --------- -------30
9400
29025
13 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=9 Bytes=288
)
1
2

SQL>
2
3
4

0
1

SORT (GROUP BY ROLLUP) (Cost=4 Card=9 Bytes=288)


MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW RE
WRITE) (Cost=3 Card=9 Bytes=288)

SELECT Deptno, Job, SUm(Sal)


FROm Emp
GROUP BY CUBE(Deptno, Job)
ORDER BY Deptno;

DEPTNO JOB
SUM(SAL)
---------- --------- -------10 CLERK
1300

10
10
10
20
20
20
20
30
30
30

MANAGER
PRESIDENT
ANALYST
CLERK
MANAGER
CLERK
MANAGER
SALESMAN

2450
5000
8750
6000
1900
2975
10875
950
2850
5600

DEPTNO JOB
SUM(SAL)
---------- --------- -------30
9400
ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
29025
18 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=9 Bytes=288
)
1
2
3
4

0
1
2
3

SORT (GROUP BY) (Cost=4 Card=9 Bytes=288)


GENERATE (CUBE) (Cost=4 Card=9 Bytes=288)
SORT (GROUP BY) (Cost=4 Card=9 Bytes=288)
MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIE
W REWRITE) (Cost=3 Card=9 Bytes=288)

SQL> SELECT Deptno, Job, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno, ROLLUP(Job);
DEPTNO
---------10
10
10
10
20
20
20
20
30
30
30

JOB
SUM(SAL)
--------- -------CLERK
1300
MANAGER
2450
PRESIDENT
5000
8750
CLERK
1900
ANALYST
6000
MANAGER
2975
10875
CLERK
950
MANAGER
2850
SALESMAN
5600

DEPTNO JOB

SUM(SAL)

---------- --------- -------30


9400
12 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=9 Bytes=288
)
1
2

0
1

SORT (GROUP BY ROLLUP) (Cost=4 Card=9 Bytes=288)


MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW RE
WRITE) (Cost=3 Card=9 Bytes=288)

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Deptno, Job, SUM(Sal)


FROM Emp
GROUP BY Job, ROLLUP(Deptno)
/

DEPTNO
---------10
20
30
20
10
20
30
30

JOB
SUM(SAL)
--------- -------CLERK
1300
CLERK
1900
CLERK
950
CLERK
4150
ANALYST
6000
ANALYST
6000
MANAGER
2450
MANAGER
2975
MANAGER
2850
MANAGER
8275
SALESMAN
5600

DEPTNO JOB
SUM(SAL)
---------- --------- -------SALESMAN
5600
10 PRESIDENT
5000
PRESIDENT
5000
14 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=9 Bytes=288
)
1
2

0
1

SORT (GROUP BY ROLLUP) (Cost=4 Card=9 Bytes=288)


MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW RE
WRITE) (Cost=3 Card=9 Bytes=288)

SQL> SLECT Deptno, Job, SUM(Sal)


SP2-0734: unknown command beginning "SLECT Dept..." - rest of line ignored.
SQL> SELECT Deptno, Job, SUM(Sal)
2 FROM Emp
3 GROUP BY
4 GROUPING SETS(Deptno, Job);
DEPTNO JOB
SUM(SAL)
---------- --------- -------10
8750
20
10875
30
9400
ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
8 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=11 Card=9 Bytes=28
8)
1
2
3

0
1
2

TEMP TABLE TRANSFORMATION


LOAD AS SELECT
MAT_VIEW ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW) (Cost=3
Card=9 Bytes=288)

4
5
6

1
4
5

LOAD AS SELECT
SORT (GROUP BY) (Cost=3 Card=1 Bytes=26)
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D660A_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=26)

7
8
9

1
7
8

LOAD AS SELECT
SORT (GROUP BY) (Cost=3 Card=1 Bytes=19)
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D660A_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=19)

10
11

1
10

VIEW (Cost=2 Card=1 Bytes=32)


TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D660B_14C83BF' (T
ABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

SQL> cl scr
SQL> ED
Wrote file afiedt.buf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21*
SQL>

SELECT
Deptno,
Job,
MGR,
TO_CHAR(HireDate, 'YYYY') Year,
TO_CHAR(HireDate, 'Q') Quarter,
TO_CHAR(HireDate, 'Month') Month,
TO_CHAR(HireDate, 'Day') WeekDay,
SUM(Sal)
FROM Emp
GROUP BY
GROUPING SETS
(
Deptno,
Job,
MGR,
TO_CHAR(HireDate, 'YYYY'),
TO_CHAR(HireDate, 'Q'),
TO_CHAR(HireDate, 'Month'),
TO_CHAR(HireDate, 'Day')
)
/

DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------10
8750
20
10875
30
9400
ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
7566
6000
7698
6550
7782
1300
DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------7788
1100
7839
8275
7902
800
5000
1980
800
1981
22825
1982
4300
1983
1100
1
5250
2
8275
3
2750
DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------4
12750
April
2975
December
7750
February
2850

January
June
May
November
September
Friday
Monday

2400
2450
2850
5000
2750
4450
1250

DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------Saturday
1300
Sunday
1250
Thursday
9925
Tuesday
8950
Wednesday
1900
38 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=26 Card=14 Bytes=8
82)
1
2
3

0
1
2

TEMP TABLE TRANSFORMATION


LOAD AS SELECT
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 B
ytes=756)

4
5
6

1
4
5

LOAD AS SELECT
SORT (GROUP BY) (Cost=3 Card=1 Bytes=26)
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6610_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=26)

7
8
9

1
7
8

LOAD AS SELECT
SORT (GROUP BY) (Cost=3 Card=1 Bytes=19)
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6610_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=19)

10
11
12

1
10
11

LOAD AS SELECT
SORT (GROUP BY) (Cost=3 Card=1 Bytes=26)
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6610_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=26)

13
14
15

1
13
14

LOAD AS SELECT
SORT (GROUP BY) (Cost=3 Card=1 Bytes=17)
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6610_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=17)

16
17
18

1
16
17

LOAD AS SELECT
SORT (GROUP BY) (Cost=3 Card=1 Bytes=15)
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6610_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=15)

19
20
21

1
19
20

LOAD AS SELECT
SORT (GROUP BY) (Cost=3 Card=1 Bytes=19)
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6610_14C83BF'

(TABLE (TEMP)) (Cost=2 Card=1 Bytes=19)


22
23
24

1
22
23

LOAD AS SELECT
SORT (GROUP BY) (Cost=3 Card=1 Bytes=19)
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6610_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=19)

25
26

1
25

VIEW (Cost=2 Card=1 Bytes=63)


TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6611_14C83BF' (T
ABLE (TEMP)) (Cost=2 Card=1 Bytes=63)

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24*
SQL>

CREATE MATERIALIZED VIEW SubTotals


ENABLE QUERY REWRITE
AS
SELECT
Deptno,
Job,
MGR,
TO_CHAR(HireDate, 'YYYY') Year,
TO_CHAR(HireDate, 'Q') Quarter,
TO_CHAR(HireDate, 'Month') Month,
TO_CHAR(HireDate, 'Day') WeekDay,
SUM(Sal)
FROM Emp
GROUP BY
GROUPING SETS
(
Deptno,
Job,
MGR,
TO_CHAR(HireDate, 'YYYY'),
TO_CHAR(HireDate, 'Q'),
TO_CHAR(HireDate, 'Month'),
TO_CHAR(HireDate, 'Day')
)
/

Materialized view created.


SQL>
2
3
4
5
6
7
8
9
10
11
12

SELECT
Deptno,
Job,
MGR,
TO_CHAR(HireDate,
TO_CHAR(HireDate,
TO_CHAR(HireDate,
TO_CHAR(HireDate,
SUM(Sal)
FROM Emp
GROUP BY
GROUPING SETS

'YYYY') Year,
'Q') Quarter,
'Month') Month,
'Day') WeekDay,

13
14
15
16
17
18
19
20
21
22

(
Deptno,
Job,
MGR,
TO_CHAR(HireDate,
TO_CHAR(HireDate,
TO_CHAR(HireDate,
TO_CHAR(HireDate,
)

'YYYY'),
'Q'),
'Month'),
'Day')

DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------10
8750
20
10875
30
9400
ANALYST
6000
CLERK
4150
MANAGER
8275
PRESIDENT
5000
SALESMAN
5600
7566
6000
7698
6550
7782
1300
DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------7788
1100
7839
8275
7902
800
5000
1980
800
1981
22825
1982
4300
1983
1100
1
5250
2
8275
3
2750
DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------4
12750
April
2975
December
7750
February
2850
January
2400
June
2450
May
2850
November
5000
September
2750
Friday
4450
Monday
1250
DEPTNO JOB
MGR YEAR Q MONTH
WEEKDAY
SUM(SAL)
---------- --------- ---------- ---- - --------- --------- -------Saturday
1300
Sunday
1250

Thursday
Tuesday
Wednesday

9925
8950
1900

38 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=38 Bytes=23
94)
1

MAT_VIEW REWRITE ACCESS (FULL) OF 'SUBTOTALS' (MAT_VIEW RE


WRITE) (Cost=3 Card=38 Bytes=2394)

SQL> SPOOL OFF


SQL> cl scr
SQL>
2
3
4
5
6
7
8

SELECT
Deptno,
GROUPING(Deptno) GrpDeptnoBit,
Job,
GROUPING(Job) GrpJobBit,
SUM(Sal)
FROM Emp
GROUP BY ROLLUP(Deptno, Job);

DEPTNO GRPDEPTNOBIT JOB


GRPJOBBIT
SUM(SAL)
---------- ------------ --------- ---------- ---------10
0 CLERK
0
1300
10
0 MANAGER
0
2450
10
0 PRESIDENT
0
5000
10
0
1
8750
20
0 CLERK
0
1900
20
0 ANALYST
0
6000
20
0 MANAGER
0
2975
20
0
1
10875
30
0 CLERK
0
950
30
0 MANAGER
0
2850
30
0 SALESMAN
0
5600
DEPTNO GRPDEPTNOBIT JOB
GRPJOBBIT
SUM(SAL)
---------- ------------ --------- ---------- ---------30
0
1
9400
1
1
29025
13 rows selected.
SQL>
SQL>
SQL>
SQL>

COLUMN GRPDEPTNOBIT FORMAT 99


COLUMN GRPJobBIT FORMAT 99
COLUMN Deptno FORMAT 99
cl scr

SQL> R

1
2
3
4
5
6
7
8*

SELECT
Deptno,
GROUPING(Deptno) GrpDeptnoBit,
Job,
GROUPING(Job) GrpJobBit,
SUM(Sal)
FROM Emp
GROUP BY ROLLUP(Deptno, Job)

DEPTNO GRPDEPTNOBIT JOB


GRPJOBBIT
SUM(SAL)
------ ------------ --------- --------- ---------10
0 CLERK
0
1300
10
0 MANAGER
0
2450
10
0 PRESIDENT
0
5000
10
0
1
8750
20
0 CLERK
0
1900
20
0 ANALYST
0
6000
20
0 MANAGER
0
2975
20
0
1
10875
30
0 CLERK
0
950
30
0 MANAGER
0
2850
30
0 SALESMAN
0
5600
DEPTNO GRPDEPTNOBIT JOB
GRPJOBBIT
SUM(SAL)
------ ------------ --------- --------- ---------30
0
1
9400
1
1
29025
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 Deptno,
3 GROUPING(Deptno) GrpDeptnoBit,
4 Job,
5 GROUPING(Job) GrpJobBit,
6 GROUPIN_ID(Deptno, Job) GrpVal,
7 SUM(Sal) SalSum
8 FROM Emp
9* GROUP BY ROLLUP(Deptno, Job)
SQL> COLUMN SalSum FORMAt 99999
SQL> COLUMN GrpVal FORMAt 99
SQL> /
GROUPIN_ID(Deptno, Job) GrpVal,
*
ERROR at line 6:
ORA-00904: "GROUPIN_ID": invalid identifier

SQL> ED
Wrote file afiedt.buf
1
2
3

SELECT
Deptno,
GROUPING(Deptno) GrpDeptnoBit,

4
5
6
7
8
9*
SQL>

Job,
GROUPING(Job) GrpJobBit,
GROUPING_ID(Deptno, Job) GrpVal,
SUM(Sal) SalSum
FROM Emp
GROUP BY ROLLUP(Deptno, Job)
/

DEPTNO GRPDEPTNOBIT JOB


GRPJOBBIT GRPVAL SALSUM
------ ------------ --------- --------- ------ -----10
0 CLERK
0
0
1300
10
0 MANAGER
0
0
2450
10
0 PRESIDENT
0
0
5000
10
0
1
1
8750
20
0 CLERK
0
0
1900
20
0 ANALYST
0
0
6000
20
0 MANAGER
0
0
2975
20
0
1
1 10875
30
0 CLERK
0
0
950
30
0 MANAGER
0
0
2850
30
0 SALESMAN
0
0
5600
DEPTNO GRPDEPTNOBIT JOB
GRPJOBBIT GRPVAL SALSUM
------ ------------ --------- --------- ------ -----30
0
1
1
9400
1
1
3 29025
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT
Deptno,
Job,
GROUPING_ID(Deptno, Job) GrpVal,
SUM(Sal) SalSum
FROM Emp
GROUP BY ROLLUP(Deptno, Job)
/

DEPTNO
-----10
10
10
10
20
20
20
20
30
30
30

JOB
GRPVAL SALSUM
--------- ------ -----CLERK
0
1300
MANAGER
0
2450
PRESIDENT
0
5000
1
8750
CLERK
0
1900
ANALYST
0
6000
MANAGER
0
2975
1 10875
CLERK
0
950
MANAGER
0
2850
SALESMAN
0
5600

DEPTNO JOB
GRPVAL SALSUM
------ --------- ------ ------

30

1
3

9400
29025

13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 Deptno,
3 Job,
4 SUM(Sal) SalSum
5 FROM Emp
6 GROUP BY ROLLUP(Deptno, Job)
7 HAVING
8* GROUPING_ID(Deptno, Job) IN(&GrpVal1, &GrpVal2, &GrpVal3)
SQL> /
Enter value for grpval1: 0
Enter value for grpval2: 0
Enter value for grpval3: 0
old
8: GROUPING_ID(Deptno, Job) IN(&GrpVal1, &GrpVal2, &GrpVal3)
new
8: GROUPING_ID(Deptno, Job) IN(0, 0, 0)
DEPTNO
-----10
10
10
20
20
20
30
30
30

JOB
SALSUM
--------- -----CLERK
1300
MANAGER
2450
PRESIDENT
5000
CLERK
1900
ANALYST
6000
MANAGER
2975
CLERK
950
MANAGER
2850
SALESMAN
5600

9 rows selected.
SQL> /
Enter value for grpval1: 0
Enter value for grpval2: 1
Enter value for grpval3: 1
old
8: GROUPING_ID(Deptno, Job) IN(&GrpVal1, &GrpVal2, &GrpVal3)
new
8: GROUPING_ID(Deptno, Job) IN(0, 1, 1)
DEPTNO
-----10
10
10
10
20
20
20
20
30
30
30

JOB
SALSUM
--------- -----CLERK
1300
MANAGER
2450
PRESIDENT
5000
8750
CLERK
1900
ANALYST
6000
MANAGER
2975
10875
CLERK
950
MANAGER
2850
SALESMAN
5600

DEPTNO JOB
SALSUM
------ --------- -----30
9400
12 rows selected.
SQL> /
Enter value for grpval1: 1
Enter value for grpval2: 1
Enter value for grpval3: 1
old
8: GROUPING_ID(Deptno, Job) IN(&GrpVal1, &GrpVal2, &GrpVal3)
new
8: GROUPING_ID(Deptno, Job) IN(1, 1, 1)
DEPTNO JOB
SALSUM
------ --------- -----10
8750
20
10875
30
9400
SQL> /
Enter value for grpval1: 1
Enter value for grpval2: 1
Enter value for grpval3: 3
old
8: GROUPING_ID(Deptno, Job) IN(&GrpVal1, &GrpVal2, &GrpVal3)
new
8: GROUPING_ID(Deptno, Job) IN(1, 1, 3)
DEPTNO JOB
SALSUM
------ --------- -----10
8750
20
10875
30
9400
29025
SQL> /
Enter value for grpval1: 3
Enter value for grpval2: 3
Enter value for grpval3: 3
old
8: GROUPING_ID(Deptno, Job) IN(&GrpVal1, &GrpVal2, &GrpVal3)
new
8: GROUPING_ID(Deptno, Job) IN(3, 3, 3)
DEPTNO JOB
SALSUM
------ --------- -----29025
SQL>
SQL>
2
3
4
5
6
7

SET AUTOTRACE ON EXPLAIN


SELECT
Deptno,
Job,
GROUPING_ID(Deptno, Job) GrpVal,
SUM(Sal) SalSum
FROM Emp
GROUP BY ROLLUP(Deptno, Job);

DEPTNO JOB
GRPVAL SALSUM
------ --------- ------ -----10 CLERK
0
1300

10
10
10
20
20
20
20
30
30
30

MANAGER
PRESIDENT
CLERK
ANALYST
MANAGER
CLERK
MANAGER
SALESMAN

0
0
1
0
0
0
1
0
0
0

2450
5000
8750
1900
6000
2975
10875
950
2850
5600

DEPTNO JOB
GRPVAL SALSUM
------ --------- ------ -----30
1
9400
3 29025
13 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44
8)
1
2

0
1

SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=448)


TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)

SQL> SELECT
2 Deptno,
3 Job,
4 SUM(Sal) SalSum
5 FROM Emp
6 GROUP BY ROLLUP(Deptno, Job)
7 HAVING
8 GROUPING_ID(Deptno, Job) IN(&GrpVal1, &GrpVal2, &GrpVal3)
9 /
Enter value for grpval1: 1
Enter value for grpval2: 1
Enter value for grpval3: 3
old
8: GROUPING_ID(Deptno, Job) IN(&GrpVal1, &GrpVal2, &GrpVal3)
new
8: GROUPING_ID(Deptno, Job) IN(1, 1, 3)
DEPTNO JOB
SALSUM
------ --------- -----10
8750
20
10875
30
9400
29025

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=36

4)
1
2
3

0
1
2

FILTER
SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=364)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 B
ytes=364)

SQL> cl scr
SQL> SELECT Deptno, Job, SUM(Sal)
2 FROM Emp
3 GROUP BY Deptno, ROLLUP(Deptno, Job);
DEPTNO
-----10
10
10
20
20
20
30
30
30
10
20

JOB
SUM(SAL)
--------- ---------CLERK
1300
MANAGER
2450
PRESIDENT
5000
CLERK
1900
ANALYST
6000
MANAGER
2975
CLERK
950
MANAGER
2850
SALESMAN
5600
8750
10875

DEPTNO JOB
SUM(SAL)
------ --------- ---------30
9400
10
8750
20
10875
30
9400
15 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=10 Card=14 Bytes=4
48)
1
2
3
4
5
6

0
1
2
2
4
5

TEMP TABLE TRANSFORMATION


MULTI-TABLE INSERT
DIRECT LOAD INTO OF 'SYS_TEMP_0FD9D6602_14E5DF5'
DIRECT LOAD INTO OF 'SYS_TEMP_0FD9D6603_14E5DF5'
SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=448)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=448)

7
8
9
10

1
7
8
9

VIEW (Cost=6 Card=3 Bytes=96)


VIEW (Cost=6 Card=3 Bytes=96)
UNION-ALL
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6603_14E5DF5

' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)


11

TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6602_14E5DF5


' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

12

TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6602_14E5DF5


' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Deptno, Job, GROUP_ID() GrpID, SUM(Sal)


FROM Emp
GROUP BY Deptno, ROLLUP(Deptno, Job)
/

DEPTNO
-----10
10
10
20
20
20
30
30
30
10
20

JOB
GRPID
SUM(SAL)
--------- ---------- ---------CLERK
0
1300
MANAGER
0
2450
PRESIDENT
0
5000
CLERK
0
1900
ANALYST
0
6000
MANAGER
0
2975
CLERK
0
950
MANAGER
0
2850
SALESMAN
0
5600
0
8750
0
10875

DEPTNO JOB
GRPID
SUM(SAL)
------ --------- ---------- ---------30
0
9400
10
1
8750
20
1
10875
30
1
9400
15 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=10 Card=14 Bytes=4
90)
1
2
3
4
5
6

0
1
2
2
4
5

TEMP TABLE TRANSFORMATION


MULTI-TABLE INSERT
DIRECT LOAD INTO OF 'SYS_TEMP_0FD9D6606_14E5DF5'
DIRECT LOAD INTO OF 'SYS_TEMP_0FD9D6607_14E5DF5'
SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=448)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=448)
VIEW (Cost=6 Card=3 Bytes=105)

8
9
10

7
8
9

VIEW (Cost=6 Card=3 Bytes=105)


UNION-ALL
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6607_14E5DF5
' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

11

TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6606_14E5DF5


' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

12

TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6606_14E5DF5


' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Deptno, Job, GROUP_ID() GrpID, SUM(Sal)


FROM Emp
GROUP BY Deptno, ROLLUP(Deptno, Job)
HAVING GROUP_ID() = 0
/

DEPTNO
-----10
10
10
20
20
20
30
30
30
10
20

JOB
GRPID
SUM(SAL)
--------- ---------- ---------CLERK
0
1300
MANAGER
0
2450
PRESIDENT
0
5000
CLERK
0
1900
ANALYST
0
6000
MANAGER
0
2975
CLERK
0
950
MANAGER
0
2850
SALESMAN
0
5600
0
8750
0
10875

DEPTNO JOB
GRPID
SUM(SAL)
------ --------- ---------- ---------30
0
9400
12 rows selected.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=10 Card=14 Bytes=4
90)
1
2
3
4
5
6

0
1
2
2
4
5

TEMP TABLE TRANSFORMATION


MULTI-TABLE INSERT
DIRECT LOAD INTO OF 'SYS_TEMP_0FD9D660A_14E5DF5'
DIRECT LOAD INTO OF 'SYS_TEMP_0FD9D660B_14E5DF5'
SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=448)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=448)

7
8
9
10

1
7
8
9

VIEW (Cost=6 Card=3 Bytes=105)


VIEW (Cost=6 Card=3 Bytes=105)
UNION-ALL
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D660B_14E5DF5
' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

11

TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D660A_14E5DF5


' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

12
13

9
12

FILTER
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D660A_14E5D
F5' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Deptno, Job, GROUP_ID() GrpID, SUM(Sal)


FROM Emp
GROUP BY Deptno, ROLLUP(Deptno, Job)
HAVING GROUP_ID() = 1
/

DEPTNO JOB
GRPID
SUM(SAL)
------ --------- ---------- ---------10
1
8750
20
1
10875
30
1
9400

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=10 Card=14 Bytes=4
90)
1
2
3
4
5
6

0
1
2
2
4
5

TEMP TABLE TRANSFORMATION


MULTI-TABLE INSERT
DIRECT LOAD INTO OF 'SYS_TEMP_0FD9D660E_14E5DF5'
DIRECT LOAD INTO OF 'SYS_TEMP_0FD9D660F_14E5DF5'
SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=448)
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=448)

7
8
9
10
11

1
7
8
9
10

VIEW (Cost=6 Card=3 Bytes=105)


VIEW (Cost=6 Card=3 Bytes=105)
UNION-ALL
FILTER
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D660F_14E5D
F5' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

12
13

9
12

FILTER
TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D660E_14E5D
F5' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

14

TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D660E_14E5DF5

' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

SQL> SET AUTOTRACE OFF EXPLAIN


SQL> cl scr
SQL> SPOOL OFF
SQL> cl scr
SQL> SELECT Ename, Sal
2 FROM Emp
3 ORDER BY Sal DESC;
ENAME
SAL
---------- ---------KING
5000
FORD
3000
SCOTT
3000
JONES
2975
BLAKE
2850
CLARK
2450
ALLEN
1600
TURNER
1500
MILLER
1300
MARTIN
1250
WARD
1250
ENAME
SAL
---------- ---------ADAMS
1100
JAMES
950
SMITH
800
14 rows selected.
SQL>
2
3
4
5
6
7
SQL>
2

SELECT EName, Deptno, Sal,


RANK()
OVER(ORDER BY Sal) EmpRank
FROM Emp
GROUP BY Deptno, EName, Sal
ORDER BY Emprank
SELECT EName, Deptno,
FROM Emp;

Sal

ENAME
DEPTNO
SAL
---------- ---------- ---------KING
10
5000
BLAKE
30
2850
CLARK
10
2450
JONES
20
2975
MARTIN
30
1250
ALLEN
30
1600
TURNER
30
1500
JAMES
30
950

WARD
FORD
SMITH

30
20
20

1250
3000
800

ENAME
DEPTNO
SAL
---------- ---------- ---------SCOTT
20
3000
ADAMS
20
1100
MILLER
10
1300
14 rows selected.
SQL>
2
3
4
5

SELECT EName, Deptno, Sal,


RANK()
OVER(ORDER BY Sal) EmpRank
FROM Emp
/

ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------SMITH
20
800
1
JAMES
30
950
2
ADAMS
20
1100
3
MARTIN
30
1250
4
WARD
30
1250
4
MILLER
10
1300
6
TURNER
30
1500
7
ALLEN
30
1600
8
CLARK
10
2450
9
BLAKE
30
2850
10
JONES
20
2975
11
ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------FORD
20
3000
12
SCOTT
20
3000
12
KING
10
5000
14
14 rows selected.
SQL>
2
3
4
5
6

SELECT EName, Deptno, Sal,


RANK()
OVER(ORDER BY Sal) EmpRank
FROM Emp
GROUP BY Deptno, EName, Sal
ORDER BY Emprank;

ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------SMITH
20
800
1
JAMES
30
950
2
ADAMS
20
1100
3
MARTIN
30
1250
4
WARD
30
1250
4
MILLER
10
1300
6
TURNER
30
1500
7
ALLEN
30
1600
8

CLARK
BLAKE
JONES

10
30
20

2450
2850
2975

9
10
11

ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------FORD
20
3000
12
SCOTT
20
3000
12
KING
10
5000
14
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT EName, Deptno, Sal,


RANK()
OVER(ORDER BY Sal) EmpRank
FROM Emp
GROUP BY Deptno, EName, Sal
ORDER BY Emprank DESC
/

ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------KING
10
5000
14
FORD
20
3000
12
SCOTT
20
3000
12
JONES
20
2975
11
BLAKE
30
2850
10
CLARK
10
2450
9
ALLEN
30
1600
8
TURNER
30
1500
7
MILLER
10
1300
6
MARTIN
30
1250
4
WARD
30
1250
4
ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------ADAMS
20
1100
3
JAMES
30
950
2
SMITH
20
800
1
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>
ENAME

SELECT EName, Deptno, Sal,


RANK()
OVER(ORDER BY Sal DESC) EmpRank
FROM Emp
GROUP BY Deptno, EName, Sal
ORDER BY Emprank
/
DEPTNO

SAL

EMPRANK

---------- ---------- ---------- ---------KING


10
5000
1
FORD
20
3000
2
SCOTT
20
3000
2
JONES
20
2975
4
BLAKE
30
2850
5
CLARK
10
2450
6
ALLEN
30
1600
7
TURNER
30
1500
8
MILLER
10
1300
9
MARTIN
30
1250
10
WARD
30
1250
10
ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------ADAMS
20
1100
12
JAMES
30
950
13
SMITH
20
800
14
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT EName, Deptno, Sal,


RANK()
OVER(ORDER BY Sal DESC) EmpRank
FROM Emp
GROUP BY Deptno, EName, Sal
ORDER BY Emprank DESC
/

ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------SMITH
20
800
14
JAMES
30
950
13
ADAMS
20
1100
12
MARTIN
30
1250
10
WARD
30
1250
10
MILLER
10
1300
9
TURNER
30
1500
8
ALLEN
30
1600
7
CLARK
10
2450
6
BLAKE
30
2850
5
JONES
20
2975
4
ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------FORD
20
3000
2
SCOTT
20
3000
2
KING
10
5000
1
14 rows selected.
SQL> ED
Wrote file afiedt.buf

1
2
3
4
5
6*
SQL>

SELECT EName, Deptno,


RANK()
OVER(ORDER BY Sal DESC) EmpRank
FROM Emp
GROUP BY Deptno, EName, Sal
ORDER BY Emprank DESC
/

ENAME
DEPTNO
EMPRANK
---------- ---------- ---------SMITH
20
14
JAMES
30
13
ADAMS
20
12
MARTIN
30
10
WARD
30
10
MILLER
10
9
TURNER
30
8
ALLEN
30
7
CLARK
10
6
BLAKE
30
5
JONES
20
4
ENAME
DEPTNO
EMPRANK
---------- ---------- ---------FORD
20
2
SCOTT
20
2
KING
10
1
14 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6

SELECT
EName, Deptno, Sal,
DENSE_RANK()
OVER(ORDER BY Sal DESC) EmpRank
FROM Emp
GROUP BY Deptno, EName, Sal
ORDER BY EmpRank;

ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------KING
10
5000
1
FORD
20
3000
2
SCOTT
20
3000
2
JONES
20
2975
3
BLAKE
30
2850
4
CLARK
10
2450
5
ALLEN
30
1600
6
TURNER
30
1500
7
MILLER
10
1300
8
MARTIN
30
1250
9
WARD
30
1250
9
ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------ADAMS
20
1100
10
JAMES
30
950
11

SMITH

20

800

12

14 rows selected.
SQL> cl scr
SQL> SELECT ROWNUM, E1.*
2 FROM (SELECT
EName, Deptno, Sal,
3
DENSE_RANK()
4
OVER(ORDER BY Sal DESC) EmpRank
5
FROM Emp
6
GROUP BY Deptno, EName, Sal
7
ORDER BY EmpRank) E1
8 ORDER BY ROWNUM;
ROWNUM
---------1
2
3
4
5
6
7
8
9
10
11

ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------KING
10
5000
1
FORD
20
3000
2
SCOTT
20
3000
2
JONES
20
2975
3
BLAKE
30
2850
4
CLARK
10
2450
5
ALLEN
30
1600
6
TURNER
30
1500
7
MILLER
10
1300
8
MARTIN
30
1250
9
WARD
30
1250
9

ROWNUM
---------12
13
14

ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------ADAMS
20
1100
10
JAMES
30
950
11
SMITH
20
800
12

14 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7

SELECT
DENSE_RANK()
OVER(ORDER BY Ename) RollNo,
EName, Deptno, Sal
FROM Emp
GROUP BY Deptno, EName, Sal
ORDER BY RollNo;

ROLLNO
---------1
2
3
4
5
6
7
8

ENAME
DEPTNO
SAL
---------- ---------- ---------ADAMS
20
1100
ALLEN
30
1600
BLAKE
30
2850
CLARK
10
2450
FORD
20
3000
JAMES
30
950
JONES
20
2975
KING
10
5000

9 MARTIN
10 MILLER
11 SCOTT
ROLLNO
---------12
13
14

30
10
20

1250
1300
3000

ENAME
DEPTNO
SAL
---------- ---------- ---------SMITH
20
800
TURNER
30
1500
WARD
30
1250

14 rows selected.
SQL> INSERT INTO Emp(Empno, Ename, Deptno)
2 VALUES(1234, 'ALLEN', 30);
1 row created.
SQL> INSERT INTO Emp(Empno, Ename, Deptno)
2 VALUES(1235, 'ALLEN', 30);
1 row created.
SQL> INSERT INTO Emp(Empno, Ename, Deptno)
2 VALUES(1236, 'ALLEN', 30);
1 row created.
SQL>
2
3
4
5
6
7

SELECT
DENSE_RANK()
OVER(ORDER BY Ename) RollNo,
EName, Deptno, Sal
FROM Emp
GROUP BY Deptno, EName, Sal
ORDER BY RollNo;

ROLLNO
---------1
2
2
3
4
5
6
7
8
9
10

ENAME
DEPTNO
SAL
---------- ---------- ---------ADAMS
20
1100
ALLEN
30
1600
ALLEN
30
BLAKE
30
2850
CLARK
10
2450
FORD
20
3000
JAMES
30
950
JONES
20
2975
KING
10
5000
MARTIN
30
1250
MILLER
10
1300

ROLLNO
---------11
12
13
14

ENAME
DEPTNO
SAL
---------- ---------- ---------SCOTT
20
3000
SMITH
20
800
TURNER
30
1500
WARD
30
1250

15 rows selected.

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT
DENSE_RANK()
OVER(ORDER BY Ename) RollNo,
EName, Deptno, Sal
FROM Emp
ORDER BY RollNo
/

ROLLNO
---------1
2
2
2
2
3
4
5
6
7
8

ENAME
DEPTNO
SAL
---------- ---------- ---------ADAMS
20
1100
ALLEN
30
1600
ALLEN
30
ALLEN
30
ALLEN
30
BLAKE
30
2850
CLARK
10
2450
FORD
20
3000
JAMES
30
950
JONES
20
2975
KING
10
5000

ROLLNO
---------9
10
11
12
13
14

ENAME
DEPTNO
SAL
---------- ---------- ---------MARTIN
30
1250
MILLER
10
1300
SCOTT
20
3000
SMITH
20
800
TURNER
30
1500
WARD
30
1250

17 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT
DENSE_RANK()
OVER(ORDER BY Ename, Empno) RollNo,
EName, Deptno, Sal
FROM Emp
ORDER BY RollNo
/

ROLLNO
---------1
2
3
4
5
6
7

ENAME
DEPTNO
SAL
---------- ---------- ---------ADAMS
20
1100
ALLEN
30
ALLEN
30
ALLEN
30
ALLEN
30
1600
BLAKE
30
2850
CLARK
10
2450

8
9
10
11
ROLLNO
---------12
13
14
15
16
17

FORD
JAMES
JONES
KING

20
30
20
10

3000
950
2975
5000

ENAME
DEPTNO
SAL
---------- ---------- ---------MARTIN
30
1250
MILLER
10
1300
SCOTT
20
3000
SMITH
20
800
TURNER
30
1500
WARD
30
1250

17 rows selected.
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13

SELECT
DENSE_RANK()
OVER(ORDER BY Ename) RollNo,
EName, Sal,
DENSE_RANK()
OVER(ORDER BY Sal DESC) RankSal,
HireDate,
DENSE_RANK()
OVER(ORDER BY HireDate) SeniorRank,
DENSE_RANK()
OVER(ORDER BY HireDate DESC) JuniorRank
FROM Emp
ORDER BY RollNo;

ROLLNO
---------1
2
3
4
5
6
7
8
9
10
11

ENAME
SAL
RANKSAL HIREDATE SENIORRANK JUNIORRANK
---------- ---------- ---------- --------- ---------- ---------ADAMS
1100
10 12-JAN-83
13
1
ALLEN
1600
6 20-FEB-81
2
12
BLAKE
2850
4 01-MAY-81
5
9
CLARK
2450
5 09-JUN-81
6
8
FORD
3000
2 03-DEC-81
10
4
JAMES
950
11 03-DEC-81
10
4
JONES
2975
3 02-APR-81
4
10
KING
5000
1 17-NOV-81
9
5
MARTIN
1250
9 28-SEP-81
8
6
MILLER
1300
8 23-JAN-82
11
3
SCOTT
3000
2 09-DEC-82
12
2

ROLLNO
---------12
13
14

ENAME
SAL
RANKSAL HIREDATE SENIORRANK JUNIORRANK
---------- ---------- ---------- --------- ---------- ---------SMITH
800
12 17-DEC-80
1
13
TURNER
1500
7 08-SEP-81
7
7
WARD
1250
9 22-FEB-81
3
11

14 rows selected.

SQL> SELECT * FROm Emp;cl scr


2
SQL>
SQL> cl scr
SQL>
2
3
4
5
6

SELECT EName, Deptno, Sal,


RANK()
OVER(PARTITION BY DeptNo
ORDER BY Sal DESC)
"TOP Sal"
FROM
Emp
ORDER BY Deptno, Sal DESC;

ENAME
DEPTNO
SAL
TOP Sal
---------- ---------- ---------- ---------KING
10
5000
1
CLARK
10
2450
2
MILLER
10
1300
3
FORD
20
3000
1
SCOTT
20
3000
1
JONES
20
2975
3
ADAMS
20
1100
4
SMITH
20
800
5
BLAKE
30
2850
1
ALLEN
30
1600
2
TURNER
30
1500
3
ENAME
DEPTNO
SAL
TOP Sal
---------- ---------- ---------- ---------MARTIN
30
1250
4
WARD
30
1250
4
JAMES
30
950
6
14 rows selected.
SQL> cl scr
SQL> SELECT
EName, Deptno, Sal,
2
DENSE_RANK()
3
OVER(ORDER BY Sal DESC) EmpRank
4
FROM Emp
5
GROUP BY Deptno, EName, Sal
6
ORDER BY EmpRank;
ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------KING
10
5000
1
FORD
20
3000
2
SCOTT
20
3000
2
JONES
20
2975
3
BLAKE
30
2850
4
CLARK
10
2450
5
ALLEN
30
1600
6
TURNER
30
1500
7
MILLER
10
1300
8
MARTIN
30
1250
9
WARD
30
1250
9

ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------ADAMS
20
1100
10
JAMES
30
950
11
SMITH
20
800
12
14 rows selected.
SQL>
2
3
4
5
6
7
8
9

SELECT ROWNUM, E1.*


FROM (SELECT
EName, Deptno, Sal,
DENSE_RANK()
OVER(ORDER BY Sal DESC) EmpRank
FROM Emp
GROUP BY Deptno, EName, Sal
ORDER BY EmpRank) E1
WHERE E1.EmpRank <= 5
ORDER BY ROWNUM;

ROWNUM
---------1
2
3
4
5
6

ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------KING
10
5000
1
FORD
20
3000
2
SCOTT
20
3000
2
JONES
20
2975
3
BLAKE
30
2850
4
CLARK
10
2450
5

6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM, E1.*
2 FROM (SELECT
EName, Deptno, Sal,
3
DENSE_RANK()
4
OVER(ORDER BY Sal DESC) EmpRank
5
FROM Emp
6
GROUP BY Deptno, EName, Sal
7
ORDER BY EmpRank) E1
8 WHERE E1.EmpRank &GOperator &GValue
9* ORDER BY ROWNUM
SQL> /
Enter value for goperator: =
Enter value for gvalue: 1
ROWNUM ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------- ---------1 KING
10
5000
1
SQL> /
Enter value for goperator: 1
Enter value for gvalue:
WHERE E1.EmpRank 1
*
ERROR at line 8:
ORA-00920: invalid relational operator

SQL> /
Enter value for goperator: =
Enter value for gvalue: 6
ROWNUM ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------- ---------1 ALLEN
30
1600
6
SQL> /
Enter value for goperator: =
Enter value for gvalue: 2
ROWNUM
---------1
2

ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------FORD
20
3000
2
SCOTT
20
3000
2

SQL> /
Enter value for goperator: <
Enter value for gvalue: 5
ROWNUM
---------1
2
3
4
5

ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------KING
10
5000
1
FORD
20
3000
2
SCOTT
20
3000
2
JONES
20
2975
3
BLAKE
30
2850
4

SQL> /
Enter value for goperator: >
Enter value for gvalue: 5
ROWNUM
---------1
2
3
4
5
6
7
8

ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------ALLEN
30
1600
6
TURNER
30
1500
7
MILLER
10
1300
8
MARTIN
30
1250
9
WARD
30
1250
9
ADAMS
20
1100
10
JAMES
30
950
11
SMITH
20
800
12

8 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6

SELECT ROWNUM, E1.*


FROM (SELECT
EName, Deptno, Sal,
DENSE_RANK()
OVER(ORDER BY Sal DESC) EmpRank
FROM Emp
GROUP BY Deptno, EName, Sal

7
ORDER BY EmpRank) E1
8 WHERE E1.EmpRank BETWEEN &GVal1 AND &GVal2
9* ORDER BY ROWNUM
SQL> /
Enter value for gval1: 1
Enter value for gval2: 4
ROWNUM
---------1
2
3
4
5

ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------KING
10
5000
1
FORD
20
3000
2
SCOTT
20
3000
2
JONES
20
2975
3
BLAKE
30
2850
4

SQL> /
Enter value for gval1: 5
Enter value for gval2: 9
ROWNUM
---------1
2
3
4
5
6

ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------CLARK
10
2450
5
ALLEN
30
1600
6
TURNER
30
1500
7
MILLER
10
1300
8
MARTIN
30
1250
9
WARD
30
1250
9

6 rows selected.
SQL> /
Enter value for gval1: 10
Enter value for gval2: 14
ROWNUM
---------1
2
3

ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------ADAMS
20
1100
10
JAMES
30
950
11
SMITH
20
800
12

SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM, E1.*
2 FROM (SELECT
EName, Deptno, Sal,
3
DENSE_RANK()
4
OVER(ORDER BY Sal DESC) EmpRank
5
FROM Emp
6
GROUP BY Deptno, EName, Sal
7
ORDER BY EmpRank) E1
8 WHERE E1.EmpRank IN(&GVal1, &GVal2, &GVal3)
9* ORDER BY ROWNUM
SQL> /
Enter value for gval1: 1
Enter value for gval2: 5
Enter value for gval3: 8

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

ENAME
DEPTNO
SAL
EMPRANK
---------- ---------- ---------- ---------KING
10
5000
1
CLARK
10
2450
5
MILLER
10
1300
8

SQL> cl scr
SQL>
2
3
4
5
6
7
8

SELECT
TO_CHAR(HireDate, 'YYYY') "Year",
SUM(Sal),
DENSE_RANK()
OVER(ORDER BY SUM(Sal) DESC) YearRank
FROM Emp
GROUP BY TO_CHAR(HireDate, 'YYYY')
ORDER BY YearRank;

Year
SUM(SAL)
YEARRANK
---- ---------- ---------1981
22825
1
1982
4300
2
1983
1100
3
1980
800
4
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 TO_CHAR(HireDate, 'YYYY') "Year",
3 SUM(Sal),
4 DENSE_RANK()
5 OVER(ORDER BY SUM(Sal) DESC) YearRank
6 FROM Emp
7 --GROUP BY TO_CHAR(HireDate, 'YYYY')
8* ORDER BY YearRank
SQL> /
TO_CHAR(HireDate, 'YYYY') "Year",
*
ERROR at line 2:
ORA-00937: not a single-group group function

SQL> cl scr
SQL>
2
3
4
5
6

SELECT
Deptno, TO_CHAR(HireDate, 'YYYY') "Year", SUM(Sal),
DENSE_RANK()
OVER(ORDER BY SUM(Sal) DESC) YearRank
FROM Emp
GROUP BY Deptno, TO_CHAR(HireDate, 'YYYY')
ORDER BY YearRank;

DEPTNO
---------30
10
20
20

Year
SUM(SAL)
YEARRANK
---- ---------- ---------1981
9400
1
1981
7450
2
1981
5975
3
1982
3000
4

10 1982
20 1983
20 1980

1300
1100
800

5
6
7

7 rows selected.
SQL> cl scr
SQL>
2
3
4

SELECT Ename, Deptno, Sal,


SUM(Sal)
OVER(ORDER BY Sal DESC) "Run Sum"
FROM Emp;

ENAME
DEPTNO
SAL
Run Sum
---------- ---------- ---------- ---------KING
10
5000
5000
FORD
20
3000
11000
SCOTT
20
3000
11000
JONES
20
2975
13975
BLAKE
30
2850
16825
CLARK
10
2450
19275
ALLEN
30
1600
20875
TURNER
30
1500
22375
MILLER
10
1300
23675
MARTIN
30
1250
26175
WARD
30
1250
26175
ENAME
DEPTNO
SAL
Run Sum
---------- ---------- ---------- ---------ADAMS
20
1100
27275
JAMES
30
950
28225
SMITH
20
800
29025
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Deptno, Sal,


SUM(Sal)
OVER(ORDER BY Sal DESC, Ename) "Run Sum"
FROM Emp
/

ENAME
DEPTNO
SAL
Run Sum
---------- ---------- ---------- ---------KING
10
5000
5000
FORD
20
3000
8000
SCOTT
20
3000
11000
JONES
20
2975
13975
BLAKE
30
2850
16825
CLARK
10
2450
19275
ALLEN
30
1600
20875
TURNER
30
1500
22375
MILLER
10
1300
23675
MARTIN
30
1250
24925
WARD
30
1250
26175

ENAME
DEPTNO
SAL
Run Sum
---------- ---------- ---------- ---------ADAMS
20
1100
27275
JAMES
30
950
28225
SMITH
20
800
29025
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Deptno, Sal,


AVG(Sal)
OVER(ORDER BY Sal DESC, Ename) "Mov Avg"
FROM Emp
/

ENAME
DEPTNO
SAL
Mov Avg
---------- ---------- ---------- ---------KING
10
5000
5000
FORD
20
3000
4000
SCOTT
20
3000 3666.66667
JONES
20
2975
3493.75
BLAKE
30
2850
3365
CLARK
10
2450
3212.5
ALLEN
30
1600 2982.14286
TURNER
30
1500
2796.875
MILLER
10
1300 2630.55556
MARTIN
30
1250
2492.5
WARD
30
1250 2379.54545
ENAME
DEPTNO
SAL
Mov Avg
---------- ---------- ---------- ---------ADAMS
20
1100 2272.91667
JAMES
30
950 2171.15385
SMITH
20
800 2073.21429
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT Ename, Deptno,


TO_CHAR(Sal, '9G999D99') Sal,
TO_CHAR(SUM(Sal)
OVER(ORDER BY Sal DESC, Ename), '99G999D99') "Run Sum",
TO_CHAR(AVG(Sal)
OVER(ORDER BY Sal DESC, Ename), '99G999D99') "Mov Avg"
FROM Emp
/

ENAME
DEPTNO SAL
Run Sum
Mov Avg
---------- ---------- --------- ---------- ---------KING
10 5,000.00
5,000.00
5,000.00
FORD
20 3,000.00
8,000.00
4,000.00
SCOTT
20 3,000.00 11,000.00
3,666.67

JONES
BLAKE
CLARK
ALLEN
TURNER
MILLER
MARTIN
WARD

20
30
10
30
30
10
30
30

2,975.00
2,850.00
2,450.00
1,600.00
1,500.00
1,300.00
1,250.00
1,250.00

13,975.00
16,825.00
19,275.00
20,875.00
22,375.00
23,675.00
24,925.00
26,175.00

3,493.75
3,365.00
3,212.50
2,982.14
2,796.88
2,630.56
2,492.50
2,379.55

ENAME
DEPTNO SAL
Run Sum
Mov Avg
---------- ---------- --------- ---------- ---------ADAMS
20 1,100.00 27,275.00
2,272.92
JAMES
30
950.00 28,225.00
2,171.15
SMITH
20
800.00 29,025.00
2,073.21
14 rows selected.
SQL> SPOOL OFF
SQL> cl scr
SQL> SET VERIFY OFF
SQL> cl scr
SQL>
2
3
4

SELECT Ename, Deptno, Job, Sal,


RANK()
OVER(ORDER BY Sal DESC) Rank
FROM Emp;

ENAME
DEPTNO JOB
SAL
RANK
---------- ---------- --------- ---------- ---------KING
10 PRESIDENT
5000
1
FORD
20 ANALYST
3000
2
SCOTT
20 ANALYST
3000
2
JONES
20 MANAGER
2975
4
BLAKE
30 MANAGER
2850
5
CLARK
10 MANAGER
2450
6
ALLEN
30 SALESMAN
1600
7
TURNER
30 SALESMAN
1500
8
MILLER
10 CLERK
1300
9
MARTIN
30 SALESMAN
1250
10
WARD
30 SALESMAN
1250
10
ENAME
DEPTNO JOB
SAL
RANK
---------- ---------- --------- ---------- ---------ADAMS
20 CLERK
1100
12
JAMES
30 CLERK
950
13
SMITH
20 CLERK
800
14
14 rows selected.
SQL> COLUMN Deptno FORMAT 99
SQL> COLUMN Sal FORMAT 99999
SQL> /
ENAME
DEPTNO JOB
SAL
RANK
---------- ------ --------- ------ ---------KING
10 PRESIDENT
5000
1

FORD
SCOTT
JONES
BLAKE
CLARK
ALLEN
TURNER
MILLER
MARTIN
WARD

20
20
20
30
10
30
30
10
30
30

ANALYST
ANALYST
MANAGER
MANAGER
MANAGER
SALESMAN
SALESMAN
CLERK
SALESMAN
SALESMAN

3000
3000
2975
2850
2450
1600
1500
1300
1250
1250

2
2
4
5
6
7
8
9
10
10

ENAME
DEPTNO JOB
SAL
RANK
---------- ------ --------- ------ ---------ADAMS
20 CLERK
1100
12
JAMES
30 CLERK
950
13
SMITH
20 CLERK
800
14
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename, Deptno, Job, Sal,


RANK()
OVER(
PARTITION BY Deptno
ORDER BY Sal DESC) Rank
FROM Emp
/

ENAME
DEPTNO JOB
SAL
RANK
---------- ------ --------- ------ ---------KING
10 PRESIDENT
5000
1
CLARK
10 MANAGER
2450
2
MILLER
10 CLERK
1300
3
FORD
20 ANALYST
3000
1
SCOTT
20 ANALYST
3000
1
JONES
20 MANAGER
2975
3
ADAMS
20 CLERK
1100
4
SMITH
20 CLERK
800
5
BLAKE
30 MANAGER
2850
1
ALLEN
30 SALESMAN
1600
2
TURNER
30 SALESMAN
1500
3
ENAME
DEPTNO JOB
SAL
RANK
---------- ------ --------- ------ ---------MARTIN
30 SALESMAN
1250
4
WARD
30 SALESMAN
1250
4
JAMES
30 CLERK
950
6
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2

SELECT Ename, Deptno, Job, Sal,


SUM(Sal)

3 OVER(
4
ORDER BY Sal DESC, Ename) "Run Sal"
5* FROM Emp
SQL> /
ENAME
DEPTNO JOB
SAL
Run Sal
---------- ------ --------- ------ ---------KING
10 PRESIDENT
5000
5000
FORD
20 ANALYST
3000
8000
SCOTT
20 ANALYST
3000
11000
JONES
20 MANAGER
2975
13975
BLAKE
30 MANAGER
2850
16825
CLARK
10 MANAGER
2450
19275
ALLEN
30 SALESMAN
1600
20875
TURNER
30 SALESMAN
1500
22375
MILLER
10 CLERK
1300
23675
MARTIN
30 SALESMAN
1250
24925
WARD
30 SALESMAN
1250
26175
ENAME
DEPTNO JOB
SAL
Run Sal
---------- ------ --------- ------ ---------ADAMS
20 CLERK
1100
27275
JAMES
30 CLERK
950
28225
SMITH
20 CLERK
800
29025
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename, Deptno, Job, Sal,


SUM(Sal)
OVER(
PARTITION BY Deptno
ORDER BY Sal DESC, Ename) "Run Sal"
FROM Emp
/

ENAME
DEPTNO JOB
SAL
Run Sal
---------- ------ --------- ------ ---------KING
10 PRESIDENT
5000
5000
CLARK
10 MANAGER
2450
7450
MILLER
10 CLERK
1300
8750
FORD
20 ANALYST
3000
3000
SCOTT
20 ANALYST
3000
6000
JONES
20 MANAGER
2975
8975
ADAMS
20 CLERK
1100
10075
SMITH
20 CLERK
800
10875
BLAKE
30 MANAGER
2850
2850
ALLEN
30 SALESMAN
1600
4450
TURNER
30 SALESMAN
1500
5950
ENAME
DEPTNO JOB
SAL
Run Sal
---------- ------ --------- ------ ---------MARTIN
30 SALESMAN
1250
7200
WARD
30 SALESMAN
1250
8450
JAMES
30 CLERK
950
9400

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename, Deptno, Job, Sal,


SUM(Sal)
OVER(
PARTITION BY Job
ORDER BY Sal DESC, Ename) "Run Sal"
FROM Emp
/

ENAME
DEPTNO JOB
SAL
Run Sal
---------- ------ --------- ------ ---------FORD
20 ANALYST
3000
3000
SCOTT
20 ANALYST
3000
6000
MILLER
10 CLERK
1300
1300
ADAMS
20 CLERK
1100
2400
JAMES
30 CLERK
950
3350
SMITH
20 CLERK
800
4150
JONES
20 MANAGER
2975
2975
BLAKE
30 MANAGER
2850
5825
CLARK
10 MANAGER
2450
8275
KING
10 PRESIDENT
5000
5000
ALLEN
30 SALESMAN
1600
1600
ENAME
DEPTNO JOB
SAL
Run Sal
---------- ------ --------- ------ ---------TURNER
30 SALESMAN
1500
3100
MARTIN
30 SALESMAN
1250
4350
WARD
30 SALESMAN
1250
5600
14 rows selected.
SQL> SELECT Deptno, SUM(Sal) SalSum
2 FROM Emp
3 GROUP BY ROLLUP(Deptno);
DEPTNO
SALSUM
------ ---------10
8750
20
10875
30
9400
29025
SQL> ED
Wrote file afiedt.buf
1 SELECT Deptno, SUM(Sal) SalSum
2 FROM Emp
3 WHERE Deptno = &GDeptno
4* GROUP BY ROLLUP(Deptno)
SQL> /
Enter value for gdeptno: 10

DEPTNO
SALSUM
------ ---------10
8750
8750
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10*
SQL>

SELECT Ename, Deptno, Job, Sal,


SUM(Sal)
OVER(
PARTITION BY Job
ORDER BY Sal DESC, Ename) "Run Sal",
AVG(Sal)
OVER(
PARTITION BY Job
ORDER BY Sal DESC, Ename) "Mov Avg Sal"
FROM Emp
/

ENAME
DEPTNO JOB
SAL
Run Sal Mov Avg Sal
---------- ------ --------- ------ ---------- ----------FORD
20 ANALYST
3000
3000
3000
SCOTT
20 ANALYST
3000
6000
3000
MILLER
10 CLERK
1300
1300
1300
ADAMS
20 CLERK
1100
2400
1200
JAMES
30 CLERK
950
3350 1116.66667
SMITH
20 CLERK
800
4150
1037.5
JONES
20 MANAGER
2975
2975
2975
BLAKE
30 MANAGER
2850
5825
2912.5
CLARK
10 MANAGER
2450
8275 2758.33333
KING
10 PRESIDENT
5000
5000
5000
ALLEN
30 SALESMAN
1600
1600
1600
ENAME
DEPTNO JOB
SAL
Run Sal Mov Avg Sal
---------- ------ --------- ------ ---------- ----------TURNER
30 SALESMAN
1500
3100
1550
MARTIN
30 SALESMAN
1250
4350
1450
WARD
30 SALESMAN
1250
5600
1400
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10*
SQL>

SELECT Ename, Deptno, Job, Sal,


SUM(Sal)
OVER(
PARTITION BY Deptno
ORDER BY Sal DESC, Ename) "Run Sal",
AVG(Sal)
OVER(
PARTITION BY Deptno
ORDER BY Sal DESC, Ename) "Mov Avg Sal"
FROM Emp
/

ENAME
DEPTNO JOB
SAL
Run Sal Mov Avg Sal
---------- ------ --------- ------ ---------- ----------KING
10 PRESIDENT
5000
5000
5000
CLARK
10 MANAGER
2450
7450
3725
MILLER
10 CLERK
1300
8750 2916.66667
FORD
20 ANALYST
3000
3000
3000
SCOTT
20 ANALYST
3000
6000
3000
JONES
20 MANAGER
2975
8975 2991.66667
ADAMS
20 CLERK
1100
10075
2518.75
SMITH
20 CLERK
800
10875
2175
BLAKE
30 MANAGER
2850
2850
2850
ALLEN
30 SALESMAN
1600
4450
2225
TURNER
30 SALESMAN
1500
5950 1983.33333
ENAME
DEPTNO JOB
SAL
Run Sal Mov Avg Sal
---------- ------ --------- ------ ---------- ----------MARTIN
30 SALESMAN
1250
7200
1800
WARD
30 SALESMAN
1250
8450
1690
JAMES
30 CLERK
950
9400 1566.66667
14 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7
8

SELECT *
FROM(SELECT Ename, Deptno, Sal,
DENSE_RANK()
OVER(PARTITION BY DeptNo
ORDER BY Sal DESC) "TOP Sal"
FROM Emp)
WHERE "TOP Sal" <=3
ORDER BY DeptNo, Sal DESC;

ENAME
DEPTNO
SAL
TOP Sal
---------- ------ ------ ---------KING
10
5000
1
CLARK
10
2450
2
MILLER
10
1300
3
FORD
20
3000
1
SCOTT
20
3000
1
JONES
20
2975
2
ADAMS
20
1100
3
BLAKE
30
2850
1
ALLEN
30
1600
2
TURNER
30
1500
3
10 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6

SELECT *
FROM(SELECT Ename, Deptno, Sal,
DENSE_RANK()
OVER(PARTITION BY DeptNo
ORDER BY Sal DESC) "TOP Sal"
FROM Emp)

7 WHERE "TOP Sal" = 3


8* ORDER BY DeptNo, Sal DESC
SQL> /
ENAME
DEPTNO
SAL
TOP Sal
---------- ------ ------ ---------MILLER
10
1300
3
ADAMS
20
1100
3
TURNER
30
1500
3
SQL> cl scr
SQL>
2
3
4

SELECT Ename, Deptno, Sal,


SUM(Sal)
OVER(ORDER BY Sal DESC) "Run Sal"
FROM Emp;

ENAME
DEPTNO
SAL
Run Sal
---------- ------ ------ ---------KING
10
5000
5000
FORD
20
3000
11000
SCOTT
20
3000
11000
JONES
20
2975
13975
BLAKE
30
2850
16825
CLARK
10
2450
19275
ALLEN
30
1600
20875
TURNER
30
1500
22375
MILLER
10
1300
23675
MARTIN
30
1250
26175
WARD
30
1250
26175
ENAME
DEPTNO
SAL
Run Sal
---------- ------ ------ ---------ADAMS
20
1100
27275
JAMES
30
950
28225
SMITH
20
800
29025
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, Deptno, Sal,


SUM(Sal)
OVER(ORDER BY Sal DESC, Ename) "Run Sal"
FROM Emp
/

ENAME
DEPTNO
SAL
Run Sal
---------- ------ ------ ---------KING
10
5000
5000
FORD
20
3000
8000
SCOTT
20
3000
11000
JONES
20
2975
13975
BLAKE
30
2850
16825
CLARK
10
2450
19275
ALLEN
30
1600
20875

TURNER
MILLER
MARTIN
WARD

30
10
30
30

1500
1300
1250
1250

22375
23675
24925
26175

ENAME
DEPTNO
SAL
Run Sal
---------- ------ ------ ---------ADAMS
20
1100
27275
JAMES
30
950
28225
SMITH
20
800
29025
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename, Deptno, Sal,


SUM(Sal)
OVER(
PARTITION BY Deptno
ORDER BY Sal DESC, Ename) "Run Sal"
FROM Emp
/

ENAME
DEPTNO
SAL
Run Sal
---------- ------ ------ ---------KING
10
5000
5000
CLARK
10
2450
7450
MILLER
10
1300
8750
FORD
20
3000
3000
SCOTT
20
3000
6000
JONES
20
2975
8975
ADAMS
20
1100
10075
SMITH
20
800
10875
BLAKE
30
2850
2850
ALLEN
30
1600
4450
TURNER
30
1500
5950
ENAME
DEPTNO
SAL
Run Sal
---------- ------ ------ ---------MARTIN
30
1250
7200
WARD
30
1250
8450
JAMES
30
950
9400
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename, Deptno, Sal,


SUM(Sal)
OVER(
PARTITION BY Deptno
ORDER BY Sal DESC, Ename) "Run Sal"
FROM Emp
/

ENAME
DEPTNO
SAL
Run Sal
---------- ------ ------ ---------KING
10
5000
5000
CLARK
10
2450
7450
MILLER
10
1300
8750
FORD
20
3000
3000
SCOTT
20
3000
6000
JONES
20
2975
8975
ADAMS
20
1100
10075
SMITH
20
800
10875
BLAKE
30
2850
2850
ALLEN
30
1600
4450
TURNER
30
1500
5950
ENAME
DEPTNO
SAL
Run Sal
---------- ------ ------ ---------MARTIN
30
1250
7200
WARD
30
1250
8450
JAMES
30
950
9400
14 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9

SELECT DeptNo, Ename, Sal,


SUM(SAL)
OVER(
PARTITION BY DeptNo
ORDER BY EName
ROWS 2 PRECEDING
) "Sliding Total"
FROM Emp
ORDER BY DeptNo, EName;

DEPTNO
-----10
10
10
20
20
20
20
20
30
30
30

ENAME
SAL Sliding Total
---------- ------ ------------CLARK
2450
2450
KING
5000
7450
MILLER
1300
8750
ADAMS
1100
1100
FORD
3000
4100
JONES
2975
7075
SCOTT
3000
8975
SMITH
800
6775
ALLEN
1600
1600
BLAKE
2850
4450
JAMES
950
5400

DEPTNO
-----30
30
30

ENAME
SAL Sliding Total
---------- ------ ------------MARTIN
1250
5050
TURNER
1500
3700
WARD
1250
4000

14 rows selected.
SQL> cl scr

SQL>
2
3
4
5
6
7

SELECT Ename,
HireDate,
COUNT(*)
OVER(ORDER BY HireDate ASC
RANGE 100 PRECEDING) HireCnt
FROM Emp
ORDER BY HireDate ASC;

ENAME
---------SMITH
ALLEN
WARD
JONES
BLAKE
CLARK
TURNER
MARTIN
KING
JAMES
FORD

HIREDATE
HIRECNT
--------- ---------17-DEC-80
1
20-FEB-81
2
22-FEB-81
3
02-APR-81
3
01-MAY-81
4
09-JUN-81
3
08-SEP-81
2
28-SEP-81
2
17-NOV-81
3
03-DEC-81
5
03-DEC-81
5

ENAME
---------MILLER
SCOTT
ADAMS

HIREDATE
HIRECNT
--------- ---------23-JAN-82
4
09-DEC-82
1
12-JAN-83
2

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT Ename,
HireDate, HireDate - 100 "100Days",
COUNT(*)
OVER(ORDER BY HireDate ASC
RANGE 100 PRECEDING) HireCnt
FROM Emp
ORDER BY HireDate ASC
/

ENAME
---------SMITH
ALLEN
WARD
JONES
BLAKE
CLARK
TURNER
MARTIN
KING
JAMES
FORD

HIREDATE
--------17-DEC-80
20-FEB-81
22-FEB-81
02-APR-81
01-MAY-81
09-JUN-81
08-SEP-81
28-SEP-81
17-NOV-81
03-DEC-81
03-DEC-81

100Days
HIRECNT
--------- ---------08-SEP-80
1
12-NOV-80
2
14-NOV-80
3
23-DEC-80
3
21-JAN-81
4
01-MAR-81
3
31-MAY-81
2
20-JUN-81
2
09-AUG-81
3
25-AUG-81
5
25-AUG-81
5

ENAME
---------MILLER
SCOTT
ADAMS

HIREDATE
--------23-JAN-82
09-DEC-82
12-JAN-83

100Days
HIRECNT
--------- ---------15-OCT-81
4
31-AUG-82
1
04-OCT-82
2

14 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6

SELECT Ename, HireDate, Sal,


TO_CHAR(ROUND(AVG(Sal)
OVER(ORDER BY HireDate ASC
RANGE 100 PRECEDING) , 2), '99G999D99') AvgSal
FROM Emp
ORDER BY HireDate ASC;

ENAME
---------SMITH
ALLEN
WARD
JONES
BLAKE
CLARK
TURNER
MARTIN
KING
JAMES
FORD

HIREDATE
SAL AVGSAL
--------- ------ ---------17-DEC-80
800
800.00
20-FEB-81
1600
1,200.00
22-FEB-81
1250
1,216.67
02-APR-81
2975
1,941.67
01-MAY-81
2850
2,168.75
09-JUN-81
2450
2,758.33
08-SEP-81
1500
1,975.00
28-SEP-81
1250
1,375.00
17-NOV-81
5000
2,583.33
03-DEC-81
950
2,340.00
03-DEC-81
3000
2,340.00

ENAME
---------MILLER
SCOTT
ADAMS

HIREDATE
SAL AVGSAL
--------- ------ ---------23-JAN-82
1300
2,562.50
09-DEC-82
3000
3,000.00
12-JAN-83
1100
2,050.00

14 rows selected.
SQL> SPOOL OFF
SQL> cl scr
SQL>
2
3
4

SELECT Ename, HireDate, Sal,


LAG(Sal, 1, 0)
OVER(ORDER BY HireDate) PreSal
FROM Emp;

ENAME
---------SMITH
ALLEN
WARD
JONES
BLAKE
CLARK
TURNER
MARTIN

HIREDATE
SAL
PRESAL
--------- ---------- ---------17-DEC-80
800
0
20-FEB-81
1600
800
22-FEB-81
1250
1600
02-APR-81
2975
1250
01-MAY-81
2850
2975
09-JUN-81
2450
2850
08-SEP-81
1500
2450
28-SEP-81
1250
1500

KING
JAMES
FORD

17-NOV-81
03-DEC-81
03-DEC-81

5000
950
3000

1250
5000
950

ENAME
---------MILLER
SCOTT
ADAMS

HIREDATE
SAL
PRESAL
--------- ---------- ---------23-JAN-82
1300
3000
09-DEC-82
3000
1300
12-JAN-83
1100
3000

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT Ename, HireDate, Sal,


LAG(Sal, 1)
OVER(ORDER BY HireDate) PreSal
FROM Emp
/

ENAME
---------SMITH
ALLEN
WARD
JONES
BLAKE
CLARK
TURNER
MARTIN
KING
JAMES
FORD

HIREDATE
SAL
PRESAL
--------- ---------- ---------17-DEC-80
800
20-FEB-81
1600
800
22-FEB-81
1250
1600
02-APR-81
2975
1250
01-MAY-81
2850
2975
09-JUN-81
2450
2850
08-SEP-81
1500
2450
28-SEP-81
1250
1500
17-NOV-81
5000
1250
03-DEC-81
950
5000
03-DEC-81
3000
950

ENAME
---------MILLER
SCOTT
ADAMS

HIREDATE
SAL
PRESAL
--------- ---------- ---------23-JAN-82
1300
3000
09-DEC-82
3000
1300
12-JAN-83
1100
3000

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11

SELECT Ename, HireDate, Sal,


LAG(Sal, 1)
OVER(ORDER BY HireDate) PreSal1,
LAG(Sal, 2)
OVER(ORDER BY HireDate) PreSal2,
LAG(Sal, 3)
OVER(ORDER BY HireDate) PreSal3,
LAG(Sal, 4)
OVER(ORDER BY HireDate) PreSal4,
LAG(Sal, 5)
OVER(ORDER BY HireDate) PreSal5

12* FROM
SQL> /

Emp

ENAME
HIREDATE
SAL
PRESAL1
PRESAL2
PRESAL3
PRESAL4
---------- --------- ---------- ---------- ---------- ---------- ---------PRESAL5
---------SMITH
17-DEC-80
800

ALLEN

20-FEB-81

1600

800

WARD

22-FEB-81

1250

1600

800

ENAME
HIREDATE
SAL
PRESAL1
PRESAL2
PRESAL3
PRESAL4
---------- --------- ---------- ---------- ---------- ---------- ---------PRESAL5
---------JONES
02-APR-81
2975
1250
1600
800

BLAKE

CLARK

01-MAY-81

2850

2975

1250

1600

800

09-JUN-81

2450

2850

2975

1250

1600

800

ENAME
HIREDATE
SAL
PRESAL1
PRESAL2
PRESAL3
PRESAL4
---------- --------- ---------- ---------- ---------- ---------- ---------PRESAL5
---------TURNER
08-SEP-81
1500
2450
2850
2975
1250
1600
MARTIN

28-SEP-81

1250

1500

2450

2850

2975

17-NOV-81

5000

1250

1500

2450

2850

1250
KING
2975

ENAME
HIREDATE
SAL
PRESAL1
PRESAL2
PRESAL3
PRESAL4
---------- --------- ---------- ---------- ---------- ---------- ---------PRESAL5
---------JAMES
03-DEC-81
950
5000
1250
1500
2450
2850
FORD

03-DEC-81

3000

950

5000

1250

1500

23-JAN-82

1300

3000

950

5000

1250

2450
MILLER
1500

ENAME
HIREDATE
SAL
PRESAL1
PRESAL2
PRESAL3
PRESAL4
---------- --------- ---------- ---------- ---------- ---------- ---------PRESAL5
---------SCOTT
09-DEC-82
3000
1300
3000
950
5000
1250
ADAMS

12-JAN-83

1100

3000

1300

3000

950

5000

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10*
SQL>

SELECT Ename, HireDate, Sal,


LAG(Sal, 1)
OVER(ORDER BY HireDate) PreSal1,
LAG(Sal, 2)
OVER(ORDER BY HireDate) PreSal2,
LAG(Sal, 3)
OVER(ORDER BY HireDate) PreSal3,
LAG(Sal, 4)
OVER(ORDER BY HireDate) PreSal4
FROM Emp
/

ENAME
---------SMITH
ALLEN
WARD
JONES
BLAKE
CLARK
TURNER
MARTIN
KING
JAMES
FORD

HIREDATE
SAL
PRESAL1
PRESAL2
PRESAL3
PRESAL4
--------- ---------- ---------- ---------- ---------- ---------17-DEC-80
800
20-FEB-81
1600
800
22-FEB-81
1250
1600
800
02-APR-81
2975
1250
1600
800
01-MAY-81
2850
2975
1250
1600
800
09-JUN-81
2450
2850
2975
1250
1600
08-SEP-81
1500
2450
2850
2975
1250
28-SEP-81
1250
1500
2450
2850
2975
17-NOV-81
5000
1250
1500
2450
2850
03-DEC-81
950
5000
1250
1500
2450
03-DEC-81
3000
950
5000
1250
1500

ENAME
---------MILLER
SCOTT
ADAMS

HIREDATE
SAL
PRESAL1
PRESAL2
PRESAL3
PRESAL4
--------- ---------- ---------- ---------- ---------- ---------23-JAN-82
1300
3000
950
5000
1250
09-DEC-82
3000
1300
3000
950
5000
12-JAN-83
1100
3000
1300
3000
950

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2

SELECT Ename, HireDate, Sal,


LAG(Sal, &GOffset)

3 OVER(ORDER BY HireDate) PreSal


4* FROM Emp
SQL> /
Enter value for goffset: 1
old
2: LAG(Sal, &GOffset)
new
2: LAG(Sal, 1)
ENAME
---------SMITH
ALLEN
WARD
JONES
BLAKE
CLARK
TURNER
MARTIN
KING
JAMES
FORD

HIREDATE
SAL
PRESAL
--------- ---------- ---------17-DEC-80
800
20-FEB-81
1600
800
22-FEB-81
1250
1600
02-APR-81
2975
1250
01-MAY-81
2850
2975
09-JUN-81
2450
2850
08-SEP-81
1500
2450
28-SEP-81
1250
1500
17-NOV-81
5000
1250
03-DEC-81
950
5000
03-DEC-81
3000
950

ENAME
---------MILLER
SCOTT
ADAMS

HIREDATE
SAL
PRESAL
--------- ---------- ---------23-JAN-82
1300
3000
09-DEC-82
3000
1300
12-JAN-83
1100
3000

14 rows selected.
SQL> /
Enter value for goffset: 2
old
2: LAG(Sal, &GOffset)
new
2: LAG(Sal, 2)
ENAME
---------SMITH
ALLEN
WARD
JONES
BLAKE
CLARK
TURNER
MARTIN
KING
JAMES
FORD

HIREDATE
SAL
PRESAL
--------- ---------- ---------17-DEC-80
800
20-FEB-81
1600
22-FEB-81
1250
800
02-APR-81
2975
1600
01-MAY-81
2850
1250
09-JUN-81
2450
2975
08-SEP-81
1500
2850
28-SEP-81
1250
2450
17-NOV-81
5000
1500
03-DEC-81
950
1250
03-DEC-81
3000
5000

ENAME
---------MILLER
SCOTT
ADAMS

HIREDATE
SAL
PRESAL
--------- ---------- ---------23-JAN-82
1300
950
09-DEC-82
3000
3000
12-JAN-83
1100
1300

14 rows selected.
SQL> ED

Wrote file afiedt.buf


1 SELECT Ename, HireDate, Sal,
2 LAG(Sal, &GOffset)
3 OVER(ORDER BY HireDate) PreSal
4 FROM Emp
5* WHERE Ename = &GEname
SQL> SET VERIFY OFF
SQL> /
Enter value for goffset: 1
Enter value for gename: KING
WHERE Ename = KING
*
ERROR at line 5:
ORA-00904: "KING": invalid identifier

SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, HireDate, Sal,
2 LAG(Sal, &GOffset)
3 OVER(ORDER BY HireDate) PreSal
4 FROM Emp
5* WHERE Ename = UPPER('&GEname')
SQL> /
Enter value for goffset: 1
Enter value for gename: king
ENAME
HIREDATE
SAL
PRESAL
---------- --------- ---------- ---------KING
17-NOV-81
5000
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, HireDate, Sal,
2 LAG(Sal, &GOffset)
3 OVER(ORDER BY HireDate) PreSal
4 FROM Emp
5* WHERE Deptno = 10
SQL> /
Enter value for goffset: 1
ENAME
---------CLARK
KING
MILLER

HIREDATE
SAL
PRESAL
--------- ---------- ---------09-JUN-81
2450
17-NOV-81
5000
2450
23-JAN-82
1300
5000

SQL> cl scr
SQL>
2
3
4

SELECT Ename, HireDate, Sal,


LEAD(Sal, 1, 0)
OVER(ORDER BY HireDate) NextSal
FROM Emp;

ENAME
---------SMITH
ALLEN
WARD
JONES
BLAKE
CLARK
TURNER
MARTIN
KING
JAMES
FORD

HIREDATE
SAL
NEXTSAL
--------- ---------- ---------17-DEC-80
800
1600
20-FEB-81
1600
1250
22-FEB-81
1250
2975
02-APR-81
2975
2850
01-MAY-81
2850
2450
09-JUN-81
2450
1500
08-SEP-81
1500
1250
28-SEP-81
1250
5000
17-NOV-81
5000
950
03-DEC-81
950
3000
03-DEC-81
3000
1300

ENAME
---------MILLER
SCOTT
ADAMS

HIREDATE
SAL
NEXTSAL
--------- ---------- ---------23-JAN-82
1300
3000
09-DEC-82
3000
1100
12-JAN-83
1100
0

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT Ename, HireDate,


LAG(Sal, 1, 0)
OVER(ORDER BY HireDate) PreSal,
Sal CurrSal,
LEAD(Sal, 1, 0)
OVER(ORDER BY HireDate) NextSal
FROM Emp
/

ENAME
---------SMITH
ALLEN
WARD
JONES
BLAKE
CLARK
TURNER
MARTIN
KING
JAMES
FORD

HIREDATE
PRESAL
CURRSAL
NEXTSAL
--------- ---------- ---------- ---------17-DEC-80
0
800
1600
20-FEB-81
800
1600
1250
22-FEB-81
1600
1250
2975
02-APR-81
1250
2975
2850
01-MAY-81
2975
2850
2450
09-JUN-81
2850
2450
1500
08-SEP-81
2450
1500
1250
28-SEP-81
1500
1250
5000
17-NOV-81
1250
5000
950
03-DEC-81
5000
950
3000
03-DEC-81
950
3000
1300

ENAME
---------MILLER
SCOTT
ADAMS

HIREDATE
PRESAL
CURRSAL
NEXTSAL
--------- ---------- ---------- ---------23-JAN-82
3000
1300
3000
09-DEC-82
1300
3000
1100
12-JAN-83
3000
1100
0

14 rows selected.
SQL> ED

Wrote file afiedt.buf


1 SELECT Ename, HireDate,
2 LAG(Sal, 2, 0)
3 OVER(ORDER BY HireDate) PreSal2,
4 LAG(Sal, 1, 0)
5 OVER(ORDER BY HireDate) PreSal1,
6 Sal CurrSal,
7 LEAD(Sal, 1, 0)
8 OVER(ORDER BY HireDate) NextSal1
9 LEAD(Sal, 2, 0)
10 OVER(ORDER BY HireDate) NextSal2
11* FROM Emp
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11*
SQL>

SELECT Ename, HireDate,


LAG(Sal, 2, 0)
OVER(ORDER BY HireDate) PreSal2,
LAG(Sal, 1, 0)
OVER(ORDER BY HireDate) PreSal1,
Sal CurrSal,
LEAD(Sal, 1, 0)
OVER(ORDER BY HireDate) NextSal1,
LEAD(Sal, 2, 0)
OVER(ORDER BY HireDate) NextSal2
FROM Emp
/

ENAME
---------SMITH
ALLEN
WARD
JONES
BLAKE
CLARK
TURNER
MARTIN
KING
JAMES
FORD

HIREDATE
PRESAL2
PRESAL1
CURRSAL
NEXTSAL1
NEXTSAL2
--------- ---------- ---------- ---------- ---------- ---------17-DEC-80
0
0
800
1600
1250
20-FEB-81
0
800
1600
1250
2975
22-FEB-81
800
1600
1250
2975
2850
02-APR-81
1600
1250
2975
2850
2450
01-MAY-81
1250
2975
2850
2450
1500
09-JUN-81
2975
2850
2450
1500
1250
08-SEP-81
2850
2450
1500
1250
5000
28-SEP-81
2450
1500
1250
5000
950
17-NOV-81
1500
1250
5000
950
3000
03-DEC-81
1250
5000
950
3000
1300
03-DEC-81
5000
950
3000
1300
3000

ENAME
---------MILLER
SCOTT
ADAMS

HIREDATE
PRESAL2
PRESAL1
CURRSAL
NEXTSAL1
NEXTSAL2
--------- ---------- ---------- ---------- ---------- ---------23-JAN-82
950
3000
1300
3000
1100
09-DEC-82
3000
1300
3000
1100
0
12-JAN-83
1300
3000
1100
0
0

14 rows selected.
SQL> cl scr
SQL>
2
3
4

SELECT Ename, HireDate, Sal,


Sal - LAG(Sal, 1, 0)
OVER(ORDER BY HireDate) DiffPreSal
FROM Emp;

ENAME
---------SMITH
ALLEN
WARD
JONES
BLAKE
CLARK
TURNER
MARTIN
KING
JAMES
FORD

HIREDATE
SAL DIFFPRESAL
--------- ---------- ---------17-DEC-80
800
800
20-FEB-81
1600
800
22-FEB-81
1250
-350
02-APR-81
2975
1725
01-MAY-81
2850
-125
09-JUN-81
2450
-400
08-SEP-81
1500
-950
28-SEP-81
1250
-250
17-NOV-81
5000
3750
03-DEC-81
950
-4050
03-DEC-81
3000
2050

ENAME
---------MILLER
SCOTT
ADAMS

HIREDATE
SAL DIFFPRESAL
--------- ---------- ---------23-JAN-82
1300
-1700
09-DEC-82
3000
1700
12-JAN-83
1100
-1900

14 rows selected.
SQL> cl scr
SQL>
2
3
4

SELECT Ename, HireDate, Sal,


Sal - LEAD(Sal, 1, 0)
OVER(ORDER BY HireDate) DiffNextSal
FROM Emp;

ENAME
---------SMITH
ALLEN
WARD
JONES
BLAKE
CLARK
TURNER
MARTIN
KING
JAMES
FORD

HIREDATE
SAL DIFFNEXTSAL
--------- ---------- ----------17-DEC-80
800
-800
20-FEB-81
1600
350
22-FEB-81
1250
-1725
02-APR-81
2975
125
01-MAY-81
2850
400
09-JUN-81
2450
950
08-SEP-81
1500
250
28-SEP-81
1250
-3750
17-NOV-81
5000
4050
03-DEC-81
950
-2050
03-DEC-81
3000
1700

ENAME
---------MILLER
SCOTT
ADAMS

HIREDATE
SAL DIFFNEXTSAL
--------- ---------- ----------23-JAN-82
1300
-1700
09-DEC-82
3000
1900
12-JAN-83
1100
1100

14 rows selected.
SQL> cl scr
SQL> COLUMN Remarks FORMAT A30
SQL> SELECT E1.Ename, E1.HireDate, E1.Sal,
ABS(E1.DiffNExtSal)||DECODE(SIGN(E1.DiffNextSal),

2
3
4
5
6
7
8

1, ' More Than Next Salary.',


-1, ' Less Than Next Salary.',
' Salaries Equal.') Remarks
FROM (SELECT Ename, HireDate, Sal,
Sal - LEAD(Sal, 1, 0)
OVER(ORDER BY HireDate) DiffNextSal
FROM Emp) E1;

ENAME
---------SMITH
ALLEN
WARD
JONES
BLAKE
CLARK
TURNER
MARTIN
KING
JAMES
FORD

HIREDATE
SAL REMARKS
--------- ---------- -----------------------------17-DEC-80
800 800 Less Than Next Salary.
20-FEB-81
1600 350 More Than Next Salary.
22-FEB-81
1250 1725 Less Than Next Salary.
02-APR-81
2975 125 More Than Next Salary.
01-MAY-81
2850 400 More Than Next Salary.
09-JUN-81
2450 950 More Than Next Salary.
08-SEP-81
1500 250 More Than Next Salary.
28-SEP-81
1250 3750 Less Than Next Salary.
17-NOV-81
5000 4050 More Than Next Salary.
03-DEC-81
950 2050 Less Than Next Salary.
03-DEC-81
3000 1700 More Than Next Salary.

ENAME
---------MILLER
SCOTT
ADAMS

HIREDATE
SAL REMARKS
--------- ---------- -----------------------------23-JAN-82
1300 1700 Less Than Next Salary.
09-DEC-82
3000 1900 More Than Next Salary.
12-JAN-83
1100 1100 More Than Next Salary.

14 rows selected.
SQL> cl scr
SQL>
SQL>
2
3
4
5
6
7
8
9
10
11

COLUMN Remarks FORMAT A40


SELECT E1.Deptno, E1.DeptSalSum,
ABS(E1.DeptSalSum - NextSal)||
DECODE(NVL(SIGN(E1.DeptSalSum - NextSal), 0),
1, ' More Budget Than Next Department',
-1, ' Less Budget Than Next Department',
0, ' Terminating Department') Remarks
FROM (SELECT Deptno, SUM(Sal) DeptSalSum,
LEAD(SUM(Sal), 1, NULL)
OVER(ORDER BY Deptno) NextSal
FROM Emp
GROUP BY Deptno) E1;

DEPTNO DEPTSALSUM REMARKS


---------- ---------- ---------------------------------------10
8750 2125 Less Budget Than Next Department
20
10875 1475 More Budget Than Next Department
30
9400 Terminating Department
SQL> cl scr
SQL>
SQL>
SQL>
SQL>

BREAK ON Deptno SKIP 1


COLUMN DaysDiff FORMAT A40
COLUMN DEPTNO FORMAT 99
COLUMN ENAME FORMAT A10

SQL>
2
3
4
5
6
7
8
9

SELECT Deptno, Ename, HireDate,


LAG(HireDate, 1, NULL)
OVER(PARTITION BY Deptno
ORDER BY HireDate, Ename)
Last_Hire,
NVL(HireDate - LAG(HireDate, 1, Null)
OVER (PARTITION BY Deptno
ORDER BY HireDate, Ename), 0)||' Days of Difference.'
FROM Emp
ORDER BY DeptNo, HireDate;

DEPTNO ENAME
------ ---------10 CLARK
KING
MILLER

HIREDATE
--------09-JUN-81
17-NOV-81
23-JAN-82

LAST_HIRE DAYSDIFF
--------- ---------------------------------------0 Days of Difference.
09-JUN-81 161 Days of Difference.
17-NOV-81 67 Days of Difference.

20 SMITH
JONES
FORD
SCOTT
ADAMS

17-DEC-80
02-APR-81
03-DEC-81
09-DEC-82
12-JAN-83

17-DEC-80
02-APR-81
03-DEC-81
09-DEC-82

30 ALLEN

20-FEB-81

DEPTNO ENAME
------ ---------30 WARD
BLAKE
TURNER
MARTIN
JAMES

HIREDATE
--------22-FEB-81
01-MAY-81
08-SEP-81
28-SEP-81
03-DEC-81

0 Days of Difference.
106 Days of Difference.
245 Days of Difference.
371 Days of Difference.
34 Days of Difference.
0 Days of Difference.

LAST_HIRE
--------20-FEB-81
22-FEB-81
01-MAY-81
08-SEP-81
28-SEP-81

DAYSDIFF
---------------------------------------2 Days of Difference.
68 Days of Difference.
130 Days of Difference.
20 Days of Difference.
66 Days of Difference.

14 rows selected.
SQL> BREAK ON Deptno DUP
SQL> cl scr
SQL>
2
3
4
5

DaysDiff

SELECT Ename, Deptno, Sal,


FIRST_VALUE(Ename)
OVER(PARTITION BY DeptNo
ORDER BY Sal DESC) Max_Sal_Name
FROM
Emp ORDER BY Deptno, Sal DESC, Ename DESC;

ENAME
DEPTNO
SAL MAX_SAL_NA
---------- ------ ---------- ---------KING
10
5000 KING
CLARK
10
2450 KING
MILLER
10
1300 KING
SCOTT
20
3000 FORD
FORD
20
3000 FORD
JONES
20
2975 FORD
ADAMS
20
1100 FORD
SMITH
20
800 FORD
BLAKE
30
2850 BLAKE
ALLEN
30
1600 BLAKE
TURNER
30
1500 BLAKE

ENAME
DEPTNO
SAL MAX_SAL_NA
---------- ------ ---------- ---------WARD
30
1250 BLAKE
MARTIN
30
1250 BLAKE
JAMES
30
950 BLAKE
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename, Deptno, Sal,


FIRST_VALUE(Ename)
OVER(PARTITION BY DeptNo
ORDER BY Sal DESC) Max_Sal_Name
FROM
Emp
ORDER BY Deptno, Sal DESC
/

ENAME
DEPTNO
SAL MAX_SAL_NA
---------- ------ ---------- ---------KING
10
5000 KING
CLARK
10
2450 KING
MILLER
10
1300 KING
FORD
20
3000 FORD
SCOTT
20
3000 FORD
JONES
20
2975 FORD
ADAMS
20
1100 FORD
SMITH
20
800 FORD
BLAKE
30
2850 BLAKE
ALLEN
30
1600 BLAKE
TURNER
30
1500 BLAKE
ENAME
DEPTNO
SAL MAX_SAL_NA
---------- ------ ---------- ---------MARTIN
30
1250 BLAKE
WARD
30
1250 BLAKE
JAMES
30
950 BLAKE
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename, Deptno, Sal,


LAST_VALUE(Ename)
OVER(PARTITION BY DeptNo
ORDER BY Sal DESC) Last
FROM
Emp
ORDER BY Deptno, Sal DESC
/

ENAME
DEPTNO
SAL LAST
---------- ------ ---------- ---------KING
10
5000 KING
CLARK
10
2450 CLARK

MILLER
FORD
SCOTT
JONES
ADAMS
SMITH
BLAKE
ALLEN
TURNER

10
20
20
20
20
20
30
30
30

1300
3000
3000
2975
1100
800
2850
1600
1500

MILLER
SCOTT
SCOTT
JONES
ADAMS
SMITH
BLAKE
ALLEN
TURNER

ENAME
DEPTNO
SAL LAST
---------- ------ ---------- ---------MARTIN
30
1250 WARD
WARD
30
1250 WARD
JAMES
30
950 JAMES
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename, Deptno, Sal,


FIRST_VALUE(Ename)
OVER(PARTITION BY DeptNo
ORDER BY Sal DESC) Last
FROM
Emp
ORDER BY Deptno, Sal DESC
/

ENAME
DEPTNO
SAL LAST
---------- ------ ---------- ---------KING
10
5000 KING
CLARK
10
2450 KING
MILLER
10
1300 KING
FORD
20
3000 FORD
SCOTT
20
3000 FORD
JONES
20
2975 FORD
ADAMS
20
1100 FORD
SMITH
20
800 FORD
BLAKE
30
2850 BLAKE
ALLEN
30
1600 BLAKE
TURNER
30
1500 BLAKE
ENAME
DEPTNO
SAL LAST
---------- ------ ---------- ---------MARTIN
30
1250 BLAKE
WARD
30
1250 BLAKE
JAMES
30
950 BLAKE
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3

SELECT Ename, Deptno, Sal,


FIRST_VALUE(Ename)
OVER(PARTITION BY DeptNo

4
5
6*
SQL>

ORDER BY Sal DESC) First


FROM
Emp
ORDER BY Deptno, Sal DESC
/

ENAME
DEPTNO
SAL FIRST
---------- ------ ---------- ---------KING
10
5000 KING
CLARK
10
2450 KING
MILLER
10
1300 KING
FORD
20
3000 FORD
SCOTT
20
3000 FORD
JONES
20
2975 FORD
ADAMS
20
1100 FORD
SMITH
20
800 FORD
BLAKE
30
2850 BLAKE
ALLEN
30
1600 BLAKE
TURNER
30
1500 BLAKE
ENAME
DEPTNO
SAL FIRST
---------- ------ ---------- ---------MARTIN
30
1250 BLAKE
WARD
30
1250 BLAKE
JAMES
30
950 BLAKE
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename, Deptno, Sal,


LAST_VALUE(Ename)
OVER(PARTITION BY DeptNo
ORDER BY Sal DESC) Last
FROM
Emp
ORDER BY Deptno, Sal DESC
/

ENAME
DEPTNO
SAL LAST
---------- ------ ---------- ---------KING
10
5000 KING
CLARK
10
2450 CLARK
MILLER
10
1300 MILLER
FORD
20
3000 SCOTT
SCOTT
20
3000 SCOTT
JONES
20
2975 JONES
ADAMS
20
1100 ADAMS
SMITH
20
800 SMITH
BLAKE
30
2850 BLAKE
ALLEN
30
1600 ALLEN
TURNER
30
1500 TURNER
ENAME
DEPTNO
SAL LAST
---------- ------ ---------- ---------MARTIN
30
1250 WARD
WARD
30
1250 WARD
JAMES
30
950 JAMES

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename, Deptno, Sal,


LAST_VALUE(Ename)
OVER(PARTITION BY DeptNo
ORDER BY Deptno) Last
FROM
Emp
ORDER BY Deptno
/

ENAME
DEPTNO
SAL LAST
---------- ------ ---------- ---------CLARK
10
2450 MILLER
KING
10
5000 MILLER
MILLER
10
1300 MILLER
ADAMS
20
1100 SMITH
FORD
20
3000 SMITH
JONES
20
2975 SMITH
SCOTT
20
3000 SMITH
SMITH
20
800 SMITH
ALLEN
30
1600 WARD
BLAKE
30
2850 WARD
JAMES
30
950 WARD
ENAME
DEPTNO
SAL LAST
---------- ------ ---------- ---------MARTIN
30
1250 WARD
TURNER
30
1500 WARD
WARD
30
1250 WARD
14 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7

SELECT Ename, Deptno, Sal,


FIRST_VALUE(Ename)
OVER(ORDER BY Sal ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
FROM (SELECT *
FROM Emp
WHERE Deptno = 30);

ENAME
DEPTNO
SAL MIN_SAL_NA
---------- ------ ---------- ---------JAMES
30
950 JAMES
MARTIN
30
1250 JAMES
WARD
30
1250 JAMES
TURNER
30
1500 JAMES
ALLEN
30
1600 JAMES
BLAKE
30
2850 JAMES
6 rows selected.

Min_Sal_Name

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT Ename, Deptno, Sal,


LAST_VALUE(Ename)
OVER(ORDER BY Sal ASC
) Min_Sal_Name
FROM (SELECT *
FROM Emp
WHERE Deptno = 30)
/

ENAME
DEPTNO
SAL MIN_SAL_NA
---------- ------ ---------- ---------JAMES
30
950 JAMES
MARTIN
30
1250 WARD
WARD
30
1250 WARD
TURNER
30
1500 TURNER
ALLEN
30
1600 ALLEN
BLAKE
30
2850 BLAKE
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

SELECT Ename, Deptno, Sal,


LAST_VALUE(Ename)
OVER(ORDER BY Sal ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
FROM (SELECT *
FROM Emp
WHERE Deptno = 30)
/

Min_Sal_Name

ENAME
DEPTNO
SAL MIN_SAL_NA
---------- ------ ---------- ---------JAMES
30
950 BLAKE
MARTIN
30
1250 BLAKE
WARD
30
1250 BLAKE
TURNER
30
1500 BLAKE
ALLEN
30
1600 BLAKE
BLAKE
30
2850 BLAKE
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
6
ENAME

SELECT Ename, Deptno, Sal,


LAST_VALUE(Ename)
OVER(ORDER BY Sal ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
FROM Emp
/
DEPTNO

SAL MIN_SAL_NA

Min_Sal_Name

---------- ------ ---------- ---------SMITH


20
800 KING
JAMES
30
950 KING
ADAMS
20
1100 KING
MARTIN
30
1250 KING
WARD
30
1250 KING
MILLER
10
1300 KING
TURNER
30
1500 KING
ALLEN
30
1600 KING
CLARK
10
2450 KING
BLAKE
30
2850 KING
JONES
20
2975 KING
ENAME
DEPTNO
SAL MIN_SAL_NA
---------- ------ ---------- ---------FORD
20
3000 KING
SCOTT
20
3000 KING
KING
10
5000 KING
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT Ename, Deptno, Sal,


FIRSt_VALUE(Ename)
OVER(ORDER BY Sal ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
FROM Emp
/

ENAME
DEPTNO
SAL MIN_SAL_NA
---------- ------ ---------- ---------SMITH
20
800 SMITH
JAMES
30
950 SMITH
ADAMS
20
1100 SMITH
MARTIN
30
1250 SMITH
WARD
30
1250 SMITH
MILLER
10
1300 SMITH
TURNER
30
1500 SMITH
ALLEN
30
1600 SMITH
CLARK
10
2450 SMITH
BLAKE
30
2850 SMITH
JONES
20
2975 SMITH
ENAME
DEPTNO
SAL MIN_SAL_NA
---------- ------ ---------- ---------FORD
20
3000 SMITH
SCOTT
20
3000 SMITH
KING
10
5000 SMITH
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1

SELECT Ename, Deptno, Sal,

Min_Sal_Name

2
3
4
5
6
7*
SQL>

FIRST_VALUE(Ename)
OVER(
PARTITION BY Deptno
ORDER BY Sal ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
FROM Emp
/

Min_Sal_Name

ENAME
DEPTNO
SAL MIN_SAL_NA
---------- ------ ---------- ---------MILLER
10
1300 MILLER
CLARK
10
2450 MILLER
KING
10
5000 MILLER
SMITH
20
800 SMITH
ADAMS
20
1100 SMITH
JONES
20
2975 SMITH
FORD
20
3000 SMITH
SCOTT
20
3000 SMITH
JAMES
30
950 JAMES
MARTIN
30
1250 JAMES
WARD
30
1250 JAMES
ENAME
DEPTNO
SAL MIN_SAL_NA
---------- ------ ---------- ---------TURNER
30
1500 JAMES
ALLEN
30
1600 JAMES
BLAKE
30
2850 JAMES
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Deptno, Sal,
2 FIRST_VALUE(Ename)
3 OVER(
4 PARTITION BY Deptno
5 ORDER BY Sal ASC
6 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
7 LAST_VALUE(Ename)
8 OVER(
9 PARTITION BY Deptno
10 ORDER BY Sal ASC
11 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
12* FROM Emp
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9

SELECT Ename, Deptno, Sal,


FIRST_VALUE(Ename)
OVER(
PARTITION BY Deptno
ORDER BY Sal ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
LAST_VALUE(Ename)
OVER(
PARTITION BY Deptno

Min_Sal_Name,

Max_Sal_Name

Min_Sal_Name,

10
11
12*
SQL>

ORDER BY Sal ASC


ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
FROM Emp
/

ENAME
DEPTNO
SAL MIN_SAL_NA
---------- ------ ---------- ---------MILLER
10
1300 MILLER
CLARK
10
2450 MILLER
KING
10
5000 MILLER
SMITH
20
800 SMITH
ADAMS
20
1100 SMITH
JONES
20
2975 SMITH
FORD
20
3000 SMITH
SCOTT
20
3000 SMITH
JAMES
30
950 JAMES
MARTIN
30
1250 JAMES
WARD
30
1250 JAMES

MAX_SAL_NA
---------KING
KING
KING
SCOTT
SCOTT
SCOTT
SCOTT
SCOTT
BLAKE
BLAKE
BLAKE

ENAME
DEPTNO
SAL MIN_SAL_NA
---------- ------ ---------- ---------TURNER
30
1500 JAMES
ALLEN
30
1600 JAMES
BLAKE
30
2850 JAMES

MAX_SAL_NA
---------BLAKE
BLAKE
BLAKE

Max_Sal_Name

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename, Deptno, Sal,


SUM(Sal)
OVER(
ORDER BY Sal ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
FROM Emp
/

ENAME
DEPTNO
SAL
---------- ------ ---------SUM(SAL)OVER(ORDERBYSALASCROWSBETWEENUNBOUNDEDPRECEDINGANDUNBOUNDEDFOLLOWING)
----------------------------------------------------------------------------SMITH
20
800
29025
JAMES

30

950
29025

ADAMS

20

1100
29025

ENAME
DEPTNO
SAL
---------- ------ ---------SUM(SAL)OVER(ORDERBYSALASCROWSBETWEENUNBOUNDEDPRECEDINGANDUNBOUNDEDFOLLOWING)
----------------------------------------------------------------------------MARTIN
30
1250

29025
WARD

30

1250
29025

MILLER

10

1300
29025

ENAME
DEPTNO
SAL
---------- ------ ---------SUM(SAL)OVER(ORDERBYSALASCROWSBETWEENUNBOUNDEDPRECEDINGANDUNBOUNDEDFOLLOWING)
----------------------------------------------------------------------------TURNER
30
1500
29025
ALLEN

30

1600
29025

CLARK

10

2450
29025

ENAME
DEPTNO
SAL
---------- ------ ---------SUM(SAL)OVER(ORDERBYSALASCROWSBETWEENUNBOUNDEDPRECEDINGANDUNBOUNDEDFOLLOWING)
----------------------------------------------------------------------------BLAKE
30
2850
29025
JONES

20

2975
29025

FORD

20

3000
29025

ENAME
DEPTNO
SAL
---------- ------ ---------SUM(SAL)OVER(ORDERBYSALASCROWSBETWEENUNBOUNDEDPRECEDINGANDUNBOUNDEDFOLLOWING)
----------------------------------------------------------------------------SCOTT
20
3000
29025
KING

10

5000
29025

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4

SELECT Ename, Deptno, Sal,


SUM(Sal)
OVER(
ORDER BY Sal ASC

5 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) "Slide Sal"


6* FROM Emp
SQL> /
ENAME
DEPTNO
SAL Slide Sal
---------- ------ ---------- ---------SMITH
20
800
29025
JAMES
30
950
29025
ADAMS
20
1100
29025
MARTIN
30
1250
29025
WARD
30
1250
29025
MILLER
10
1300
29025
TURNER
30
1500
29025
ALLEN
30
1600
29025
CLARK
10
2450
29025
BLAKE
30
2850
29025
JONES
20
2975
29025
ENAME
DEPTNO
SAL Slide Sal
---------- ------ ---------- ---------FORD
20
3000
29025
SCOTT
20
3000
29025
KING
10
5000
29025
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename, Deptno, Sal,


SUM(Sal)
OVER(
ORDER BY Sal ASC
ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) "Slide Sal"
FROM Emp
/

ENAME
DEPTNO
SAL Slide Sal
---------- ------ ---------- ---------SMITH
20
800
29025
JAMES
30
950
29025
ADAMS
20
1100
28225
MARTIN
30
1250
27275
WARD
30
1250
26175
MILLER
10
1300
24925
TURNER
30
1500
23675
ALLEN
30
1600
22375
CLARK
10
2450
20875
BLAKE
30
2850
19275
JONES
20
2975
16825
ENAME
DEPTNO
SAL Slide Sal
---------- ------ ---------- ---------FORD
20
3000
13975
SCOTT
20
3000
11000
KING
10
5000
8000

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename, Deptno, Sal,


SUM(Sal)
OVER(
ORDER BY Sal ASC
ROWS BETWEEN 2 PRECEDING AND UNBOUNDED FOLLOWING) "Slide Sal"
FROM Emp
/

ENAME
DEPTNO
SAL Slide Sal
---------- ------ ---------- ---------SMITH
20
800
29025
JAMES
30
950
29025
ADAMS
20
1100
29025
MARTIN
30
1250
28225
WARD
30
1250
27275
MILLER
10
1300
26175
TURNER
30
1500
24925
ALLEN
30
1600
23675
CLARK
10
2450
22375
BLAKE
30
2850
20875
JONES
20
2975
19275
ENAME
DEPTNO
SAL Slide Sal
---------- ------ ---------- ---------FORD
20
3000
16825
SCOTT
20
3000
13975
KING
10
5000
11000
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename, Deptno, Sal,


SUM(Sal)
OVER(
ORDER BY Sal ASC
ROWS BETWEEN 0 PRECEDING AND UNBOUNDED FOLLOWING) "Slide Sal"
FROM Emp
/

ENAME
DEPTNO
SAL Slide Sal
---------- ------ ---------- ---------SMITH
20
800
29025
JAMES
30
950
28225
ADAMS
20
1100
27275
MARTIN
30
1250
26175
WARD
30
1250
24925
MILLER
10
1300
23675
TURNER
30
1500
22375
ALLEN
30
1600
20875
CLARK
10
2450
19275

BLAKE
JONES

30
20

2850
2975

16825
13975

ENAME
DEPTNO
SAL Slide Sal
---------- ------ ---------- ---------FORD
20
3000
11000
SCOTT
20
3000
8000
KING
10
5000
5000
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6*
SQL>

SELECT Ename, Deptno, Sal,


SUM(Sal)
OVER(
ORDER BY Sal ASC
ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) "Slide Sal"
FROM Emp
/

ENAME
DEPTNO
SAL Slide Sal
---------- ------ ---------- ---------SMITH
20
800
1750
JAMES
30
950
2850
ADAMS
20
1100
3300
MARTIN
30
1250
3600
WARD
30
1250
3800
MILLER
10
1300
4050
TURNER
30
1500
4400
ALLEN
30
1600
5550
CLARK
10
2450
6900
BLAKE
30
2850
8275
JONES
20
2975
8825
ENAME
DEPTNO
SAL Slide Sal
---------- ------ ---------- ---------FORD
20
3000
8975
SCOTT
20
3000
11000
KING
10
5000
8000
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10*

SELECT Ename, Deptno, Sal,


SUM(Sal)
OVER(
ORDER BY Sal ASC
ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) "Center Sum",
TO_CHAR(AVG(Sal)
OVER(
ORDER BY Sal ASC
ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING), '9G999D99') "Center Avg"
FROM Emp

SQL> /
ENAME
DEPTNO
SAL Center Sum Center Av
---------- ------ ---------- ---------- --------SMITH
20
800
1750
875.00
JAMES
30
950
2850
950.00
ADAMS
20
1100
3300 1,100.00
MARTIN
30
1250
3600 1,200.00
WARD
30
1250
3800 1,266.67
MILLER
10
1300
4050 1,350.00
TURNER
30
1500
4400 1,466.67
ALLEN
30
1600
5550 1,850.00
CLARK
10
2450
6900 2,300.00
BLAKE
30
2850
8275 2,758.33
JONES
20
2975
8825 2,941.67
ENAME
DEPTNO
SAL Center Sum Center Av
---------- ------ ---------- ---------- --------FORD
20
3000
8975 2,991.67
SCOTT
20
3000
11000 3,666.67
KING
10
5000
8000 4,000.00
14 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6

SELECT
ROW_NUMBER()
OVER(ORDER BY Sal DESC
NULLS LAST) RowNo,
Ename, Deptno
FROM Emp;

ROWNO
---------1
2
3
4
5
6
7
8
9
10
11

ENAME
DEPTNO
---------- -----KING
10
FORD
20
SCOTT
20
JONES
20
BLAKE
30
CLARK
10
ALLEN
30
TURNER
30
MILLER
10
MARTIN
30
WARD
30

ROWNO
---------12
13
14

ENAME
DEPTNO
---------- -----ADAMS
20
JAMES
30
SMITH
20

14 rows selected.
SQL> ED
Wrote file afiedt.buf

1
2
3
4
5
6
7
8*
SQL>

SELECT
ROW_NUMBER()
OVER(
PARTITION BY Deptno
ORDER BY Sal DESC
NULLS LAST) RowNo,
Ename, Deptno
FROM Emp
/

ROWNO
---------1
2
3
1
2
3
4
5
1
2
3

ENAME
DEPTNO
---------- -----KING
10
CLARK
10
MILLER
10
FORD
20
SCOTT
20
JONES
20
ADAMS
20
SMITH
20
BLAKE
30
ALLEN
30
TURNER
30

ROWNO
---------4
5
6

ENAME
DEPTNO
---------- -----MARTIN
30
WARD
30
JAMES
30

14 rows selected.
SQL> cl scr
SQL> SELECT Deptno, Ename,
2
ROW_NUMBER()
3
OVER (PARTITION BY Deptno
4
ORDER BY Sal DESC NULLS LAST)
5
FROM Emp;
DEPTNO
-----10
10
10
20
20
20
20
20
30
30
30

ENAME
SEQNO
---------- ---------KING
1
CLARK
2
MILLER
3
FORD
1
SCOTT
2
JONES
3
ADAMS
4
SMITH
5
BLAKE
1
ALLEN
2
TURNER
3

DEPTNO ENAME
SEQNO
------ ---------- ----------

SeqNo

30 MARTIN
30 WARD
30 JAMES

4
5
6

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9*
SQL>

SELECT E1.*
FROM (
SELECT Deptno, Ename,
ROW_NUMBER()
OVER (PARTITION BY Deptno
ORDER BY Sal DESC NULLS LAST)
FROM Emp
) E1
WHERE E1.Seqno <= 3
/

DEPTNO
-----10
10
10
20
20
20
30
30
30

SeqNo

ENAME
SEQNO
---------- ---------KING
1
CLARK
2
MILLER
3
FORD
1
SCOTT
2
JONES
3
BLAKE
1
ALLEN
2
TURNER
3

9 rows selected.
SQL>
2
3
4
5
6
7
8
9
10
11

SELECT Deptno,
MAX(DECODE(Seqno, 1, Ename, NULL)) First,
MAX(DECODE(Seqno, 2, Ename, NULL)) Second,
MAX(DECODE(Seqno, 3, Ename, NULL)) Third
FROM (SELECT Deptno, Ename,
ROW_NUMBER()
OVER (PARTITION BY Deptno
ORDER BY Sal DESC NULLS LAST) SeqNo
FROM Emp)
WHERE SeqNo <= 3
GROUP BY Deptno;

DEPTNO
-----10
20
30
SQL>
2
3
4
5

FIRST
---------KING
FORD
BLAKE

SECOND
---------CLARK
SCOTT
ALLEN

THIRD
---------MILLER
JONES
TURNER

SELECT Deptno,
MAX(DECODE(Seqno, 1, Ename, NULL)) First,
MAX(DECODE(Seqno, 2, Ename, NULL)) Second,
MAX(DECODE(Seqno, 3, Ename, NULL)) Third
FROM (SELECT Deptno, Ename,

6
7
8
9
10
11

ROW_NUMBER()
OVER (PARTITION BY Deptno
ORDER BY HireDate NULLS LAST)
FROM Emp)
WHERE SeqNo <= 3
GROUP BY Deptno;

DEPTNO
-----10
20
30

FIRST
---------CLARK
SMITH
ALLEN

SECOND
---------KING
JONES
WARD

SeqNo

THIRD
---------MILLER
FORD
BLAKE

SQL> cl scr
SQL> SELECT Deptno, Ename,
2
ROW_NUMBER()
3
OVER (ORDER BY HireDate NULLS LAST)
4
FROM Emp;
DEPTNO
-----20
30
30
20
30
10
30
30
10
30
20

ENAME
SEQNO
---------- ---------SMITH
1
ALLEN
2
WARD
3
JONES
4
BLAKE
5
CLARK
6
TURNER
7
MARTIN
8
KING
9
JAMES
10
FORD
11

DEPTNO
-----10
20
20

ENAME
SEQNO
---------- ---------MILLER
12
SCOTT
13
ADAMS
14

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>

SELECT E1.*
FROM (
SELECT Deptno, Ename,
ROW_NUMBER()
OVER (ORDER BY HireDate NULLS LAST)
FROM Emp
) E1
WHERE E1.Seqno <= 3
/

DEPTNO ENAME
SEQNO
------ ---------- ----------

SeqNo

SeqNo

20 SMITH
30 ALLEN
30 WARD
SQL>
2
3
4
5
6
7
8
9
10

1
2
3

SELECT Deptno,
NVL(MAX(DECODE(Seqno, 1, Ename, NULL)), 'N.A.') First,
NVL(MAX(DECODE(Seqno, 2, Ename, NULL)), 'N.A') Second,
NVL(MAX(DECODE(Seqno, 3, Ename, NULL)), 'N.A') Third
FROM (SELECT Deptno, Ename,
ROW_NUMBER()
OVER (ORDER BY HireDate NULLS LAST) SeqNo
FROM Emp)
WHERE SeqNo <= 4 OR Deptno IN(10, 20, 30)
GROUP BY Deptno;

DEPTNO
-----10
20
30

FIRST
---------N.A.
SMITH
N.A.

SECOND
---------N.A
N.A
ALLEN

THIRD
---------N.A
N.A
WARD

SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10

SELECT Deptno,
DECODE (SeqNo, 1, Ename, NULL)
First,
DECODE (SeqNo, 2, Ename, NULL) Second,
DECODE (SeqNo, 3, Ename, NULL) Third
FROM (SELECT Deptno, Ename,
ROW_NUMBER()
OVER (PARTITION BY Deptno
ORDER BY Sal DESC NULLS LAST) SeqNo
FROM Emp)
WHERE SeqNo <= 3;

DEPTNO
-----10
10
10
20
20
20
30
30
30

FIRST
SECOND
THIRD
---------- ---------- ---------KING
CLARK
MILLER
FORD
SCOTT
JONES
BLAKE
ALLEN
TURNER

9 rows selected.
SQL>
2
3
4
5
6
7
8
9

SELECT Deptno,
MAX(DECODE(Seqno, 1, Ename, NULL)) First,
MAX(DECODE(Seqno, 2, Ename, NULL)) Second,
MAX(DECODE(Seqno, 3, Ename, NULL)) Third
FROM (SELECT Deptno, Ename,
ROW_NUMBER()
OVER (PARTITION BY Deptno
ORDER BY Sal DESC NULLS LAST) SeqNo
FROM Emp)

10
11

WHERE SeqNo <= 3


GROUP BY Deptno;

DEPTNO
-----10
20
30

FIRST
---------KING
FORD
BLAKE

SECOND
---------CLARK
SCOTT
ALLEN

THIRD
---------MILLER
JONES
TURNER

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12*
SQL>

SELECT Deptno,
MAX(DECODE(Seqno, 1, Ename, NULL)) First,
MAX(DECODE(Seqno, 2, Ename, NULL)) Second,
MAX(DECODE(Seqno, 3, Ename, NULL)) Third,
SUM(Sal)
FROM (SELECT Deptno, Ename, Sal
ROW_NUMBER()
OVER (PARTITION BY Deptno
ORDER BY Sal DESC NULLS LAST) SeqNo
FROM Emp)
WHERE SeqNo <= 3
GROUP BY Deptno
/
ROW_NUMBER()
*
ERROR at line 7:
ORA-00923: FROM keyword not found where expected

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12*
SQL>

SELECT Deptno,
MAX(DECODE(Seqno, 1, Ename, NULL)) First,
MAX(DECODE(Seqno, 2, Ename, NULL)) Second,
MAX(DECODE(Seqno, 3, Ename, NULL)) Third,
SUM(Sal)
FROM (SELECT Deptno, Ename, Sal,
ROW_NUMBER()
OVER (PARTITION BY Deptno
ORDER BY Sal DESC NULLS LAST) SeqNo
FROM Emp)
WHERE SeqNo <= 3
GROUP BY Deptno
/

DEPTNO
-----10
20
30

FIRST
---------KING
FORD
BLAKE

SECOND
---------CLARK
SCOTT
ALLEN

SQL> ED
Wrote file afiedt.buf

THIRD
SUM(SAL)
---------- ---------MILLER
8750
JONES
8975
TURNER
5950

1 SELECT Deptno,
2 DECODE(Seqno, 1, Ename, NULL) First,
3 DECODE(Seqno, 2, Ename, NULL) Second,
4 DECODE(Seqno, 3, Ename, NULL) Third,
5 Sal
6 FROM (SELECT Deptno, Ename, Sal,
7
ROW_NUMBER()
8
OVER (PARTITION BY Deptno
9
ORDER BY Sal DESC NULLS LAST) SeqNo
10
FROM Emp)
11 WHERE SeqNo <= 3
12* GROUP BY Deptno
SQL> /
DECODE(Seqno, 1, Ename, NULL) First,
*
ERROR at line 2:
ORA-00979: not a GROUP BY expression

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11*
SQL>

SELECT Deptno,
DECODE(Seqno, 1, Ename, NULL) First,
DECODE(Seqno, 2, Ename, NULL) Second,
DECODE(Seqno, 3, Ename, NULL) Third,
Sal
FROM (SELECT Deptno, Ename, Sal,
ROW_NUMBER()
OVER (PARTITION BY Deptno
ORDER BY Sal DESC NULLS LAST) SeqNo
FROM Emp)
WHERE SeqNo <= 3
/

DEPTNO
-----10
10
10
20
20
20
30
30
30

FIRST
SECOND
THIRD
SAL
---------- ---------- ---------- ---------KING
5000
CLARK
2450
MILLER
1300
FORD
3000
SCOTT
3000
JONES
2975
BLAKE
2850
ALLEN
1600
TURNER
1500

9 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6

SELECT
Empno,
Deptno,
HireDate,
FIRST_VALUE(HireDate)
OVER (

7
8
9
10
11
12
13
14
15
16

PARTITION BY Deptno
ORDER BY HireDate
) FirstDate,
HireDate - FIRST_VALUE(HireDate)
OVER (
PARTITION BY Deptno
ORDER BY HireDate
) NDays
FROM Emp
ORDER BY Deptno, NDays;

EMPNO DEPTNO HIREDATE FIRSTDATE


NDAYS
---------- ------ --------- --------- ---------7782
10 09-JUN-81 09-JUN-81
0
7839
10 17-NOV-81 09-JUN-81
161
7934
10 23-JAN-82 09-JUN-81
228
7369
20 17-DEC-80 17-DEC-80
0
7566
20 02-APR-81 17-DEC-80
106
7902
20 03-DEC-81 17-DEC-80
351
7788
20 09-DEC-82 17-DEC-80
722
7876
20 12-JAN-83 17-DEC-80
756
7499
30 20-FEB-81 20-FEB-81
0
7521
30 22-FEB-81 20-FEB-81
2
7698
30 01-MAY-81 20-FEB-81
70
EMPNO DEPTNO HIREDATE FIRSTDATE
NDAYS
---------- ------ --------- --------- ---------7844
30 08-SEP-81 20-FEB-81
200
7654
30 28-SEP-81 20-FEB-81
220
7900
30 03-DEC-81 20-FEB-81
286
14 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

SELECT
Empno,
Deptno,
HireDate,
LAST_VALUE(Hiredate)
OVER (
PARTITION BY Deptno
ORDER BY HireDate
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) LastDate,
LAST_VALUE(Hiredate)
OVER (
PARTITION BY Deptno
ORDER BY Hiredate
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) - HireDate NDays
FROM Emp
ORDER BY Deptno, NDays DESC
/

EMPNO DEPTNO HIREDATE LASTDATE


NDAYS
---------- ------ --------- --------- ----------

7782
7839
7934
7369
7566
7902
7788
7876
7499
7521
7698

10
10
10
20
20
20
20
20
30
30
30

09-JUN-81
17-NOV-81
23-JAN-82
17-DEC-80
02-APR-81
03-DEC-81
09-DEC-82
12-JAN-83
20-FEB-81
22-FEB-81
01-MAY-81

23-JAN-82
23-JAN-82
23-JAN-82
12-JAN-83
12-JAN-83
12-JAN-83
12-JAN-83
12-JAN-83
03-DEC-81
03-DEC-81
03-DEC-81

228
67
0
756
650
405
34
0
286
284
216

EMPNO DEPTNO HIREDATE LASTDATE


NDAYS
---------- ------ --------- --------- ---------7844
30 08-SEP-81 03-DEC-81
86
7654
30 28-SEP-81 03-DEC-81
66
7900
30 03-DEC-81 03-DEC-81
0
14 rows selected.
SQL>
SQL>
2
3
4
5
6
7
8
9
10

SPOOL OFF
SELECT Deptno,
NVL(MAX(DECODE(Seqno, 1, Ename, NULL)), 'N.A.') First,
NVL(MAX(DECODE(Seqno, 2, Ename, NULL)), 'N.A') Second,
NVL(MAX(DECODE(Seqno, 3, Ename, NULL)), 'N.A') Third
FROM (SELECT Deptno, Ename,
ROW_NUMBER()
OVER (ORDER BY HireDate NULLS LAST) SeqNo
FROM Emp)
WHERE SeqNo <= 4 OR Deptno IN(10, 20, 30)
GROUP BY Deptno;

DEPTNO
---------10
20
30

FIRST
---------N.A.
SMITH
N.A.

SECOND
---------N.A
N.A
ALLEN

THIRD
---------N.A
N.A
WARD

SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10

SELECT Deptno,
DECODE (SeqNo, 1, Ename, NULL)
First,
DECODE (SeqNo, 2, Ename, NULL) Second,
DECODE (SeqNo, 3, Ename, NULL) Third
FROM (SELECT Deptno, Ename,
ROW_NUMBER()
OVER (PARTITION BY Deptno
ORDER BY Sal DESC NULLS LAST) SeqNo
FROM Emp)
WHERE SeqNo <= 3;

DEPTNO
---------10
10
10
20

FIRST
SECOND
THIRD
---------- ---------- ---------KING
CLARK
MILLER
FORD

20
20
30 BLAKE
30
30

SCOTT
JONES
ALLEN
TURNER

9 rows selected.
SQL>
2
3
4
5
6
7
8
9
10
11

SELECT Deptno,
MAX(DECODE(Seqno, 1, Ename, NULL)) First,
MAX(DECODE(Seqno, 2, Ename, NULL)) Second,
MAX(DECODE(Seqno, 3, Ename, NULL)) Third
FROM (SELECT Deptno, Ename,
ROW_NUMBER()
OVER (PARTITION BY Deptno
ORDER BY Sal DESC NULLS LAST) SeqNo
FROM Emp)
WHERE SeqNo <= 3
GROUP BY Deptno;

DEPTNO
---------10
20
30

FIRST
---------KING
FORD
BLAKE

SECOND
---------CLARK
SCOTT
ALLEN

THIRD
---------MILLER
JONES
TURNER

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12*
SQL>

SELECT Deptno,
MAX(DECODE(Seqno, 1, Ename, NULL)) First,
MAX(DECODE(Seqno, 2, Ename, NULL)) Second,
MAX(DECODE(Seqno, 3, Ename, NULL)) Third,
Sal
FROM (SELECT Deptno, Ename, Sal
ROW_NUMBER()
OVER (PARTITION BY Deptno
ORDER BY Sal DESC NULLS LAST) SeqNo
FROM Emp)
WHERE SeqNo <= 3
GROUP BY Deptno
/
ROW_NUMBER()
*
ERROR at line 7:
ORA-00923: FROM keyword not found where expected

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6

SELECT Deptno,
MAX(DECODE(Seqno, 1, Ename, NULL)) First,
MAX(DECODE(Seqno, 2, Ename, NULL)) Second,
MAX(DECODE(Seqno, 3, Ename, NULL)) Third,
Sal
FROM (SELECT Deptno, Ename, Sal,

7
ROW_NUMBER()
8
OVER (PARTITION BY Deptno
9
ORDER BY Sal DESC NULLS LAST)
10
FROM Emp)
11 WHERE SeqNo <= 3
12* GROUP BY Deptno
SQL> /
Sal
*
ERROR at line 5:
ORA-00979: not a GROUP BY expression

SeqNo

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12*
SQL>

SELECT Deptno,
MAX(DECODE(Seqno, 1, Ename, NULL)) First,
MAX(DECODE(Seqno, 2, Ename, NULL)) Second,
MAX(DECODE(Seqno, 3, Ename, NULL)) Third,
SUM(Sal) SalSum
FROM (SELECT Deptno, Ename, Sal,
ROW_NUMBER()
OVER (PARTITION BY Deptno
ORDER BY Sal DESC NULLS LAST) SeqNo
FROM Emp)
WHERE SeqNo <= 3
GROUP BY Deptno
/

DEPTNO
---------10
20
30

FIRST
---------KING
FORD
BLAKE

SECOND
---------CLARK
SCOTT
ALLEN

THIRD
SALSUM
---------- ---------MILLER
8750
JONES
8975
TURNER
5950

SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11

SELECT Deptno,
DECODE (SeqNo, 1, Ename, NULL)
First,
DECODE (SeqNo, 2, Ename, NULL) Second,
DECODE (SeqNo, 3, Ename, NULL) Third,
Sal
FROM (SELECT Deptno, Ename, Sal
ROW_NUMBER()
OVER (PARTITION BY Deptno
ORDER BY Sal DESC NULLS LAST) SeqNo
FROM Emp)
WHERE SeqNo <= 3;
ROW_NUMBER()
*
ERROR at line 7:
ORA-00923: FROM keyword not found where expected

SQL> ED
Wrote file afiedt.buf

1
2
3
4
5
6
7
8
9
10
11*
SQL>

SELECT Deptno,
DECODE (SeqNo, 1, Ename, NULL)
First,
DECODE (SeqNo, 2, Ename, NULL) Second,
DECODE (SeqNo, 3, Ename, NULL) Third,
Sal
FROM (SELECT Deptno, Ename, Sal,
ROW_NUMBER()
OVER (PARTITION BY Deptno
ORDER BY Sal DESC NULLS LAST) SeqNo
FROM Emp)
WHERE SeqNo <= 3
/

DEPTNO
---------10
10
10
20
20
20
30
30
30

FIRST
SECOND
THIRD
SAL
---------- ---------- ---------- ---------KING
5000
CLARK
2450
MILLER
1300
FORD
3000
SCOTT
3000
JONES
2975
BLAKE
2850
ALLEN
1600
TURNER
1500

9 rows selected.
SQL>
2
3
4
5
6
7
8
9
10

SELECT Deptno,
NVL(DECODE(SeqNo, 1, Ename, NULL), '***')
First,
NVL(DECODE(SeqNo, 2, Ename, NULL), '***') Second,
NVL(DECODE(SeqNo, 3, Ename, NULL), '***') Third
FROM (SELECT Deptno, Ename,
ROW_NUMBER()
OVER (PARTITION BY Deptno
ORDER BY Sal DESC NULLS LAST) SeqNo
FROM Emp)
WHERE SeqNo <= 3;

DEPTNO
---------10
10
10
20
20
20
30
30
30

FIRST
---------KING
***
***
FORD
***
***
BLAKE
***
***

9 rows selected.
SQL> cl scr
SQL> SELECT
2
DECODE(RN,

SECOND
---------***
CLARK
***
***
SCOTT
***
***
ALLEN
***

THIRD
---------***
***
MILLER
***
***
JONES
***
***
TURNER

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

1, Ename,
2, Ename,
3, Ename,
'Rest'
),
SUM(SAL)
FROM (
SELECT
ROW_NUMBER()
OVER(ORDER BY Sal DESC) RN,
Ename,
SAL
FROM EMP
)
GROUP BY
DECODE(RN,
1, ENAME,
2, ENAME,
3, ENAME,
'Rest'
)
ORDER BY 2;

DECODE(RN,
SUM(SAL)
---------- ---------FORD
3000
SCOTT
3000
KING
5000
Rest
18025
SQL> cl scr
SQL> SELECT
2
NumRow,
3
Deptno,
4
Sal,
5
MAX(Total)
6
OVER() Rest
7
FROM (
8
SELECT
9
NumRow,
10
Deptno,
11
Sal,
12
SUM(Sal)
13
OVER (ORDER BY NumRow
14
RANGE BETWEEN 3 FOLLOWING AND
15
UNBOUNDED FOLLOWING) Total
16
FROM
17
(SELECT
18
Empno,
19
Deptno,
20
Sal,
21
SUM(Sal) OVER (ORDER BY Empno) Cumulative,
22
DENSE_RANK() OVER (ORDER BY Sal DESC) NumRow
23
FROM Emp) B)
24 WHERE NumRow <= 3;

NUMROW
DEPTNO
SAL
REST
---------- ---------- ---------- ---------1
10
5000
15050
2
20
3000
15050
2
20
3000
15050
3
20
2975
15050
SQL> cl scr
SQL> SELECT Ename, Job, Comm
2 FROM Emp
3 WHERE Job = 'CLERK';
ENAME
---------JAMES
SMITH
ADAMS
MILLER

JOB
COMM
--------- ---------CLERK
CLERK
CLERK
CLERK

SQL>
2
3
4

UPDATE Emp
SET
Comm = NULL
WHERE Job = 'CLERK';

4 rows updated.
SQL> ED
Wrote file afiedt.buf
1
2
3*
4

UPDATE Emp
SET
Sal = NULL
/

14 rows updated.
SQL> SELECT Ename, Sal FROM Emp;
ENAME
SAL
---------- ---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
ENAME
SAL
---------- ---------SCOTT
ADAMS
MILLER
14 rows selected.
SQL> ROLLBACK;
Rollback complete.
SQL> SELECT Ename, Sal FROM Emp;
ENAME
SAL
---------- ---------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
ALLEN
1600
TURNER
1500
JAMES
950

WARD
FORD
SMITH

1250
3000
800

ENAME
SAL
---------- ---------SCOTT
3000
ADAMS
1100
MILLER
1300
14 rows selected.
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> SELECT Ename, Job, Sal, Deptno
2 FROM Emp
3 WHERE Ename = 'ALLEN';
ENAME
JOB
SAL
DEPTNO
---------- --------- ---------- ---------ALLEN
SALESMAN
1600
30
SQL> UPDATE Emp
2 SET
3
Job = 'MANAGER',
4
Sal = 2500,
5
Deptno = 10
6 WHERE Ename = 'ALLEN';
1 row updated.
SQL> SELECT Ename, Job, Sal, Deptno
2 FROM Emp
3 WHERE Ename = 'ALLEN';
ENAME
JOB
SAL
DEPTNO
---------- --------- ---------- ---------ALLEN
MANAGER
2500
10
SQL> ROLLBACK;
Rollback complete.
SQL> SELECT Ename, Job, Sal, Deptno
2 FROM Emp
3 WHERE Ename = 'BLAKE';
ENAME
JOB
SAL
DEPTNO
---------- --------- ---------- ---------BLAKE
MANAGER
2850
30
SQL> UPDATE Emp
2 SET

3
4
5

Job = 'ANALYST',
Sal = Sal + 1000
WHERE Ename = 'BLAKE';

1 row updated.
SQL> SELECT Ename, Job, Sal, Deptno
2 FROM Emp
3 WHERE Ename = 'BLAKE';
ENAME
JOB
SAL
DEPTNO
---------- --------- ---------- ---------BLAKE
ANALYST
3850
30
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Job, Sal, Deptno
2 FROM Emp
3* WHERE Ename = 'BLAKE'
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

UPDATE Emp
SET
Job = 'ANALYST',
Sal = 1000 + Sal
WHERE Ename = 'BLAKE'
/

1 row updated.
SQL> SELECT Ename, Job, Sal, Deptno
2 FROM Emp
3 WHERE Ename = 'BLAKE';
ENAME
JOB
SAL
DEPTNO
---------- --------- ---------- ---------BLAKE
ANALYST
4850
30
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9*
SQL>

UPDATE Emp
SET
Job = 'ANALYST',
Sal = 1000 + (
SELECT Sal
FROM Emp
WHERE Ename = 'BLAKE'
)
WHERE Ename = 'BLAKE'
/

1 row updated.
SQL> ED

Wrote file afiedt.buf


1
2
3
4
5
6
7
8
9*
SQL>

UPDATE Emp
SET
Job = 'ANALYST',
Sal = (
SELECT Sal
FROM Emp
WHERE Ename = 'BLAKE'
) + 1000
WHERE Ename = 'BLAKE'
/
) + 1000
*
ERROR at line 8:
ORA-00933: SQL command not properly ended

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10*
SQL>

UPDATE Emp
SET
Job = 'ANALYST',
Sal = (
(
SELECT Sal
FROM Emp
WHERE Ename = 'BLAKE') + 1000
)
WHERE Ename = 'BLAKE'
/
WHERE Ename = 'BLAKE') + 1000
*
ERROR at line 8:
ORA-00907: missing right parenthesis

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

UPDATE Emp
SET
Job = 'ANALYST',
Sal = Sal + 1000
WHERE Ename = 'BLAKE'
cl scr

SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> SELECT Ename, Job, Sal
2 FROM Emp;

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
SAL
--------- ---------PRESIDENT
5000
MANAGER
2850
MANAGER
2450
MANAGER
2975
SALESMAN
1250
SALESMAN
1600
SALESMAN
1500
CLERK
950
SALESMAN
1250
ANALYST
3000
CLERK
800

ENAME
---------SCOTT
ADAMS
MILLER

JOB
SAL
--------- ---------ANALYST
3000
CLERK
1100
CLERK
1300

14 rows selected.
SQL> UPDATE Emp
2 SET
3
Job = 'ANALYST',
4
Sal = 1000 + (
5
SELECT Sal
6
FROM Emp
7
WHERE Ename = 'JONES'
8
)
9 WHERE Ename = 'BLAKE';
1 row updated.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13*
SQL>

UPDATE Emp
SET
Job = (
SELECT Job
FROM Emp
WHERE Ename = 'SMITH'
),
Sal = 1000 + (
SELECT Sal
FROM Emp
WHERE Ename = 'JONES'
)
WHERE Ename = 'BLAKE'
/

1 row updated.
SQL> cl scr
SQL> ROLLBACK;

Rollback complete.
SQL> UPDATE Emp
2 SET Sal = Sal * 1.10
3 WHERE Deptno = (SELECT Deptno
4
FROM Dept
5
WHERE Loc = 'CHICAGO');
6 rows updated.
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> SELECT Empno, Ename, Deptno, Job
2 FROM Emp
3 WHERE Empno = 7788;
EMPNO ENAME
DEPTNO JOB
---------- ---------- ---------- --------7788 SCOTT
20 ANALYST
SQL> UPDATE Emp
2 SET
3
Deptno = (SELECT Deptno
4
FROM Emp
5
WHERE Empno = 7788)
6 WHERE
7
Job = (SELECT Job
8
FROM Emp
9
WHERE Empno = 7788);
2 rows updated.
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL>
2
3
4
5
6

UPDATE Emp
SET
(Job, Deptno) = (SELECT Job, Deptno
FROM Emp
WHERE Empno = 7499)
WHERE Empno = 7698;

1 row updated.
SQL> ED
Wrote file afiedt.buf
1
2

UPDATE Emp
SET

3
4
5
6
7
8
9*
SQL>

Job = (SELECT Job


FROM Emp
WHERE Empno = 7499),
Deptno = (SELECT Deptno
FROM Emp
WHERE Empno = 7499)
WHERE Empno = 7698
/

1 row updated.
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> UPDATE Emp E1
2 SET Deptno = (SELECT Deptno
3
FROM Dept
4
WHERE Loc = 'DALLAS'),
5
(Sal, Comm) = (SELECT 1.1 * AVG (Sal),
6
1.5 * AVG ( Comm )
7
FROM Emp E2
8
WHERE E1.Deptno = E2.Deptno)
9 WHERE Deptno IN (SELECT Deptno
10
FROM Dept
11
WHERE Loc = 'NEW YORK' OR
12
Loc = 'BOSTON');
3 rows updated.
SQL> SPOOL OFF
SQL> cl scr
SQL> SELECT Ename, Sal, Deptno
2 FROM Emp
3 WHERE Deptno = 20;
ENAME
SAL
DEPTNO
---------- ---------- ---------JONES
2975
20
FORD
3000
20
SMITH
800
20
SCOTT
3000
20
ADAMS
1100
20
SQL> UPDATE Emp
2 SET Sal = Sal + 1000
3 WHERE Deptno = 20;
5 rows updated.
SQL> SELECT Ename, Sal, Deptno
2 FROM Emp
3 WHERE Deptno = 20;

ENAME
SAL
DEPTNO
---------- ---------- ---------JONES
3975
20
FORD
4000
20
SMITH
1800
20
SCOTT
4000
20
ADAMS
2100
20
SQL>
2
3
4

SELECT Deptno, SUM(Sal)


FROM Emp
WHERE Deptno = 20
GROUP BY Deptno;

DEPTNO
SUM(SAL)
---------- ---------20
15875
SQL> ROLLBACK;
Rollback complete.
SQL>
SQL>
2
3
4

VARIABLE Dept20SalSum NUMBER


UPDATE Emp
SET Sal = Sal + 1000
WHERE Deptno = 20
RETURNING SUM(Sal) INTO :Dept20SalSum;

5 rows updated.
SQL> PRINT Dept20SalSum;
DEPT20SALSUM
-----------15875
SQL> cl scr
SQL> ROLLBACK;
Rollback complete.
SQL> SELECT Ename, Sal, Deptno
2 FROM Emp
3 WHERE Deptno = 20;
ENAME
SAL
DEPTNO
---------- ---------- ---------JONES
2975
20
FORD
3000
20
SMITH
800
20
SCOTT
3000
20
ADAMS
1100
20
SQL> cl scr
SQL> CREATE TABLE MyBonus
2 (

3
Empno NUMBER,
4
Bonus NUMBER DEFAULT 100
5
);
CREATE TABLE MyBonus
*
ERROR at line 1:
ORA-00955: name is already used by an existing object

SQL> DROP PRCEDURE MyBonus;


DROP PRCEDURE MyBonus
*
ERROR at line 1:
ORA-00950: invalid DROP option

SQL> DROP PROCEDURE MyBonus;


Procedure dropped.
SQL> PURGE RECYCLEBIN;
Recyclebin purged.
SQL> cl scr
SQL> CREATE TABLE MyBonus
2 (
3
Empno NUMBER,
4
Bonus NUMBER DEFAULT 100
5
);
Table created.
SQL> SELECT * FROM MyBonus;
no rows selected
SQL> INSERT INTO MyBonus(Empno)
2 (SELECT E.Empno
3
FROM Emp E
4
WHERE Job = 'SALESMAN');
4 rows created.
SQL> SELECT * FROM MyBonus;
EMPNO
BONUS
---------- ---------7654
100
7499
100
7844
100
7521
100
SQL> SELECT Empno, Sal, Deptno
2
FROM Emp
3
WHERE Deptno = 30;

EMPNO
SAL
DEPTNO
---------- ---------- ---------7698
2850
30
7654
1250
30
7499
1600
30
7844
1500
30
7900
950
30
7521
1250
30
6 rows selected.
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15

MERGE INTO MyBonus B


USING (SELECT Empno, Sal, Deptno
FROM Emp
WHERE Deptno = 30) S
ON (B.Empno = S.Empno)
WHEN MATCHED THEN
UPDATE
SET B.Bonus = B.Bonus + S.Sal * 0.1
DELETE
WHERE (S.Sal > 4000)
WHEN NOT MATCHED THEN
INSERT(B.Empno, B.Bonus)
VALUES(S.Empno, S.Sal * 0.1)
WHERE(S.Sal <= 4000)
/

6 rows merged.
SQL> SELECT * FROM MyBonus;
EMPNO
BONUS
---------- ---------7654
225
7499
260
7844
250
7521
225
7698
285
7900
95
6 rows selected.
SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)
2 VALUES(1234, 'SAMPLE01', 30, 3750);
1 row created.
SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)
2 VALUES(1235, 'SAMPLE02', 30, 4050);
1 row created.
SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)
2 VALUES(1236, 'SAMPLE03', 30, 3550);
1 row created.

SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)


2 VALUES(1237, 'SAMPLE04', 30, 4250);
1 row created.
SQL>
2
3
4

UPDATE Emp
SET
Sal = Sal + 2000
WHERE Empno = 7698;

1 row updated.
SQL>
2
3
4

UPDATE Emp
SET
Sal = Sal + 2700
WHERE Empno = 7499;

1 row updated.
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15

MERGE INTO MyBonus B


USING (SELECT Empno, Sal, Deptno
FROM Emp
WHERE Deptno = 30) S
ON (B.Empno = S.Empno)
WHEN MATCHED THEN
UPDATE
SET B.Bonus = B.Bonus + S.Sal * 0.1
DELETE
WHERE (S.Sal > 4000)
WHEN NOT MATCHED THEN
INSERT(B.Empno, B.Bonus)
VALUES(S.Empno, S.Sal * 0.1)
WHERE(S.Sal <= 4000)
/

8 rows merged.
SQL> SELECT * FROM MyBonus;
EMPNO
BONUS
---------- ---------7654
350
7844
400
7521
350
7900
190
1236
355
1234
375
6 rows selected.
SQL> cl scr
SQL> DELETE FROM Emp;
18 rows deleted.

SQL> SELECT * FROM Emp;


no rows selected
SQL> ROLLBACK;
Rollback complete.
SQL> SELECT * FROM Emp;
EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7839 KING
PRESIDENT
17-NOV-81
5000
10
7698 BLAKE
30

MANAGER

7839 01-MAY-81

2850

7782 CLARK
10

MANAGER

7839 09-JUN-81

2450

EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7566 JONES
MANAGER
7839 02-APR-81
2975
20
7654 MARTIN
30

SALESMAN

7698 28-SEP-81

1250

1400

7499 ALLEN
30

SALESMAN

7698 20-FEB-81

1600

300

EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7844 TURNER
SALESMAN
7698 08-SEP-81
1500
0
30
7900 JAMES
30

CLERK

7698 03-DEC-81

950

7521 WARD
30

SALESMAN

7698 22-FEB-81

1250

500

EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7902 FORD
ANALYST
7566 03-DEC-81
3000

20
7369 SMITH
20

CLERK

7902 17-DEC-80

800

7788 SCOTT
20

ANALYST

7566 09-DEC-82

3000

EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7876 ADAMS
CLERK
7788 12-JAN-83
1100
20
7934 MILLER
10

CLERK

7782 23-JAN-82

1300

14 rows selected.
SQL> cl scr
SQL> DELETE Emp;
14 rows deleted.
SQL> ROLLBACK;
Rollback complete.
SQL> DELETE FROM Emp
2 WHERE Deptno = 30;
6 rows deleted.
SQL> ROLLBACK;
Rollback complete.
SQL> DELETE FROM Emp
2 WHERE Deptno = (
3
SELECT Deptno
4
FROM Dept
5
WHERE Dname = 'SALES'
6
);
6 rows deleted.
SQL> DELETE FROM Emp
2 WHERE Deptno = 10;
DELETE FROM Emp
*
ERROR at line 1:
ORA-02292: integrity constraint (SCOTT.EMP_SELF_KEY) violated - child record
found

SQL> SPOOL OFF


SQL> cl scr
SQL> CREATE TABLE ExamTimeTable
2 (
3
ExamName VARCHAR2(30),
4
ExamTime
VARCHAR2(12),
5
CONSTRAINT ExamNamePK PRIMARY KEY(ExamName)
6
);
Table created.
SQL> SELECT * FROM ExamTimeTable;
no rows selected
SQL> INSERT INTO ExamTimeTable
2 VALUES ('PHYSICAL SCIENCES' , '9:00 AM');
1 row created.
SQL>
2
3
4
5
6
7
8
9
10
11
12

MERGE INTO ExamTimeTable E1


USING ExamTimeTable E2
ON
(E2.ExamName = E1.ExamName AND
E1.ExamName = 'PHYSICAL SCIENCES')
WHEN MATCHED THEN
UPDATE
SET E1.ExamTime = '10:30 AM'
WHEN NOT MATCHED THEN
INSERT(E1.ExamName, E1.ExamTime)
VALUES('PHYSICAL SCIENCES' , '10:30 AM')
/

1 row merged.
SQL> SELECT * FROM ExamTimeTable;
EXAMNAME
EXAMTIME
------------------------------ -----------PHYSICAL SCIENCES
10:30 AM
SQL>
2
3
4
5
6
7
8
9
10

MERGE INTO ExamTimeTable E1


USING ExamTimeTable E2
ON
(E2.ExamName = E1.ExamName AND
E1.ExamName = 'CHEMICAL SCIENCES')
WHEN MATCHED THEN
UPDATE SET E1.ExamTime = '12:30 PM'
WHEN NOT MATCHED THEN
INSERT(E1.ExamName, E1.ExamTime )
VALUES('CHEMICAL SCIENCES' , '12:30 PM');

1 row merged.

SQL> SELECT * FROM ExamTimeTable;


EXAMNAME
-----------------------------PHYSICAL SCIENCES
CHEMICAL SCIENCES

EXAMTIME
-----------10:30 AM
12:30 PM

SQL> SPOOL OFF


SQL> cl scr
SQL> SELECT Ename, Sal, Deptno, Job
2 FROM Emp;
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------KING
5000
10 PRESIDENT
BLAKE
2850
30 MANAGER
CLARK
2450
10 MANAGER
JONES
2975
20 MANAGER
MARTIN
1250
30 SALESMAN
ALLEN
1600
30 SALESMAN
TURNER
1500
30 SALESMAN
JAMES
950
30 CLERK
WARD
1250
30 SALESMAN
FORD
3000
20 ANALYST
SMITH
800
20 CLERK
ENAME
SAL
DEPTNO JOB
---------- ---------- ---------- --------SCOTT
3000
20 ANALYST
ADAMS
1100
20 CLERK
MILLER
1300
10 CLERK
14 rows selected.
SQL> SELECT * FROM Dept;
DEPTNO
---------10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SQL> INSERT INTO Dept


2 VALUES(50, 'SHIPPING', 'CHENNAI');
1 row created.
SQL> INSERT INTO Dept
2 VALUES(60, 'CARGO', 'MUMBAI');
1 row created.
SQL> SELECT * FROM Dept;

DEPTNO
---------10
20
30
40
50
60

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
SHIPPING
CARGO

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
CHENNAI
MUMBAI

6 rows selected.
SQL> DELETE FROM Dept
2 WHERE Deptno = 60;
1 row deleted.
SQL> DELETE FROM Emp
2 WHERE Ename = 'SMITH';
1 row deleted.
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> SELECT * FROM Dept;
DEPTNO
---------10
20
30
40
SQL>
SQL>
SQL>
SQL>
EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

COLUMN
COLUMN
COLUMN
SELECT

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

Empno FORMAT 9999


MGR FORMAT 9999
Deptno FORMAT 99
* FROm Emp;

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
MGR HIREDATE
SAL
COMM DEPTNO
--------- ----- --------- ---------- ---------- -----PRESIDENT
17-NOV-81
5000
10
MANAGER
7839 01-MAY-81
2850
30
MANAGER
7839 09-JUN-81
2450
10
MANAGER
7839 02-APR-81
2975
20
SALESMAN
7698 28-SEP-81
1250
1400
30
SALESMAN
7698 20-FEB-81
1600
300
30
SALESMAN
7698 08-SEP-81
1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81
1250
500
30
ANALYST
7566 03-DEC-81
3000
20
CLERK
7902 17-DEC-80
800
20

EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM DEPTNO
----- ---------- --------- ----- --------- ---------- ---------- ------

7788 SCOTT
7876 ADAMS
7934 MILLER

ANALYST
CLERK
CLERK

7566 09-DEC-82
7788 12-JAN-83
7782 23-JAN-82

14 rows selected.
SQL> cl scr
SQL>
USER
SQL>
2

SHOW USER
is "SCOTT"
GRANT SELECT, INSERT, UPDATE, DELETE
ON Dept TO SampTR;

Grant succeeded.
SQL> SELECT * FROM Dept;
DEPTNO
-----10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SQL> INSERT INTO Dept


2 VALUES(50, 'SHIPPING', 'CHENNAI');
1 row created.
SQL> SELECT * FROM Dept;
DEPTNO
-----10
20
30
40
50

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
SHIPPING

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
CHENNAI

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
SHIPPING

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
CHENNAI

SQL> /
DEPTNO
-----10
20
30
40
50

SQL> SELECT * FROM Dept;


DEPTNO
-----10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

3000
1100
1300

20
20
10

50 SHIPPING

CHENNAI

SQL> INSERT INTO Dept


2 VALUES(60, 'CARGO', 'MUMBAI');
INSERT INTO Dept
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.DEPT_PRIMARY_KEY) violated

SQL> SELECT * FROM Dept;


DEPTNO
-----10
20
30
40
60
50

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
CARGO
SHIPPING

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
MUMBAI
CHENNAI

6 rows selected.
SQL> ROLLBACK;
Rollback complete.
SQL> SELECT * FROM Dept;
DEPTNO
-----10
20
30
40
60

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
CARGO

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
MUMBAI

SQL> cl scr
SQL> COMMIT;
Commit complete.
SQL> cl scr
SQL> SELECT * FROm Dept;
DEPTNO
-----10
20
30
40
60
50

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
CARGO
SHIPPING

6 rows selected.

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
MUMBAI
CHENNAI

SQL> SAVEPOINT DeptDel01;


Savepoint created.
SQL> DELETE FROM Dept
2 WHERE Deptno = 60;
1 row deleted.
SQL> SAVEPOINT DeptDel02;
Savepoint created.
SQL> DELETE FROM Dept
2 WHERE Deptno = 50;
1 row deleted.
SQL> SAVEPOINT EmpIns01;
Savepoint created.
SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)
2 VALUES(1234, 'SAMPLE01', 30, 2000);
1 row created.
SQL> SAVEPOINT EmpDel02;
Savepoint created.
SQL> DELETE FROM Emp
2 WHERE Ename = 'SMITH';
1 row deleted.
SQL> ROLLBACK TO SAVEPOINT EmpDel02;
Rollback complete.
SQL> ROLLBACK TO SAVEPOINT DeptDel02;
Rollback complete.
SQL> cl scr
SQL> CREATE TABLE SampleALT
2 (
3
SampID NUMBER(2)
4
CONSTRAINT SampleALT-SampID-PK PRIMARY KEY
5
SQL> ED
Wrote file afiedt.buf
1
2

CREATE TABLE SampleALT


(

3
SampID NUMBER(2)
4* CONSTRAINT SampleALT_SampID_PK PRIMARY KEY
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

CREATE TABLE SampleALT


(
SampID NUMBER(2)
CONSTRAINT SampleALT_SampID_PK PRIMARY KEY
)
/

Table created.
SQL>
2
3
4
5
6
7

ALTER TABLE SampleALT


ADD
(
SampName VARCHAR2(10)
CONSTRAINT SampleALT_SampName_NN NOT NULL,
SampDate DATE
);

Table altered.
SQL> cl scr
SQL> DROP TABLE SampleALT;
Table dropped.
SQL> SELECT * FROm TAB;
TNAME
-----------------------------EMP_SUM
MYSUBTOT
MYBONUS
MYMASTERDF
DEPT10
INSERTDEPT
EDEPT30
EXAMTIMETABLE
BIN$VxL2g13AQcO02YkDCYGTyw==$0
SAMPF
DEPT

TABTYPE CLUSTERID
------- ---------TABLE
TABLE
TABLE
TABLE
TABLE
VIEW
VIEW
TABLE
TABLE
TABLE
TABLE

TNAME
-----------------------------EMP
BONUS
SALGRADE
DUMMY
CUSTOMER
ORD
ITEM
PRODUCT
PRICE

TABTYPE CLUSTERID
------- ---------TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE

SALES

VIEW

21 rows selected.
SQL> PURGE RECYCLEBIN;
Recyclebin purged.
SQL> SELECT * FROm TAB;
TNAME
-----------------------------EMP_SUM
MYSUBTOT
MYBONUS
MYMASTERDF
DEPT10
INSERTDEPT
EDEPT30
EXAMTIMETABLE
SAMPF
DEPT
EMP

TABTYPE CLUSTERID
------- ---------TABLE
TABLE
TABLE
TABLE
TABLE
VIEW
VIEW
TABLE
TABLE
TABLE
TABLE

TNAME
-----------------------------BONUS
SALGRADE
DUMMY
CUSTOMER
ORD
ITEM
PRODUCT
PRICE
SALES

TABTYPE CLUSTERID
------- ---------TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
VIEW

20 rows selected.
SQL> cl scr
SQL> SELECT * FROM Emp;
EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

EMPNO ENAME

JOB
MGR HIREDATE
SAL
COMM DEPTNO
--------- ----- --------- ---------- ---------- -----PRESIDENT
17-NOV-81
5000
10
MANAGER
7839 01-MAY-81
2850
30
MANAGER
7839 09-JUN-81
2450
10
MANAGER
7839 02-APR-81
2975
20
SALESMAN
7698 28-SEP-81
1250
1400
30
SALESMAN
7698 20-FEB-81
1600
300
30
SALESMAN
7698 08-SEP-81
1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81
1250
500
30
ANALYST
7566 03-DEC-81
3000
20
CLERK
7902 17-DEC-80
800
20
JOB

MGR HIREDATE

SAL

COMM DEPTNO

----7788
7876
7934

---------SCOTT
ADAMS
MILLER

--------- ----- --------- ---------- ---------- -----ANALYST


7566 09-DEC-82
3000
20
CLERK
7788 12-JAN-83
1100
20
CLERK
7782 23-JAN-82
1300
10

14 rows selected.
SQL> DELETE FROM Emp;
14 rows deleted.
SQL> SELECT * FROM Emp;
no rows selected
SQL> ROLLBACK;
Rollback complete.
SQL> SELECT * FROM Emp;
EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
MGR HIREDATE
SAL
COMM DEPTNO
--------- ----- --------- ---------- ---------- -----PRESIDENT
17-NOV-81
5000
10
MANAGER
7839 01-MAY-81
2850
30
MANAGER
7839 09-JUN-81
2450
10
MANAGER
7839 02-APR-81
2975
20
SALESMAN
7698 28-SEP-81
1250
1400
30
SALESMAN
7698 20-FEB-81
1600
300
30
SALESMAN
7698 08-SEP-81
1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81
1250
500
30
ANALYST
7566 03-DEC-81
3000
20
CLERK
7902 17-DEC-80
800
20

EMPNO
----7788
7876
7934

ENAME
---------SCOTT
ADAMS
MILLER

JOB
MGR HIREDATE
SAL
COMM DEPTNO
--------- ----- --------- ---------- ---------- -----ANALYST
7566 09-DEC-82
3000
20
CLERK
7788 12-JAN-83
1100
20
CLERK
7782 23-JAN-82
1300
10

14 rows selected.
SQL> TRUNCATE TABLE Emp;
Table truncated.
SQL> SELECT * FROM Emp;
no rows selected
SQL> ROLLBACK;
Rollback complete.
SQL> SELECT * FROM Emp;

no rows selected
SQL> cl scr

SQL> cl scr
SQL> DESC Emp
Name
----------------------------------------EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO

Null?
Type
-------- ---------------------------NOT NULL NUMBER(4)
VARCHAR2(10)
VARCHAR2(9)
NUMBER(4)
DATE
NUMBER(7,2)
NUMBER(7,2)
NOT NULL NUMBER(2)

SQL> COMMENT ON TABLE Emp


2 IS 'This Table Stores Employees Information';
Comment created.
SQL> COMMNET ON COLUMN Emp.Ename
SP2-0734: unknown command beginning "COMMNET ON..." - rest of line ignored.
SQL> COMMENT ON COLUMN Emp.Ename
2 IS 'This Column Stores The Information for Employee Names';
Comment created.
SQL> COMMENT ON COLUMN Emp.Ename
2 IS '';
Comment created.
SQL> SPOOL OFF
SQL> cl scr

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> CREATE TABLE SampDept


2 AS
3 SELECT * FROM Dept
4 /
Table created.
SQL> DESC Dept
Name
Null? Type
----------------------------------------- -------- ---------------------------DEPTNO
NOT NULL NUMBER(2)
DNAME
VARCHAR2(14)
LOC
VARCHAR2(13)
SQL> DESC SampDept
Name
Null? Type
----------------------------------------- -------- ---------------------------DEPTNO
NOT NULL NUMBER(2)
DNAME
VARCHAR2(14)
LOC
VARCHAR2(13)
SQL> SELECT * FROM SampDept;
DEPTNO DNAME
LOC
---------- -------------- ------------10 ACCOUNTING
NEW YORK
20 RESEARCH
DALLAS
30 SALES
CHICAGO
40 OPERATIONS
BOSTON
SQL> CREATE TABLE SampDept1(
2
3
4
5
6 AS
7 SELECT * FROM Dept
8 /

DeptID,
DeptName,
Place
)

Table created.
SQL> DESC SampDept1
Name
Null? Type
----------------------------------------- -------- ---------------------------DEPTID
NOT NULL NUMBER(2)
DEPTNAME
VARCHAR2(14)
PLACE
VARCHAR2(13)
SQL> SELECT * FROM SampDept1;
DEPTID DEPTNAME
PLACE
---------- -------------- ------------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

10
20
30
40

ACCOUNTING
NEW YORK
RESEARCH
DALLAS
SALES
CHICAGO
OPERATIONS
BOSTON

SQL> CREATE TABLE SampDept2


2 AS
3 SELECT Deptno, Dname
4 FROM Dept
5 /
Table created.
SQL> DESC SampDept2
Name
Null? Type
----------------------------------------- -------- ---------------------------DEPTNO
NOT NULL NUMBER(2)
DNAME
VARCHAR2(14)
SQL> CREATE TABLE SampDept3
2 AS
3 SELECT * FROM Dept
4 WHERE 1 = 2
5 /
Table created.
SQL> DESC SampDept3
Name
Null? Type
----------------------------------------- -------- ---------------------------DEPTNO
NOT NULL NUMBER(2)
DNAME
VARCHAR2(14)
LOC
VARCHAR2(13)
SQL> SELECT * FROM SampDept3;
no rows selected
SQL> CREATE TABLE SampleTablePart
2 (
3 SampID NUMBER(4)
4 CONSTRAINT SampIDPK PRIMARY KEY,
5 SampName VARCHAR2(20)
6 CONSTRAINT SampNameNN NOT NULL
7 CONSTRAINT SampNameCHK
8 CHECK(SampName = UPPER(SampName)),
9 SampDate DATE DEFAULT SYSDATE
10 CONSTRAINT SampdateNN NOT NULL,
11 SampDesc VARCHAR2(4000)
12 DEFAULT 'NOT PROVIDED'
13 )
14 PARTITION BY RANGE(SampID)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

15 (
16 PARTITION SampIDPart1
17 VALUES LESS THAN (500),
18 PARTITION SampIDPart2
19 VALUES LESS THAN (1000),
20 PARTITION SampIDPart3
21 VALUES LESS THAN (2000),
22 PARTITION SampIDPart4
23 VALUES LESS THAN (3000),
24 PARTITION SampIDPart5
25 VALUES LESS THAN (4000),
26 PARTITION SampIDPart6
27 VALUES LESS THAN (MAXVALUE)
28 );
Table created.
SQL> cl scr
CREATE TABLE EmpTableHash
(
EmpNo NUMBER(6)
CONSTRAINT EmpNOPK PRIMARY KEY,
EName VARCHAR2(20)
DEFAULT 'NOT PROVIDED'
CONSTRAINT ENameNN NOT NULL
CONSTRAINT ENameCHK CHECK(EName = UPPER(EName)),
Job VARCHAR2(30)
DEFAULT 'NOT MENTIONED'
CONSTRAINT SampdateNN NOT NULL
CONSTRAINT JobCHKUpper CHECK(Job = UPPER(Job))
CONSTRAINT JobCHKList CHECK
(
Job IN
(
'PRESIDENT',
'ANALYST',
'MANAGER',
'SALESMAN',
'CLERK'
)
),
DeptNo NUMBER(2)
CONSTRAINT DeptnoCHKRange
CHECK(DeptNo BETWEEN 10 AND 99)
CONSTRAINT DeptnoCHKList
CHECK(DeptNo IN(10, 20, 30, 40, 50, 60, 70, 80, 90)),
MGRID NUMBER(6)
CONSTRAINT MGRIDFKSelf
REFERENCES EmpTableHash(EmpNo)
ON DELETE SET NULL,
HireDate DATE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

DEFAULT SYSDATE
CONSTRAINT HireDateNN NOT NULL,
Sal NUMBER(8,2)
DEFAULT 10000
CONSTRAINT SalNN NOT NULL
CONSTRAINT SalChkRange CHECK(Sal BETWEEN 10000 AND 150000),
Comm NUMBER(7,2)
DEFAULT NULL
CONSTRAINT CommNN NOT NULL
CONSTRAINT CommChkRange CHECK(Comm BETWEEN 0 AND 25000),
CONSTRAINT DeptNOFKHASH
FOREIGN KEY(DeptNo)
REFERENCES Dept(Deptno)
ON DELETE CASCADE,
CONSTRAINT TotalSalaryCHK
CHECK(Sal + Comm <= 175000)
)
PARTITION BY HASH(DeptNO)
PARTITIONS 9
CREATE TABLE EmpSampleList1
(
EmpNo NUMBER(6)
CONSTRAINT EmpNOPK1 PRIMARY KEY,
EName VARCHAR2(20)
DEFAULT 'NOT PROVIDED'
CONSTRAINT ENameNN1 NOT NULL
CONSTRAINT ENameCHK1
CHECK(EName = UPPER(EName)),
Job VARCHAR2(30)
DEFAULT 'NOT MENTIONED'
CONSTRAINT SampdateNN1 NOT NULL
CONSTRAINT JobCHKUpper1
CHECK(Job = UPPER(Job))
CONSTRAINT JobCHKList1 CHECK
CONSTRAINT JobCHKList CHECK
(
Job IN
(
'PRESIDENT',
'ANALYST',
'MANAGER',
'SALESMAN',
'CLERK'
)
),
DeptNo NUMBER(2)
CONSTRAINT DeptnoCHKRange1
CHECK(DeptNo BETWEEN 10 AND 99)
CONSTRAINT DeptnoCHKList1
CHECK(DeptNo IN(10,20,30,40,50,60,70,80,90)),
MGRID NUMBER(6)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

CONSTRAINT MGRIDFKSelf1
REFERENCES EmpSampleList(EmpNo)
ON DELETE SET NULL,
HireDate DATE
DEFAULT SYSDATE
CONSTRAINT HireDateNN1 NOT NULL,
Sal NUMBER(8,2)
DEFAULT 10000
CONSTRAINT SalNN1 NOT NULL
CONSTRAINT SalChkRange1
CHECK(Sal BETWEEN 10000 AND 150000),
Comm NUMBER(7,2)
DEFAULT NULL
CONSTRAINT CommNN1 NOT NULL
CONSTRAINT CommChkRange1
CHECK(Comm BETWEEN 0 AND 25000),
CONSTRAINT DeptNOFKHASH1
FOREIGN KEY(DeptNo)
REFERENCES Dept(Deptno)
ON DELETE CASCADE,
CONSTRAINT TotalSalaryCHK1
CHECK(Sal + Comm <= 175000)
)
PARTITION BY LIST(Job)
(
PARTITION JPresident
VALUES('PRESIDENT'),
PARTITION JAnalyst
VALUES('ANALYST'),
PARTITION JManager
VALUES('MANAGER'),
PARTITION JSalesman
VALUES('SALESMAN'),
PARTITION JClerk
VALUES('CLERK')
);
CREATE TABLE EmpSampleList
(
EmpNo NUMBER(6)
CONSTRAINT EmpNOPK PRIMARY KEY,
EName VARCHAR2(20)
DEFAULT 'NOT PROVIDED'
CONSTRAINT ENameNN NOT NULL
CONSTRAINT ENameCHK
CHECK(EName = UPPER(EName)),
Job VARCHAR2(30)
DEFAULT 'NOT MENTIONED'
CONSTRAINT SampdateNN NOT NULL
CONSTRAINT JobCHKUpper
CHECK(Job = UPPER(Job))
CONSTRAINT JobCHKList CHECK
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

CONSTRAINT JobCHKList CHECK


(
Job IN
(
'PRESIDENT',
'ANALYST',
'MANAGER',
'SALESMAN',
'CLERK'
)
),
DeptNo NUMBER(2)
CONSTRAINT DeptnoCHKRange
CHECK(DeptNo BETWEEN 10 AND 99)
CONSTRAINT DeptnoCHKList
CHECK(DeptNo IN(10,20,30,40,50,60,70,80,90)),
MGRID NUMBER(6)
CONSTRAINT MGRIDFKSelf
REFERENCES EmpSampleList(EmpNo)
ON DELETE SET NULL,
HireDate DATE
DEFAULT SYSDATE
CONSTRAINT HireDateNN NOT NULL,
Sal NUMBER(8, 2)
DEFAULT 10000
CONSTRAINT SalNN NOT NULL
CONSTRAINT SalChkRange
CHECK(Sal BETWEEN 10000 AND 150000),
Comm NUMBER(7, 2)
DEFAULT NULL
CONSTRAINT CommNN NOT NULL
CONSTRAINT CommChkRange
CHECK(Comm BETWEEN 0 AND 25000),
CONSTRAINT DeptNOFKHASH
FOREIGN KEY(DeptNo)
REFERENCES Dept(Deptno)
ON DELETE CASCADE,
CONSTRAINT TotalSalaryCHK
CHECK(Sal + Comm <= 175000)
)
PARTITION BY LIST(Job)
(
PARTITION JPartList1
VALUES(
'PRESIDENT',
'ANALYST'
),
PARTITION JPartList2
VALUES(
'MANAGER',
'SALESMAN',
'CLERK'
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

)
);
CREATE TABLE EmpSampleSubPart
(
EmpNo NUMBER(6)
CONSTRAINT EmpNOPK2 PRIMARY KEY,
EName VARCHAR2(20)
DEFAULT 'NOT PROVIDED'
CONSTRAINT ENameNN2 NOT NULL
CONSTRAINT ENameCHK2
CHECK(EName = UPPER(EName)),
Job VARCHAR2(30)
DEFAULT 'NOT MENTIONED'
CONSTRAINT SampdateNN2 NOT NULL
CONSTRAINT JobCHKUpper2
CHECK(Job = UPPER(Job))
CONSTRAINT JobCHKList2
CONSTRAINT JobCHKList CHECK
(
Job IN
(
'PRESIDENT',
'ANALYST',
'MANAGER',
'SALESMAN',
'CLERK'
)
),
DeptNo NUMBER(2) CONSTRAINT
DeptnoCHKRange2 CHECK(DeptNo BETWEEN 10 AND 99)
CONSTRAINT DeptnoCHKList2
CHECK(DeptNo IN(10,20,30,40,50,60,70,80,90)),
MGRID NUMBER(6)
CONSTRAINT MGRIDFKSelf2
REFERENCES EmpSampleSubPart(EmpNo)
ON DELETE SET NULL,
HireDate DATE
DEFAULT SYSDATE
CONSTRAINT HireDateNN2 NOT NULL,
Sal NUMBER(8, 2)
DEFAULT 10000
CONSTRAINT SalNN2 NOT NULL
CONSTRAINT SalChkRange2
CHECK(Sal BETWEEN 10000 AND 150000),
Comm NUMBER(7, 2)
DEFAULT NULL
CONSTRAINT CommNN2 NOT NULL
CONSTRAINT CommChkRange2
CHECK(Comm BETWEEN 0 AND 25000),
CONSTRAINT DeptNOFKSubPart2
FOREIGN KEY(DeptNo)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

REFERENCES Dept(Deptno)
ON DELETE CASCADE,
CONSTRAINT TotalSalaryCHK2
CHECK(Sal + Comm <= 175000)
)
PARTITION BY RANGE(Ename)
SUBPARTITION BY HASH(Job)
SUBPARTITIONS 5
(
PARTITION NameP1
VALUES LESS THAN('G'),
PARTITION NAMEP2
VALUES LESS THAN('N'),
PARTITION NAMEP3
VALUES LESS THAN('T'),
PARTITION NAMEP4
VALUES LESS THAN(MAXVALUE)
)
/
ALTER TABLE SampleTablePart
SPLIT PARTITION SampIDPart6
AT(5000)
INTO(
PARTITION SampIDPart6,
PARTITION SampIDPart7
)
/
ALTER TABLE EmpSampleList
SPLIT PARTITION JPartList2
VALUES(
'MANAGER',
'SALESMAN'
)
INTO(
PARTITION MANAGER,
PARTITION SALESMAN
)
/
ALTER TABLE EmpSampleList
MERGE
PARTITIONS
MANAGER,
SALESMAN
INTO
PARTITION
JPARTLIST2
/
ALTER TABLE SampleTablePart
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

MERGE
PARTITIONS
SampIDPart6,
SampIDPart7
INTO
PARTITION
SampIDPart7
/

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> SET VERIFY OFF
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11

CREATE OR REPLACE TYPE Student


AS
OBJECT
(
Studid
NUMBER(6)
,Sname
VARCHAR2(20)
,DOB
DATE
,DOA
DATE
,FEES
NUMBER(7, 2)
);
/

Type created.
SQL> DESC USER_OBJECTS
Name
Null?
----------------------------------------- -------OBJECT_NAME
SUBOBJECT_NAME
OBJECT_ID
DATA_OBJECT_ID
OBJECT_TYPE
CREATED
LAST_DDL_TIME
TIMESTAMP
STATUS
TEMPORARY
GENERATED
SECONDARY
SQL>
SQL>
SQL>
SQL>
2

Type
---------------------------VARCHAR2(128)
VARCHAR2(30)
NUMBER
NUMBER
VARCHAR2(19)
DATE
DATE
VARCHAR2(19)
VARCHAR2(7)
VARCHAR2(1)
VARCHAR2(1)
VARCHAR2(1)

COLUMN OBJECT_NAME FORMAT A10


COLUMN OBJECT_TYPE FORMAT A10
COLUMN OBJECT_ID FORMAT 9999999999999999
SELECT OBJECT_ID, OBJECT_TYPE, OBJECT_NAME, CREATED
FROM USER_OBJECTS;

OBJECT_ID OBJECT_TYP OBJECT_NAM CREATED


----------------- ---------- ---------- --------52594 TYPE
STUDENT
29-JUL-10
SQL>
2
3
SQL>
SQL>

SELECT OBJECT_ID, DATA_OBJECT_ID, OBJECT_TYPE, OBJECT_NAME, CREATED


FROM USER_OBJECTS
COLUMN OBJECT_ID FORMAT 999999
/

OBJECT_ID DATA_OBJECT_ID OBJECT_TYP OBJECT_NAM CREATED


--------- -------------- ---------- ---------- --------52594
TYPE
STUDENT
29-JUL-10
SQL> DESC USER_TYPES
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Name
----------------------------------------TYPE_NAME
TYPE_OID
TYPECODE
ATTRIBUTES
METHODS
PREDEFINED
INCOMPLETE
FINAL
INSTANTIABLE
SUPERTYPE_OWNER
SUPERTYPE_NAME
LOCAL_ATTRIBUTES
LOCAL_METHODS
TYPEID

Null?
-------NOT NULL
NOT NULL

Type
---------------------------VARCHAR2(30)
RAW(16)
VARCHAR2(30)
NUMBER
NUMBER
VARCHAR2(3)
VARCHAR2(3)
VARCHAR2(3)
VARCHAR2(3)
VARCHAR2(30)
VARCHAR2(30)
NUMBER
NUMBER
RAW(16)

SQL> COLUMN TYPE_NAME FORMAT A10


SQL> COLUMN ATTRIBUTES FORMAT 999
SQL> COLUMN TYPE_OID FORMAT A15
SQL> COLUMN TYPE_CODE FORMAT A15
SQL> SELECT TYPE_NAME, ATTRIBUTES, TYPE_OID, TYPE_CODE
2 FROM USER_TYPES;
SELECT TYPE_NAME, ATTRIBUTES, TYPE_OID, TYPE_CODE
*
ERROR at line 1:
ORA-00904: "TYPE_CODE": invalid identifier

SQL> ED
Wrote file afiedt.buf
1 SELECT TYPE_NAME, ATTRIBUTES, TYPE_OID
2* FROM USER_TYPES
SQL> ED
Wrote file afiedt.buf
1 SELECT TYPE_NAME, ATTRIBUTES, TYPE_OID
2* FROM USER_TYPES
SQL> /
TYPE_NAME ATTRIBUTES TYPE_OID
---------- ---------- --------------STUDENT
5 1E74881F216B4EF
E95ECA63DD27F72
E7

SQL> cl scr
SQL> DESC Student
Name
Null?
Type
----------------------------------------- -------- ---------------------------STUDID
NUMBER(6)
SNAME
VARCHAR2(20)
DOB
DATE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

DOA
FEES

DATE
NUMBER(7,2)

SQL> INSERT INTO Student


2 VALUES(1, 'SAMPLE01', SYSDATE, SYSDATE, 25000);
INSERT INTO Student
*
ERROR at line 1:
ORA-04044: procedure, function, package, or type is not allowed here

SQL> cl scr
SQL> CREATE TABLE McaStudent
2 OF Student;
Table created.
SQL> DESC Student
Name
Null?
----------------------------------------- -------STUDID
SNAME
DOB
DOA
FEES

Type
---------------------------NUMBER(6)
VARCHAR2(20)
DATE
DATE
NUMBER(7,2)

SQL> DESC McaStudent


Name
Null?
----------------------------------------- -------STUDID
SNAME
DOB
DOA
FEES

Type
---------------------------NUMBER(6)
VARCHAR2(20)
DATE
DATE
NUMBER(7,2)

SQL> INSERT INTO McaStudent


2 VALUES(1234, 'KUMAR', '07-OCT-98', SYSDATE, 15000);
1 row created.
SQL> INSERT INTO McaStudent(StudID, SName)
2 VALUES(1235, 'KRISHNA');
1 row created.
SQL> INSERT INTO McaStudent
2 VALUES(
3
Student(
4
1236,
5
'SATISH',
6
'05-SEP-99',
7
SYSDATE,
8
1300
9
)
10
);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1 row created.
SQL> COLUMN SName FORMAT A12
SQL> COLUMN StudID FORMAT 9999
SQL> cl scr
SQL> SELECT * FROM MCAStudent;
STUDID
-----1234
1235
1236

SNAME
-----------KUMAR
KRISHNA
SATISH

DOB
DOA
FEES
--------- --------- ---------07-OCT-98 29-JUL-10
15000
05-SEP-99 29-JUL-10

1300

SQL> SELECT StudID, Sname


2 FROM McaStudent;
STUDID
-----1234
1235
1236

SNAME
-----------KUMAR
KRISHNA
SATISH

SQL> SELECT StudID, Sname


2 FROM McaStudent
3 WHERE StudID = 1234;
STUDID SNAME
------ -----------1234 KUMAR
SQL> UPDATE McaStudent
2 SET Sname = 'SRI RAM'
3 WHERE StudID = 1234;
1 row updated.
SQL> SELECT StudID, Sname
2 FROM McaStudent
3 WHERE StudID = 1234;
STUDID SNAME
------ -----------1234 SRI RAM
SQL> DELETE FROM McaStudent
2 WHERE StudID = 1234;
1 row deleted.
SQL> SELECT StudID, Sname
2 FROM McaStudent
3 WHERE StudID = 1234;
no rows selected
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> DELETE FROM

McaStudent;

2 rows deleted.
SQL> SELECT StudID, Sname
2 FROM McaStudent;
no rows selected
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13

CREATE OR REPLACE TYPE Address


AS
OBJECT
(
HouseNum
VARCHAR2(15)
,Street
VARCHAR2(20)
,City
VARCHAR2(20)
,District
VARCHAR2(20)
,State
VARCHAR2(20)
,Country
VARCHAR2(20)
,Pin
CHAR(6)
);
/

Type created.
SQL>
2
3
4
5
6
7
8
9

CREATE OR REPLACE TYPE Name


AS
OBJECT
(
FirstName
VARCHAR2(20)
,MiddleName
VARCHAR2(20)
,LastName
VARCHAR2(20)
);
/

Type created.
SQL>
2
3
4
5
6
7
8
9
10

CREATE OR REPLACE TYPE Person


AS
OBJECT
(
Personid
NUMBER(6)
,PersonFullName
NAME
,PersonDOB
DATE
,PersonAddress
ADDRESS
);
/

Type created.
SQL> CREATE OR REPLACE TYPE Fees
2 AS
3 OBJECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4
5
6
7
8
9
10
11
12
13
14

(
TutionFees
,LabFees
,SportsFees
,LibraryFees
,ExamFees
,TransportFees
,HostelFees
,MessFees
);
/

NUMBER(8, 2)
NUMBER(6, 2)
NUMBER(6, 2)
NUMBER(6, 2)
NUMBER(6, 2)
NUMBER(7, 2)
NUMBER(8, 2)
NUMBER(8, 2)

Type created.
SQL>
2
3
4
5
6
7
8

CREATE OR REPLACE TYPE StudentColl


AS
OBJECT
(
Student
PERSON
,StudentFees
FEES
);
/

Type created.
SQL> CREATE TABLE MCAStudent
2 OF
3 StudentColl;
CREATE TABLE MCAStudent
*
ERROR at line 1:
ORA-00955: name is already used by an existing object

SQL> DROP TABLE MCAStudent;


Table dropped.
SQL> CREATE TABLE MCAStudent
2 OF
3 StudentColl;
Table created.
SQL> cl scr
SQL> DESC MCAStudent
Name
Null?
----------------------------------------- -------STUDENT
STUDENTFEES

Type
---------------------------PERSON
FEES

SQL> SET DESCRIBE DEPTH 1


SQL> DESC MCAStudent
Name
Null?
Type
----------------------------------------- -------- ---------------------------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

STUDENT
STUDENTFEES

PERSON
FEES

SQL> SET DESCRIBE DEPTH 2


SQL> DESC MCAStudent
Name
Null?
----------------------------------------- -------STUDENT
PERSONID
PERSONFULLNAME
PERSONDOB
PERSONADDRESS
STUDENTFEES
TUTIONFEES
LABFEES
SPORTSFEES
LIBRARYFEES
EXAMFEES
TRANSPORTFEES
HOSTELFEES
MESSFEES

Type
---------------------------PERSON
NUMBER(6)
NAME
DATE
ADDRESS
FEES
NUMBER(8,2)
NUMBER(6,2)
NUMBER(6,2)
NUMBER(6,2)
NUMBER(6,2)
NUMBER(7,2)
NUMBER(8,2)
NUMBER(8,2)

SQL> SET DESCRIBE DEPTH 3


SQL> DESC MCAStudent
Name
Null?
----------------------------------------- -------STUDENT
PERSONID
PERSONFULLNAME
FIRSTNAME
MIDDLENAME
LASTNAME
PERSONDOB
PERSONADDRESS
HOUSENUM
STREET
CITY
DISTRICT
STATE
COUNTRY
PIN
STUDENTFEES
TUTIONFEES
LABFEES
SPORTSFEES
LIBRARYFEES
EXAMFEES
TRANSPORTFEES
HOSTELFEES
MESSFEES

Type
---------------------------PERSON
NUMBER(6)
NAME
VARCHAR2(20)
VARCHAR2(20)
VARCHAR2(20)
DATE
ADDRESS
VARCHAR2(15)
VARCHAR2(20)
VARCHAR2(20)
VARCHAR2(20)
VARCHAR2(20)
VARCHAR2(20)
CHAR(6)
FEES
NUMBER(8,2)
NUMBER(6,2)
NUMBER(6,2)
NUMBER(6,2)
NUMBER(6,2)
NUMBER(7,2)
NUMBER(8,2)
NUMBER(8,2)

SQL> INSERT INTO


2 MCAStudent
3 (
4
Student
5
,StudentFees
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

)
VALUES
(
PERSON(1234, NAME
(
'SATISH', 'KUMAR', 'YELLANKI'
)
,'02-OCT-86'
,ADDRESS
(
'2-715/B/6'
,'BALKAMPET ROAD'
,'HYDERABAD'
,'RANGA REDDY'
,'ANDHRA PRADESH'
,'INDIA'
,'500016'
)
)
,FEES
(
100000
,6000
,2000
,1500
,5000
,20000
,12000
,27000
)
);

1 row created.
SQL> INSERT INTO
2 MCAStudent
3 (
4
Student
5
,StudentFees
6
)
7
VALUES
8
(
9
PERSON(1235, NAME
10
(
11
'RAVI', 'KUMAR', 'SHARMA'
12
)
13
,'03-JAN-86'
14
,ADDRESS
15
(
16
'2-716/B/6'
17
,'SHIVAM ROAD'
18
,'HYDERABAD'
19
,'RANGA REDDY'
20
,'ANDHRA PRADESH'
21
,'INDIA'
22
,'500016'
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

23
24
25
26
27
28
29
30
31
32
33
34
35
36

)
)
,FEES
(
100000
,6000
,2000
,1500
,5000
,20000
,12000
,27000
)
);

1 row created.
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

INSERT INTO
MCAStudent
(
Student
,StudentFees
)
VALUES
(
PERSON(1236, NAME
(
'RAMANA', 'KUMAR', 'RANJAN'
)
,'23-JUN-86'
,ADDRESS
(
'2-716/B/6'
,'GANDHI ROAD'
,'HYDERABAD'
,'RANGA REDDY'
,'ANDHRA PRADESH'
,'INDIA'
,'500016'
)
)
,FEES
(
100000
,6000
,2000
,1500
,5000
,20000
,12000
,27000
)
);

1 row created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> SELECT * FROM MCAStudent;
STUDENT(PERSONID, PERSONFULLNAME(FIRSTNAME, MIDDLENAME, LASTNAME), PERSONDOB, PE
-------------------------------------------------------------------------------STUDENTFEES(TUTIONFEES, LABFEES, SPORTSFEES, LIBRARYFEES, EXAMFEES, TRANSPORTFEE
-------------------------------------------------------------------------------PERSON(1234, NAME('SATISH', 'KUMAR', 'YELLANKI'), '02-OCT-86', ADDRESS('2-715/B/
6', 'BALKAMPET ROAD', 'HYDERABAD', 'RANGA REDDY', 'ANDHRA PRADESH', 'INDIA', '50
0016'))
FEES(100000, 6000, 2000, 1500, 5000, 20000, 12000, 27000)
PERSON(1235, NAME('RAVI', 'KUMAR', 'SHARMA'), '03-JAN-86', ADDRESS('2-716/B/6',
'SHIVAM ROAD', 'HYDERABAD', 'RANGA REDDY', 'ANDHRA PRADESH', 'INDIA', '500016'))
FEES(100000, 6000, 2000, 1500, 5000, 20000, 12000, 27000)

STUDENT(PERSONID, PERSONFULLNAME(FIRSTNAME, MIDDLENAME, LASTNAME), PERSONDOB, PE


-------------------------------------------------------------------------------STUDENTFEES(TUTIONFEES, LABFEES, SPORTSFEES, LIBRARYFEES, EXAMFEES, TRANSPORTFEE
-------------------------------------------------------------------------------PERSON(1236, NAME('RAMANA', 'KUMAR', 'RANJAN'), '23-JUN-86', ADDRESS('2-716/B/6'
, 'GANDHI ROAD', 'HYDERABAD', 'RANGA REDDY', 'ANDHRA PRADESH', 'INDIA', '500016'
))
FEES(100000, 6000, 2000, 1500, 5000, 20000, 12000, 27000)

SQL>
SQL>
SQL>
SQL>
SQL>
2
3
4
5
6
7
8

COLUMN FNAME FORMAT A10


COLUMN Mname FORMAT A10
COLUMN LName FORMAT A10
COLUMN FullName FORMAT A30
SELECT
E1.Student.PersonFullName.FirstName FName,
E1.Student.PersonFullName.MiddleName MName,
E1.Student.PersonFullName.LastName LName,
E1.Student.PersonFullName.FirstName||' '
||E1.Student.PersonFullName.MiddleName||' '
||E1.Student.PersonFullName.LastName FullName
FROM MCAStudent E1;

FNAME
---------SATISH
RAVI
RAMANA
SQL>
2
3
4
5
6
7
8
9

MNAME
---------KUMAR
KUMAR
KUMAR

LNAME
---------YELLANKI
SHARMA
RANJAN

FULLNAME
-----------------------------SATISH KUMAR YELLANKI
RAVI KUMAR SHARMA
RAMANA KUMAR RANJAN

SELECT
E1.Student.PersonFullName.FirstName FName,
E1.Student.PersonFullName.MiddleName MName,
E1.Student.PersonFullName.LastName LName,
E1.Student.PersonFullName.FirstName||' '
||E1.Student.PersonFullName.MiddleName||' '
||E1.Student.PersonFullName.LastName FullName
FROM (
SELECT *
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

10
11

FROM MCAStudent
) E1;

FNAME
---------SATISH
RAVI
RAMANA
SQL>
2
3
4
5
6
7
8
9
10

MNAME
---------KUMAR
KUMAR
KUMAR

LNAME
---------YELLANKI
SHARMA
RANJAN

FULLNAME
-----------------------------SATISH KUMAR YELLANKI
RAVI KUMAR SHARMA
RAMANA KUMAR RANJAN

CREATE OR REPLACE VIEW StudentName


AS
SELECT
E1.Student.PersonFullName.FirstName FName,
E1.Student.PersonFullName.MiddleName MName,
E1.Student.PersonFullName.LastName LName,
E1.Student.PersonFullName.FirstName||' '
||E1.Student.PersonFullName.MiddleName||' '
||E1.Student.PersonFullName.LastName FullName
FROM MCAStudent E1;

View created.
SQL> DESC StudentName
Name
Null?
----------------------------------------- -------FNAME
MNAME
LNAME
FULLNAME

Type
---------------------------VARCHAR2(20)
VARCHAR2(20)
VARCHAR2(20)
VARCHAR2(62)

SQL> SELECT * FROM StudentName;


FNAME
---------SATISH
RAVI
RAMANA

MNAME
---------KUMAR
KUMAR
KUMAR

LNAME
---------YELLANKI
SHARMA
RANJAN

FULLNAME
-----------------------------SATISH KUMAR YELLANKI
RAVI KUMAR SHARMA
RAMANA KUMAR RANJAN

SQL> UPDATE MCAStudent


2 SET
3 FirstName = 'RAGHAVA'
4 WHERE PersonID = 1236;
WHERE PersonID = 1236
*
ERROR at line 4:
ORA-00904: "PERSONID": invalid identifier

SQL> UPDATE MCAStudent


2 SET
3 MCAStudent.Student.PersonFullName.FirstName = 'RAGHAVA'
4 WHERE MCAStudent.Student.PersonID = 1236;
WHERE MCAStudent.Student.PersonID = 1236
*
ERROR at line 4:
ORA-00904: "MCASTUDENT"."STUDENT"."PERSONID": invalid identifier
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1
2
3
4*
SQL>

UPDATE MCAStudent MCA


SET
MCA.Student.PersonFullName.FirstName = 'RAGHAVA'
WHERE MCA.Student.PersonID = 1236
/

1 row updated.
SQL> SELECT * FROM StudentName;
FNAME
---------SATISH
RAVI
RAGHAVA
SQL>
SQL>
2
3
4
5
6
7

MNAME
---------KUMAR
KUMAR
KUMAR

LNAME
---------YELLANKI
SHARMA
RANJAN

FULLNAME
-----------------------------SATISH KUMAR YELLANKI
RAVI KUMAR SHARMA
RAGHAVA KUMAR RANJAN

UPDATE (
SELECT *
FROM MCAStudent
) MCA
SET
MCA.Student.PersonFullName.FirstName = 'RAGHAVA'
WHERE MCA.Student.PersonID = 1236;

1 row updated.
SQL> DELETE MCAStudent MCA
2 WHERE MCA.Student.PersonID = 1236;
1 row deleted.
SQL> SELECT * FROM StudentName;
FNAME
---------SATISH
RAVI

MNAME
---------KUMAR
KUMAR

LNAME
---------YELLANKI
SHARMA

FULLNAME
-----------------------------SATISH KUMAR YELLANKI
RAVI KUMAR SHARMA

SQL> DELETE (
2
SELECT *
3
FROM MCAStudent
4
) MCA
5 WHERE MCA.Student.PersonID = 1236;
0 rows deleted.
SQL> SPOOL OFF
SQL> cl scr
SQL> COLUMN InchargeName FORMAT A19
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> COLUMN StudentIncharge FORMAT A25


SQL> COLUMN OID FORMAT A25
SQL> SELECT * FROM StudentIncharges;
no rows selected
SQL> cl scr
SQL> DESC MCAStudent
Name
Null?
----------------------------------------- -------STUDID
SNAME
DOB
DOA
FEES
SQL>
SQL>
SQL>
SQL>

COLUMN
COLUMN
COLUMN
SELECT

STUDID
-----1100
1101
1102
1103
1104
SQL>
2
3
4
5

Type
---------------------------NUMBER(6)
VARCHAR2(20)
DATE
DATE
NUMBER(7,2)

STUDID FORMAT 9999


SNAME FORMAT A10
Fees FORMAT 99999
* FROM MCAStudent;

SNAME
---------KUMAR
SESHU
RAMANA
RAMU
SRIPATH

DOB
--------07-OCT-80
07-OCT-81
07-OCT-80
07-OCT-82
07-OCT-83

DOA
FEES
--------- -----30-JUL-10 15000
30-JUL-10 15000
30-JUL-10 15000
30-JUL-10 15000
30-JUL-10 15000

SELECT
'SUBRAMANYAM SHARMA' InchargeName,
REF(A) StudentIncharge
FROM McaStudent A
WHERE SName = 'SESHU';

INCHARGENAME
STUDENTINCHARGE
------------------- ------------------------SUBRAMANYAM SHARMA 0000280209FA2A77B669F548C
8A36B581FF12354371C2C7E2A
1E654C848A33AA9EBB45597B0
10000370004

SQL> CREATE TABLE MBAStudent


2 OF Student;
Table created.
SQL> CREATE TABLE MAStudent
2 OF Student;
Table created.
SQL> CREATE TABLE MComStudent
2 OF Student;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Table created.
SQL> cl scr
SQL> SELECT * FROM Tab;
TNAME
-----------------------------MBASTUDENT
MASTUDENT
MCOMSTUDENT
MCASTUDENT
STUDENTINCHARGES
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

TABTYPE CLUSTERID
------- ---------TABLE
TABLE
TABLE
TABLE
TABLE

BEGIN
INSERT INTO McaStudent
VALUES(1100, 'KUMAR', '07-Oct-80', SYSDATE, 15000);
INSERT INTO McaStudent
VALUES(1101, 'SESHU', '07-Oct-81', SYSDATE, 15000);
INSERT INTO McaStudent
VALUES(1102, 'RAMANA', '07-Oct-80', SYSDATE, 15000);
INSERT INTO McaStudent
VALUES(1103, 'RAMU', '07-Oct-82', SYSDATE, 15000);
INSERT INTO McaStudent
VALUES(1104, 'SRIPATH', '07-Oct-83', SYSDATE, 15000);
INSERT INTO MBAStudent
VALUES(1200, 'SAMPATH', '10-DEC-85', SYSDATE, 25000);
INSERT INTO MBAStudent
VALUES(1201, 'SURESH', '10-DEC-80', SYSDATE, 25000);
INSERT INTO MBAStudent
VALUES(1202, 'RAJESH', '10-DEC-83', SYSDATE, 25000);
INSERT INTO MAStudent
VALUES(1300, 'BOBBY', '10-DEC-80', SYSDATE, 25000);
INSERT INTO MAStudent
VALUES(1301, 'SUNDER', '10-DEC-85', SYSDATE, 25000);
INSERT INTO MComStudent
VALUES(1400, 'RAMESH', '10-DEC-83', SYSDATE, 25000);
COMMIT;
END;
/

PL/SQL procedure successfully completed.


SQL> cl scr
SQL> SELECT * FROM MCAStudent;
STUDID
-----1101
1102
1103
1100
1101
1102

SNAME
DOB
DOA
FEES
---------- --------- --------- -----SESHU
07-OCT-81 02-AUG-10 15000
RAMANA
07-OCT-80 02-AUG-10 15000
RAMU
07-OCT-82 02-AUG-10 15000
KUMAR
07-OCT-80 30-JUL-10 15000
SESHU
07-OCT-81 30-JUL-10 15000
RAMANA
07-OCT-80 30-JUL-10 15000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1103
1104
1100
1104

RAMU
SRIPATH
KUMAR
SRIPATH

07-OCT-82
07-OCT-83
07-OCT-80
07-OCT-83

30-JUL-10
30-JUL-10
02-AUG-10
02-AUG-10

15000
15000
15000
15000

10 rows selected.
SQL> DELETE FROM MCASTUDENT;
10 rows deleted.
SQL> COMMIT;
Commit complete.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13*
SQL>

BEGIN
INSERT INTO McaStudent
VALUES(1100, 'KUMAR', '07-Oct-80', SYSDATE, 15000);
INSERT INTO McaStudent
VALUES(1101, 'SESHU', '07-Oct-81', SYSDATE, 15000);
INSERT INTO McaStudent
VALUES(1102, 'RAMANA', '07-Oct-80', SYSDATE, 15000);
INSERT INTO McaStudent
VALUES(1103, 'RAMU', '07-Oct-82', SYSDATE, 15000);
INSERT INTO McaStudent
VALUES(1104, 'SRIPATH', '07-Oct-83', SYSDATE, 15000);
COMMIT;
END;
/

PL/SQL procedure successfully completed.


SQL> cl scr
SQL> SELECT * FROm MCAStudent;
STUDID
-----1100
1101
1102
1103
1104

SNAME
---------KUMAR
SESHU
RAMANA
RAMU
SRIPATH

DOB
--------07-OCT-80
07-OCT-81
07-OCT-80
07-OCT-82
07-OCT-83

DOA
FEES
--------- -----02-AUG-10 15000
02-AUG-10 15000
02-AUG-10 15000
02-AUG-10 15000
02-AUG-10 15000

SQL> SELECT * FROM MBAStudent;


STUDID
-----1200
1201
1202

SNAME
DOB
DOA
FEES
---------- --------- --------- -----SAMPATH
10-DEC-85 02-AUG-10 25000
SURESH
10-DEC-80 02-AUG-10 25000
RAJESH
10-DEC-83 02-AUG-10 25000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT * FROM MAStudent;


STUDID
-----1300
1301

SNAME
---------BOBBY
SUNDER

DOB
--------10-DEC-80
10-DEC-85

DOA
FEES
--------- -----02-AUG-10 25000
02-AUG-10 25000

SQL> SELECT * FROM MComStudent;


STUDID SNAME
DOB
DOA
FEES
------ ---------- --------- --------- -----1400 RAMESH
10-DEC-83 02-AUG-10 25000
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

BEGIN
INSERT INTO
StudentIncharges
SELECT
'SUBRAMANYAM SHARMA',
REF(A)
FROM McaStudent A
WHERE SName = 'SESHU';
INSERT INTO StudentIncharges
SELECT
'SUBRAMANYAM SHARMA',
REF(A)
FROM McaStudent A
WHERE SName = 'RAMANA';
INSERT INTO StudentIncharges
SELECT
'SUBRAMANYAM SHARMA',
REF(A)
FROM McaStudent A
WHERE SName = 'SRIPATH';
INSERT INTO StudentIncharges
SELECT
'NIRANJAN RAMORI',
REF(A)
FROM McaStudent A
WHERE SName = 'KUMAR';
INSERT INTO StudentIncharges
SELECT
'NIRANJAN RAMORI',
REF(A)
FROM McaStudent A
WHERE SName = 'RAMU';
END;
/

PL/SQL procedure successfully completed.


SQL> COMMIT;
Commit complete.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> SELECT *
2 FROM StudentIncharges
3 WHERE InchargeName = 'SUBRAMANYAM SHARMA';
INCHARGENAME
STUDENTINCHARGE
------------------- ------------------------SUBRAMANYAM SHARMA 0000220208ED66DAEA0E954BD
4929E25DCCA43FAEE1C2C7E2A
1E654C848A33AA9EBB45597B
SUBRAMANYAM SHARMA

0000220208F1A6DA06BC66440
49FC333A08475B9E81C2C7E2A
1E654C848A33AA9EBB45597B

SUBRAMANYAM SHARMA

0000220208F410869986DA415
DB48FED91BF3C92EF1C2C7E2A
1E654C848A33AA9EBB45597B

INCHARGENAME
STUDENTINCHARGE
------------------- -------------------------

SQL> ED
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT *
FROM StudentIncharges
WHERE InchargeName = 'NIRANJAN RAMORI'
/

INCHARGENAME
STUDENTINCHARGE
------------------- ------------------------NIRANJAN RAMORI
0000220208B5154F3D38B1444
F811E7EDDA5C0D3D51C2C7E2A
1E654C848A33AA9EBB45597B
NIRANJAN RAMORI

SQL>
2
3
4

000022020858AE1BD83198452
C897A9119162C452A1C2C7E2A
1E654C848A33AA9EBB45597B

SELECT
DEREF(X.StudentIncharge)
FROM StudentIncharges X
WHERE InchargeName = 'SUBRAMANYAM SHARMA';

DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)


-------------------------------------------------------------------------------STUDENT(1101, 'SESHU', '07-OCT-81', '02-AUG-10', 15000)
STUDENT(1102, 'RAMANA', '07-OCT-80', '02-AUG-10', 15000)
STUDENT(1104, 'SRIPATH', '07-OCT-83', '02-AUG-10', 15000)
SQL> SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2
3
4

DEREF(X.StudentIncharge)
FROM StudentIncharges X
WHERE InchargeName = 'NIRANJAN RAMORI';

DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)


-------------------------------------------------------------------------------STUDENT(1100, 'KUMAR', '07-OCT-80', '02-AUG-10', 15000)
STUDENT(1103, 'RAMU', '07-OCT-82', '02-AUG-10', 15000)
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

BEGIN
INSERT INTO StudentIncharges
SELECT
'SUBRAMANYAM SHARMA',
REF(A)
FROM MBAStudent A
WHERE SName = 'SAMPATH';
INSERT INTO StudentIncharges
SELECT
'SUBRAMANYAM SHARMA',
REF(A)
FROM MBAStudent A
WHERE SName = 'RAJESH';
INSERT INTO StudentIncharges
SELECT
'NIRANJAN RAMORI',
REF(A)
FROM MBAStudent A
WHERE SName = 'SURESH';
END;
/

PL/SQL procedure successfully completed.


SQL> COMMIT;
Commit complete.
SQL> SELECT *
2 FROM StudentIncharges
3 WHERE InchargeName = 'SUBRAMANYAM SHARMA';
INCHARGENAME
STUDENTINCHARGE
------------------- ------------------------SUBRAMANYAM SHARMA 0000220208ED66DAEA0E954BD
4929E25DCCA43FAEE1C2C7E2A
1E654C848A33AA9EBB45597B
SUBRAMANYAM SHARMA

0000220208F1A6DA06BC66440
49FC333A08475B9E81C2C7E2A
1E654C848A33AA9EBB45597B

SUBRAMANYAM SHARMA

0000220208F410869986DA415
DB48FED91BF3C92EF1C2C7E2A
1E654C848A33AA9EBB45597B

INCHARGENAME

STUDENTINCHARGE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

------------------- ------------------------SUBRAMANYAM SHARMA

000022020836EC82D132E24E2
AAF045D0CCEB8EC71DC81AA66
119E46B6BC9B12173D9331B6

SUBRAMANYAM SHARMA

0000220208E8080A7CA76845A
38F8A5DF113D34A6FDC81AA66
119E46B6BC9B12173D9331B6

SQL>
2
3
4

SELECT
DEREF(X.StudentIncharge)
FROM StudentIncharges X
WHERE InchargeName = 'SUBRAMANYAM SHARMA';

DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)


-------------------------------------------------------------------------------STUDENT(1101, 'SESHU', '07-OCT-81', '02-AUG-10', 15000)
STUDENT(1102, 'RAMANA', '07-OCT-80', '02-AUG-10', 15000)
STUDENT(1104, 'SRIPATH', '07-OCT-83', '02-AUG-10', 15000)
STUDENT(1200, 'SAMPATH', '10-DEC-85', '02-AUG-10', 25000)
STUDENT(1202, 'RAJESH', '10-DEC-83', '02-AUG-10', 25000)
SQL>
2
3
4

SELECT
DEREF(X.StudentIncharge)
FROM StudentIncharges X
WHERE InchargeName = 'NIRANJAN RAMORI';

DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)


-------------------------------------------------------------------------------STUDENT(1100, 'KUMAR', '07-OCT-80', '02-AUG-10', 15000)
STUDENT(1103, 'RAMU', '07-OCT-82', '02-AUG-10', 15000)
STUDENT(1201, 'SURESH', '10-DEC-80', '02-AUG-10', 25000)
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15

BEGIN
INSERT INTO StudentIncharges
SELECT
'NIRANJAN RAMORI',
REF(A)
FROM MAStudent A
WHERE SName = 'BOBBY';
INSERT INTO StudentIncharges
SELECT
'NIRANJAN RAMORI',
REF(A)
FROM MAStudent A
WHERE SName = 'SUNDER';
END;
/

PL/SQL procedure successfully completed.


SQL> COMMIT;
Commit complete.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL>
2
3
4

SELECT
DEREF(X.StudentIncharge)
FROM StudentIncharges X
WHERE InchargeName = 'SUBRAMANYAM SHARMA';

DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)


-------------------------------------------------------------------------------STUDENT(1101, 'SESHU', '07-OCT-81', '02-AUG-10', 15000)
STUDENT(1102, 'RAMANA', '07-OCT-80', '02-AUG-10', 15000)
STUDENT(1104, 'SRIPATH', '07-OCT-83', '02-AUG-10', 15000)
STUDENT(1200, 'SAMPATH', '10-DEC-85', '02-AUG-10', 25000)
STUDENT(1202, 'RAJESH', '10-DEC-83', '02-AUG-10', 25000)
SQL>
2
3
4

SELECT
DEREF(X.StudentIncharge)
FROM StudentIncharges X
WHERE InchargeName = 'NIRANJAN RAMORI';

DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)


-------------------------------------------------------------------------------STUDENT(1100, 'KUMAR', '07-OCT-80', '02-AUG-10', 15000)
STUDENT(1103, 'RAMU', '07-OCT-82', '02-AUG-10', 15000)
STUDENT(1201, 'SURESH', '10-DEC-80', '02-AUG-10', 25000)
STUDENT(1300, 'BOBBY', '10-DEC-80', '02-AUG-10', 25000)
STUDENT(1301, 'SUNDER', '10-DEC-85', '02-AUG-10', 25000)
SQL>
2
3
4
5
6
7
8
9

BEGIN
INSERT INTO StudentIncharges
SELECT
'NIRANJAN RAMORI',
REF(A)
FROM MComStudent A
WHERE SName = 'RAMESH';
END;
/

PL/SQL procedure successfully completed.


SQL> COMMIT;
Commit complete.
SQL>
2
3
4

SELECT
DEREF(X.StudentIncharge)
FROM StudentIncharges X
WHERE InchargeName = 'NIRANJAN RAMORI';

DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)


-------------------------------------------------------------------------------STUDENT(1100, 'KUMAR', '07-OCT-80', '02-AUG-10', 15000)
STUDENT(1103, 'RAMU', '07-OCT-82', '02-AUG-10', 15000)
STUDENT(1201, 'SURESH', '10-DEC-80', '02-AUG-10', 25000)
STUDENT(1300, 'BOBBY', '10-DEC-80', '02-AUG-10', 25000)
STUDENT(1301, 'SUNDER', '10-DEC-85', '02-AUG-10', 25000)
STUDENT(1400, 'RAMESH', '10-DEC-83', '02-AUG-10', 25000)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

6 rows selected.
SQL> cl scr
SQL> SELECT
2 InchargeName, DEREF(X.StudentIncharge)
3 FROM StudentIncharges X;
INCHARGENAME
------------------DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)
-------------------------------------------------------------------------------SUBRAMANYAM SHARMA
STUDENT(1101, 'SESHU', '07-OCT-81', '02-AUG-10', 15000)
SUBRAMANYAM SHARMA
STUDENT(1102, 'RAMANA', '07-OCT-80', '02-AUG-10', 15000)
SUBRAMANYAM SHARMA
STUDENT(1104, 'SRIPATH', '07-OCT-83', '02-AUG-10', 15000)

INCHARGENAME
------------------DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)
-------------------------------------------------------------------------------NIRANJAN RAMORI
STUDENT(1100, 'KUMAR', '07-OCT-80', '02-AUG-10', 15000)
NIRANJAN RAMORI
STUDENT(1103, 'RAMU', '07-OCT-82', '02-AUG-10', 15000)
SUBRAMANYAM SHARMA
STUDENT(1200, 'SAMPATH', '10-DEC-85', '02-AUG-10', 25000)

INCHARGENAME
------------------DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)
-------------------------------------------------------------------------------SUBRAMANYAM SHARMA
STUDENT(1202, 'RAJESH', '10-DEC-83', '02-AUG-10', 25000)
NIRANJAN RAMORI
STUDENT(1201, 'SURESH', '10-DEC-80', '02-AUG-10', 25000)
NIRANJAN RAMORI
STUDENT(1300, 'BOBBY', '10-DEC-80', '02-AUG-10', 25000)

INCHARGENAME
------------------DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)
-------------------------------------------------------------------------------NIRANJAN RAMORI
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

STUDENT(1301, 'SUNDER', '10-DEC-85', '02-AUG-10', 25000)


NIRANJAN RAMORI
STUDENT(1400, 'RAMESH', '10-DEC-83', '02-AUG-10', 25000)

11 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11

SELECT
InchargeName Incharge,
E1.Stu.StudId StudID,
E1.Stu.SName Sname,
E1.Stu.DOB DOB,
E1.Stu.DOA DOA,
E1.Stu.Fees Fees
FROM (SELECT
InchargeName, DEREF(X.StudentIncharge) Stu
FROM StudentIncharges X
) E1;

INCHARGE
STUDID SNAME
DOB
DOA
FEES
------------------------------ ------ ---------- --------- --------- -----SUBRAMANYAM SHARMA
1101 SESHU
07-OCT-81 02-AUG-10 15000
SUBRAMANYAM SHARMA
1102 RAMANA
07-OCT-80 02-AUG-10 15000
SUBRAMANYAM SHARMA
1104 SRIPATH
07-OCT-83 02-AUG-10 15000
NIRANJAN RAMORI
1100 KUMAR
07-OCT-80 02-AUG-10 15000
NIRANJAN RAMORI
1103 RAMU
07-OCT-82 02-AUG-10 15000
SUBRAMANYAM SHARMA
1200 SAMPATH
10-DEC-85 02-AUG-10 25000
SUBRAMANYAM SHARMA
1202 RAJESH
10-DEC-83 02-AUG-10 25000
NIRANJAN RAMORI
1201 SURESH
10-DEC-80 02-AUG-10 25000
NIRANJAN RAMORI
1300 BOBBY
10-DEC-80 02-AUG-10 25000
NIRANJAN RAMORI
1301 SUNDER
10-DEC-85 02-AUG-10 25000
NIRANJAN RAMORI
1400 RAMESH
10-DEC-83 02-AUG-10 25000
11 rows selected.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13*
SQL>

CREATE OR REPLACE VIEW StudentINCHData


AS
SELECT
InchargeName Incharge,
E1.Stu.StudId StudID,
E1.Stu.SName Sname,
E1.Stu.DOB DOB,
E1.Stu.DOA DOA,
E1.Stu.Fees Fees
FROM (SELECT
InchargeName, DEREF(X.StudentIncharge) Stu
FROM StudentIncharges X
) E1
/
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

View created.
SQL> DESC StudentINCHData
Name
Null?
----------------------------------------- -------INCHARGE
STUDID
SNAME
DOB
DOA
FEES

Type
---------------------------VARCHAR2(30)
NUMBER(6)
VARCHAR2(20)
DATE
DATE
NUMBER(7,2)

SQL> SELECT * FROM StudentINCHData;


INCHARGE
STUDID SNAME
DOB
DOA
FEES
------------------------------ ------ ---------- --------- --------- -----SUBRAMANYAM SHARMA
1101 SESHU
07-OCT-81 02-AUG-10 15000
SUBRAMANYAM SHARMA
1102 RAMANA
07-OCT-80 02-AUG-10 15000
SUBRAMANYAM SHARMA
1104 SRIPATH
07-OCT-83 02-AUG-10 15000
NIRANJAN RAMORI
1100 KUMAR
07-OCT-80 02-AUG-10 15000
NIRANJAN RAMORI
1103 RAMU
07-OCT-82 02-AUG-10 15000
SUBRAMANYAM SHARMA
1200 SAMPATH
10-DEC-85 02-AUG-10 25000
SUBRAMANYAM SHARMA
1202 RAJESH
10-DEC-83 02-AUG-10 25000
NIRANJAN RAMORI
1201 SURESH
10-DEC-80 02-AUG-10 25000
NIRANJAN RAMORI
1300 BOBBY
10-DEC-80 02-AUG-10 25000
NIRANJAN RAMORI
1301 SUNDER
10-DEC-85 02-AUG-10 25000
NIRANJAN RAMORI
1400 RAMESH
10-DEC-83 02-AUG-10 25000
11 rows selected.
SQL> DELETE
2 FROM MCAStudent
3 WHERE SName = 'SESHU';
1 row deleted.
SQL> SELECT * FROM StudentIncharges;
INCHARGENAME
STUDENTINCHARGE
------------------- ------------------------SUBRAMANYAM SHARMA 0000220208ED66DAEA0E954BD
4929E25DCCA43FAEE1C2C7E2A
1E654C848A33AA9EBB45597B
SUBRAMANYAM SHARMA

0000220208F1A6DA06BC66440
49FC333A08475B9E81C2C7E2A
1E654C848A33AA9EBB45597B

SUBRAMANYAM SHARMA

0000220208F410869986DA415
DB48FED91BF3C92EF1C2C7E2A
1E654C848A33AA9EBB45597B

INCHARGENAME
STUDENTINCHARGE
------------------- ------------------------NIRANJAN RAMORI
0000220208B5154F3D38B1444
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

F811E7EDDA5C0D3D51C2C7E2A
1E654C848A33AA9EBB45597B
NIRANJAN RAMORI

000022020858AE1BD83198452
C897A9119162C452A1C2C7E2A
1E654C848A33AA9EBB45597B

SUBRAMANYAM SHARMA

000022020836EC82D132E24E2
AAF045D0CCEB8EC71DC81AA66

INCHARGENAME
STUDENTINCHARGE
------------------- ------------------------119E46B6BC9B12173D9331B6
SUBRAMANYAM SHARMA

0000220208E8080A7CA76845A
38F8A5DF113D34A6FDC81AA66
119E46B6BC9B12173D9331B6

NIRANJAN RAMORI

000022020860E1ACFB0B734AA
19995A4480B4873A0DC81AA66
119E46B6BC9B12173D9331B6

NIRANJAN RAMORI

0000220208F8348FCEE75A421

INCHARGENAME
STUDENTINCHARGE
------------------- ------------------------FB19191E90630BD8BF6131B14
BE6941D4886AF9685E255BC7
NIRANJAN RAMORI

000022020866E8E45C571A431
0A57D80114C8509E5F6131B14
BE6941D4886AF9685E255BC7

NIRANJAN RAMORI

00002202089904F2627FB64B0
781029CB8EE47DC3655A6BBB2
D4A3443ABC20A3BCDA8E5B39

11 rows selected.
SQL> SELECT * FROM StudentINCHData;
INCHARGE
STUDID SNAME
DOB
DOA
FEES
------------------------------ ------ ---------- --------- --------- -----SUBRAMANYAM SHARMA
SUBRAMANYAM SHARMA
1102 RAMANA
07-OCT-80 02-AUG-10 15000
SUBRAMANYAM SHARMA
1104 SRIPATH
07-OCT-83 02-AUG-10 15000
NIRANJAN RAMORI
1100 KUMAR
07-OCT-80 02-AUG-10 15000
NIRANJAN RAMORI
1103 RAMU
07-OCT-82 02-AUG-10 15000
SUBRAMANYAM SHARMA
1200 SAMPATH
10-DEC-85 02-AUG-10 25000
SUBRAMANYAM SHARMA
1202 RAJESH
10-DEC-83 02-AUG-10 25000
NIRANJAN RAMORI
1201 SURESH
10-DEC-80 02-AUG-10 25000
NIRANJAN RAMORI
1300 BOBBY
10-DEC-80 02-AUG-10 25000
NIRANJAN RAMORI
1301 SUNDER
10-DEC-85 02-AUG-10 25000
NIRANJAN RAMORI
1400 RAMESH
10-DEC-83 02-AUG-10 25000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

11 rows selected.
SQL> DELETE FROM StudentINCHData
2 WHERE Stuid IS NULL AND INCHARGE = 'SUBRAMANYAM SHARMA';
WHERE Stuid IS NULL AND INCHARGE = 'SUBRAMANYAM SHARMA'
*
ERROR at line 2:
ORA-00904: "STUID": invalid identifier

SQL> ED
Wrote file afiedt.buf
1 DELETE FROM (
2
SELECT
3
InchargeName,
4
DEREF(X.StudentIncharge) Stu
5
FROM StudentIncharges X
6
) E1
7 WHERE
8 E1.Stu.StudId StudID IS NULL AND
9* InchargeName = 'SUBRAMANYAM SHARMA'
SQL> /
E1.Stu.StudId StudID IS NULL AND
*
ERROR at line 8:
ORA-00920: invalid relational operator

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9*
SQL>

DELETE FROM (
SELECT
InchargeName,
DEREF(X.StudentIncharge) Stu
FROM StudentIncharges X
) E1
WHERE
E1.Stu.StudId IS NULL AND
InchargeName = 'SUBRAMANYAM SHARMA'
/

1 row deleted.
SQL> SELECT * FROM StudentINCHData;
INCHARGE
STUDID SNAME
DOB
DOA
FEES
------------------------------ ------ ---------- --------- --------- -----SUBRAMANYAM SHARMA
1102 RAMANA
07-OCT-80 02-AUG-10 15000
SUBRAMANYAM SHARMA
1104 SRIPATH
07-OCT-83 02-AUG-10 15000
NIRANJAN RAMORI
1100 KUMAR
07-OCT-80 02-AUG-10 15000
NIRANJAN RAMORI
1103 RAMU
07-OCT-82 02-AUG-10 15000
SUBRAMANYAM SHARMA
1200 SAMPATH
10-DEC-85 02-AUG-10 25000
SUBRAMANYAM SHARMA
1202 RAJESH
10-DEC-83 02-AUG-10 25000
NIRANJAN RAMORI
1201 SURESH
10-DEC-80 02-AUG-10 25000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

NIRANJAN RAMORI
NIRANJAN RAMORI
NIRANJAN RAMORI

1300 BOBBY
1301 SUNDER
1400 RAMESH

10-DEC-80 02-AUG-10
10-DEC-85 02-AUG-10
10-DEC-83 02-AUG-10

25000
25000
25000

10 rows selected.
SQL> cl scr
SQL> Create Table Students
2 (
3
Studid
NUMBER(6)
4
CONSTRAINT StudIDPK PRIMARY KEY,
5
SName
VARCHAR2(30),
6
Street
VARCHAR2(40),
7
CityName
VARCHAR2(25),
8
StateName
VARCHAR2(40),
9
Pincode Number(6)
10
);
Table created.
SQL> BEGIN
2 INSERT INTO Students
3 VALUES(1200, 'SAMPATH', 'SHIV BAGH', 'HYDERABAD', 'ANDHRA PRADESH',
506001);
4 INSERT INTO Students
5 VALUES(1201, 'SRINIVAS', 'SHYAM NAGAR', 'SECUNDERABAD', 'ANDHRA PRADESH',
506002);
6 INSERT INTO Students
7 VALUES(1202, 'SHIVAJI', 'ANDAL NAGAR', 'CHENNAI', 'TAMIL NADU', 606060);
8 COMMIT;
9 END;
10 /
PL/SQL procedure successfully completed.
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
2

COLUMN STUDID FORMAT 9999


COLUMN SNAME FORMAT A9
COLUMN STREET FORMAT A12
COLUMN CITYNAME FORMAT A13
COLUMN STATENAME FORMAT A15
COLUMN PINCODE FORMAT 999999
SELECT *
FROM Students;

STUDID
-----1200
1201
1202

SNAME
--------SAMPATH
SRINIVAS
SHIVAJI

STREET
-----------SHIV BAGH
SHYAM NAGAR
ANDAL NAGAR

CITYNAME
------------HYDERABAD
SECUNDERABAD
CHENNAI

STATENAME
PINCODE
--------------- ------ANDHRA PRADESH
506001
ANDHRA PRADESH
506002
TAMIL NADU
606060

SQL> CREATE OR REPLACE TYPE MyAddress


2 AS OBJECT
3 (
4
Street
VARCHAR2(40),
5
CityName
VARCHAR2(25),
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

6
7
8
9

StateName
Pincode
);

VARCHAR2(40),
NUMBER(6)

Type created.
SQL>
2
3
4
5
6
7

CREATE OR REPLACE TYPE MyStudent


AS OBJECT
(
SName VARCHAR2(30),
Saddress Myaddress
);
/

Type created.
SQL>
2
3
4
5

SELECT
StudID,
SName,
Street, CityName , StateName, Pincode
FROM Students;

STUDID
-----1200
1201
1202
SQL>
2
3
4
5

SNAME
--------SAMPATH
SRINIVAS
SHIVAJI

STREET
-----------SHIV BAGH
SHYAM NAGAR
ANDAL NAGAR

SELECT
StudID,
MyStudent(SName,
Myaddress(Street,
FROM Students;

CITYNAME
------------HYDERABAD
SECUNDERABAD
CHENNAI

STATENAME
PINCODE
--------------- ------ANDHRA PRADESH
506001
ANDHRA PRADESH
506002
TAMIL NADU
606060

CityName , StateName, Pincode))

STUDID
-----MYSTUDENT(SNAME,MYADDRESS(STREET,CITYNAME,STATENAME,PINCODE))(SNAME, SADDRESS(ST
-------------------------------------------------------------------------------1200
MYSTUDENT('SAMPATH', MYADDRESS('SHIV BAGH', 'HYDERABAD', 'ANDHRA PRADESH', 50600
1))
1201
MYSTUDENT('SRINIVAS', MYADDRESS('SHYAM NAGAR', 'SECUNDERABAD', 'ANDHRA PRADESH',
506002))
1202
STUDID
-----MYSTUDENT(SNAME,MYADDRESS(STREET,CITYNAME,STATENAME,PINCODE))(SNAME, SADDRESS(ST
-------------------------------------------------------------------------------MYSTUDENT('SHIVAJI', MYADDRESS('ANDAL NAGAR', 'CHENNAI', 'TAMIL NADU', 606060))

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL>
2
3
4
5
6
7
8

CREATE OR REPLACE VIEW


StudentOV(StudID, StudDEF)
AS
SELECT
StudID,
MyStudent(SName,
Myaddress(Street, CityName , StateName, Pincode))
FROM Students;

View created.
SQL> DESC StudentOV
Name
Null?
----------------------------------------- -------STUDID
NOT NULL
STUDDEF

Type
---------------------------NUMBER(6)
MYSTUDENT

SQL> SET DESCRIBE DEPTH 2


SQL> DESC StudentOV
Name
Null?
----------------------------------------- -------STUDID
NOT NULL
STUDDEF
SNAME
SADDRESS

Type
---------------------------NUMBER(6)
MYSTUDENT
VARCHAR2(30)
MYADDRESS

SQL> SET DESCRIBE DEPTH 3


SQL> DESC StudentOV
Name
Null?
----------------------------------------- -------STUDID
NOT NULL
STUDDEF
SNAME
SADDRESS
STREET
CITYNAME
STATENAME
PINCODE

Type
---------------------------NUMBER(6)
MYSTUDENT
VARCHAR2(30)
MYADDRESS
VARCHAR2(40)
VARCHAR2(25)
VARCHAR2(40)
NUMBER(6)

SQL> SELECT * FROM StudentOV;


STUDID
-----STUDDEF(SNAME, SADDRESS(STREET, CITYNAME, STATENAME, PINCODE))
-------------------------------------------------------------------------------1200
MYSTUDENT('SAMPATH', MYADDRESS('SHIV BAGH', 'HYDERABAD', 'ANDHRA PRADESH', 50600
1))
1201
MYSTUDENT('SRINIVAS', MYADDRESS('SHYAM NAGAR', 'SECUNDERABAD', 'ANDHRA PRADESH',
506002))
1202
STUDID
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

-----STUDDEF(SNAME, SADDRESS(STREET, CITYNAME, STATENAME, PINCODE))


-------------------------------------------------------------------------------MYSTUDENT('SHIVAJI', MYADDRESS('ANDAL NAGAR', 'CHENNAI', 'TAMIL NADU', 606060))

SQL>
2
3
4
5
6
7
8
9

SELECT
StudID,
E1.StudDEF.Sname Sname,
E1.StudDEF.SAddress.Street Street,
E1.StudDEF.SAddress.CityName CityName,
E1.StudDEF.SAddress.StateName StateName,
E1.StudDEF.SAddress.PinCode PinCode
FROM (SELECT *
FROM StudentOV) E1;

STUDID
-----1200
1201
1202

SNAME
--------SAMPATH
SRINIVAS
SHIVAJI

STREET
-----------SHIV BAGH
SHYAM NAGAR
ANDAL NAGAR

CITYNAME
------------HYDERABAD
SECUNDERABAD
CHENNAI

STATENAME
PINCODE
--------------- ------ANDHRA PRADESH
506001
ANDHRA PRADESH
506002
TAMIL NADU
606060

SQL> SPOOL OFF


SQL> cl scr
SQL> SELECT * FROM TAB;
TNAME
-----------------------------STUDENTS
STUDENTOV

TABTYPE CLUSTERID
------- ---------TABLE
VIEW

SQL> SELECT * FROM STUDENTS;


STUDID
-----1200
1201
1202

SNAME
--------SAMPATH
SRINIVAS
SHIVAJI

STREET
-----------SHIV BAGH
SHYAM NAGAR
ANDAL NAGAR

CITYNAME
------------HYDERABAD
SECUNDERABAD
CHENNAI

STATENAME
PINCODE
--------------- ------ANDHRA PRADESH
506001
ANDHRA PRADESH
506002
TAMIL NADU
606060

SQL> DESC STUDENTOV


Name
Null?
----------------------------------------- -------STUDID
NOT NULL
STUDDEF

Type
---------------------------NUMBER(6)
MYSTUDENT

SQL> SET DESCRIBE DEPTH 2


SQL> DESC STUDENTOV
Name
Null?
----------------------------------------- -------STUDID
NOT NULL
STUDDEF
SNAME
SADDRESS

Type
---------------------------NUMBER(6)
MYSTUDENT
VARCHAR2(30)
MYADDRESS

SQL> SET DESCRIBE DEPTH 3


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> DESC STUDENTOV


Name
Null?
----------------------------------------- -------STUDID
NOT NULL
STUDDEF
SNAME
SADDRESS
STREET
CITYNAME
STATENAME
PINCODE

Type
---------------------------NUMBER(6)
MYSTUDENT
VARCHAR2(30)
MYADDRESS
VARCHAR2(40)
VARCHAR2(25)
VARCHAR2(40)
NUMBER(6)

SQL> SELECT *
2 FROM StudentOV;
STUDID
-----STUDDEF(SNAME, SADDRESS(STREET, CITYNAME, STATENAME, PINCODE))
-------------------------------------------------------------------------------1200
MYSTUDENT('SAMPATH', MYADDRESS('SHIV BAGH', 'HYDERABAD', 'ANDHRA PRADESH', 50600
1))
1201
MYSTUDENT('SRINIVAS', MYADDRESS('SHYAM NAGAR', 'SECUNDERABAD', 'ANDHRA PRADESH',
506002))
1202
STUDID
-----STUDDEF(SNAME, SADDRESS(STREET, CITYNAME, STATENAME, PINCODE))
-------------------------------------------------------------------------------MYSTUDENT('SHIVAJI', MYADDRESS('ANDAL NAGAR', 'CHENNAI', 'TAMIL NADU', 606060))

SQL>
2
3
4
5
6
7
8
9

SELECT
StudID,
E1.StudDEF.Sname Sname,
E1.StudDEF.SAddress.Street Street,
E1.StudDEF.SAddress.CityName CityName,
E1.StudDEF.SAddress.StateName StateName,
E1.StudDEF.SAddress.PinCode PinCode
FROM (SELECT *
FROM StudentOV) E1;

STUDID
-----1200
1201
1202

SNAME
--------SAMPATH
SRINIVAS
SHIVAJI

STREET
-----------SHIV BAGH
SHYAM NAGAR
ANDAL NAGAR

CITYNAME
------------HYDERABAD
SECUNDERABAD
CHENNAI

STATENAME
PINCODE
--------------- ------ANDHRA PRADESH
506001
ANDHRA PRADESH
506002
TAMIL NADU
606060

SQL> INSERT INTO StudentOV


2 VALUES(1203,
3
MYStudent('RAMESH',
4
MyAddress(
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

5
6
7
8
9
10
11

'SHYAMA NAGAR',
'SECUNDERABAD',
'ANDHRA PRADESH',
506001
)
)
);

1 row created.
SQL> SELECT *
2 FROM Students;
STUDID
-----1200
1201
1202
1203

SNAME
--------SAMPATH
SRINIVAS
SHIVAJI
RAMESH

STREET
-----------SHIV BAGH
SHYAM NAGAR
ANDAL NAGAR
SHYAMA NAGAR

CITYNAME
------------HYDERABAD
SECUNDERABAD
CHENNAI
SECUNDERABAD

SQL> INSERT INTO StudentOV


2 VALUES(1203,
3
MYStudent('RAMESH',
4
MyAddress(
5
6
7
8
9
10
)
11
)
12
SQL> cl scr

STATENAME
PINCODE
--------------- ------ANDHRA PRADESH
506001
ANDHRA PRADESH
506002
TAMIL NADU
606060
ANDHRA PRADESH
506001

'SH
'SE
'AN
506
)

SQL> DELETE StudentOV


2 WHERE StudId = 1200;
1 row deleted.
SQL> SELECT *
2 FROM Students;
STUDID
-----1201
1202
1203

SNAME
--------SRINIVAS
SHIVAJI
RAMESH

STREET
-----------SHYAM NAGAR
ANDAL NAGAR
SHYAMA NAGAR

CITYNAME
------------SECUNDERABAD
CHENNAI
SECUNDERABAD

STATENAME
PINCODE
--------------- ------ANDHRA PRADESH
506002
TAMIL NADU
606060
ANDHRA PRADESH
506001

SQL> DELETE (SELECT *


2
FROM StudentOV) E1
3 WHERE E1.StudDef.Sname = 'SHIVAJI';
1 row deleted.
SQL> SELECT *
2 FROM Students;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

STUDID
-----1201
1203

SNAME
--------SRINIVAS
RAMESH

STREET
-----------SHYAM NAGAR
SHYAMA NAGAR

CITYNAME
------------SECUNDERABAD
SECUNDERABAD

STATENAME
PINCODE
--------------- ------ANDHRA PRADESH
506002
ANDHRA PRADESH
506001

SQL> UPDATE (SELECT *


2
FROM StudentOV) E1
3 SET E1.StudDef.Sname = 'SRINIVAS RAJU'
4 WHERE E1.StudID = 1201;
1 row updated.
SQL> SELECT *
2 FROM Students;
STUDID SNAME
STREET
CITYNAME
STATENAME
PINCODE
------ --------- ------------ ------------- --------------- ------1201 SRINIVAS SHYAM NAGAR SECUNDERABAD ANDHRA PRADESH
506002
RAJU
1203 RAMESH

SHYAMA NAGAR SECUNDERABAD

ANDHRA PRADESH

506001

SQL> cl scr
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> BEGIN
2 DELETE FROM STUDENTS;
3 INSERT INTO Students
4 VALUES(1200, 'SAMPATH', 'SHIV BAGH', 'HYDERABAD', 'ANDHRA PRADESH',
506001);
5 INSERT INTO Students
6 VALUES(1201, 'SRINIVAS', 'SHYAM NAGAR', 'SECUNDERABAD', 'ANDHRA PRADESH',
506002);
7 INSERT INTO Students
8 VALUES(1202, 'SHIVAJI', 'ANDAL NAGAR', 'CHENNAI', 'TAMIL NADU', 606060);
9 COMMIT;
10 END;
11 /
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> SELECT * FROM STUDENTS;
STUDID
-----1200
1201
1202

SNAME
STREET
CITYNAME
STATENAME
PINCODE
--------- ------------ ------------- --------------- ------SAMPATH
SHIV BAGH
HYDERABAD
ANDHRA PRADESH
506001
SRINIVAS SHYAM NAGAR SECUNDERABAD ANDHRA PRADESH
506002
SHIVAJI
ANDAL NAGAR CHENNAI
TAMIL NADU
606060
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> CREATE TABLE StudentBooks


2 (
3
LibTranNO
NUMBER(6),
4
StudID
NUMBER(6),
5
BookTitle
VARCHAR2(50),
6
LendingDate DATE,
7
CONSTRAINT LibtreamNoPK
8
PRIMARY KEY(LibTranNO, Studid),
9
CONSTRAINT StudentBooksFK
10
FOREIGN KEY(Studid)
11
REFERENCES Students(StudID)
12
);
Table created.
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

BEGIN
INSERT INTO StudentBooks
VALUES(2000, 1200, 'THERMO DYNAMICS', SYSDATE);
INSERT INTO StudentBooks
VALUES(2001, 1200, 'FLUID MECHANICS', SYSDATE);
INSERT INTO StudentBooks
VALUES(2002, 1200, 'ATOMIC PHYSICS', SYSDATE);
INSERT INTO StudentBooks
VALUES(2003, 1201, 'STRUCTURAL DYNAMICS', SYSDATE);
INSERT INTO StudentBooks
VALUES(2004, 1201, 'AVIATION THEORY', SYSDATE);
INSERT INTO StudentBooks
VALUES(2005, 1202, 'PROPULSION THEORY', SYSDATE);
COMMIT;
END;
/

PL/SQL procedure successfully completed.


SQL> cl scr
SQL> SELECT * FROM STUDENTS;
STUDID
-----1200
1201
1202
SQL>
2
3
4
5
6
7
8
9
10
11

SNAME
--------SAMPATH
SRINIVAS
SHIVAJI

STREET
-----------SHIV BAGH
SHYAM NAGAR
ANDAL NAGAR

CITYNAME
------------HYDERABAD
SECUNDERABAD
CHENNAI

STATENAME
PINCODE
--------------- ------ANDHRA PRADESH
506001
ANDHRA PRADESH
506002
TAMIL NADU
606060

BEGIN
INSERT INTO StudentBooks
VALUES(2000, 1200, 'THERMO DYNAMICS', SYSDATE);
INSERT INTO StudentBooks
VALUES(2001, 1200, 'FLUID MECHANICS', SYSDATE);
INSERT INTO StudentBooks
VALUES(2002, 1200, 'ATOMIC PHYSICS', SYSDATE);
INSERT INTO StudentBooks
VALUES(2003, 1201, 'STRUCTURAL DYNAMICS', SYSDATE);
INSERT INTO StudentBooks
VALUES(2004, 1201, 'AVIATION THEORY', SYSDATE);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

12
13
14
15
16
17
SQL>

INSERT INTO StudentBooks


VALUES(2005, 1202, 'PROPULSION THEORY', SYSDATE);
COMMIT;
END
.
cl scr

SQL> SELECT * FROM Students;


STUDID
-----1200
1201
1202
SQL>
SQL>
SQL>
SQL>
2

SNAME
--------SAMPATH
SRINIVAS
SHIVAJI

STREET
-----------SHIV BAGH
SHYAM NAGAR
ANDAL NAGAR

CITYNAME
------------HYDERABAD
SECUNDERABAD
CHENNAI

STATENAME
PINCODE
--------------- ------ANDHRA PRADESH
506001
ANDHRA PRADESH
506002
TAMIL NADU
606060

COLUMN LIBTRANNO FORMAT 9999


COLUMN STUDID FORMAT 9999
COLUMN BOOKTITLE FORMAT A20
SELECT *
FROM StudentBooks;

LIBTRANNO STUDID BOOKTITLE


LENDINGDA
--------- ------ -------------------- --------2000
1200 THERMO DYNAMICS
03-AUG-10
2001
1200 FLUID MECHANICS
03-AUG-10
2002
1200 ATOMIC PHYSICS
03-AUG-10
2003
1201 STRUCTURAL DYNAMICS 03-AUG-10
2004
1201 AVIATION THEORY
03-AUG-10
2005
1202 PROPULSION THEORY
03-AUG-10
6 rows selected.
SQL> SELECT Sname, BookTitle, LendingDate
2 FROM Students S, StudentBooks SB
3 WHERE S.StudID = SB.StudID;
SNAME
--------SAMPATH
SAMPATH
SAMPATH
SRINIVAS
SRINIVAS
SHIVAJI

BOOKTITLE
-------------------THERMO DYNAMICS
FLUID MECHANICS
ATOMIC PHYSICS
STRUCTURAL DYNAMICS
AVIATION THEORY
PROPULSION THEORY

LENDINGDA
--------03-AUG-10
03-AUG-10
03-AUG-10
03-AUG-10
03-AUG-10
03-AUG-10

6 rows selected.
SQL> CREATE OR REPLACE TYPE StudentType
2 AS OBJECT
3 (
4
Studid NUMBER(6),
5
Sname VARCHAR2(30),
6
Street Varchar2(40),
7
Cityname VARCHAR2(25),
8
Statename VARCHAR2(40),
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

9
10
11

Pincode NUMBER(6)
);
/

Type created.
SQL>
2
3
4
5
6
7
8

CREATE OR REPLACE VIEW STUDENTOV


OF StudentType
WITH OBJECT IDENTIFIER(StudID)
AS
SELECT StudID, Sname,
Street, CityName,
StateName, Pincode
FROM Students;

View created.
SQL> DESC STUDENTOV
Name
Null?
----------------------------------------- -------STUDID
SNAME
STREET
CITYNAME
STATENAME
PINCODE

Type
---------------------------NUMBER(6)
VARCHAR2(30)
VARCHAR2(40)
VARCHAR2(25)
VARCHAR2(40)
NUMBER(6)

SQL> SELECT * FROM STUDENTOV;


STUDID
-----1200
1201
1202

SNAME
--------SAMPATH
SRINIVAS
SHIVAJI

STREET
-----------SHIV BAGH
SHYAM NAGAR
ANDAL NAGAR

CITYNAME
------------HYDERABAD
SECUNDERABAD
CHENNAI

STATENAME
PINCODE
--------------- ------ANDHRA PRADESH
506001
ANDHRA PRADESH
506002
TAMIL NADU
606060

SQL> COLUMN OID FORMAT A25


SQL> SELECT SNAME, REF(A) OID
2 FROM STUDENTOV;
SELECT SNAME, REF(A) OID
*
ERROR at line 1:
ORA-00904: "A": invalid identifier

SQL> ED
Wrote file afiedt.buf
1 SELECT SNAME, REF(A) OID
2* FROM STUDENTOV A
SQL> /
SNAME
OID
--------- ------------------------SAMPATH
00004A038A0046A4805E25E10
5476690852B320CDCBAE00000
0014260100010001002900000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

00000090606002A00078401FE
0000000A02C20D00000000000
0000000000000000000000000
0000
SRINIVAS

00004A038A0046A4805E25E10
5476690852B320CDCBAE00000
0014260100010001002900000

SNAME
OID
--------- ------------------------00000090606002A00078401FE
0000000B03C20D02000000000
0000000000000000000000000
0000
SHIVAJI

00004A038A0046A4805E25E10
5476690852B320CDCBAE00000
0014260100010001002900000
00000090606002A00078401FE
0000000B03C20D03000000000
0000000000000000000000000

SNAME
OID
--------- ------------------------0000

SQL> cl scr
SQL>
2
3
4

SELECT
StudID,
LibTranNo, BookTitle, LendingDate
FROM StudentBooks;

STUDID LIBTRANNO BOOKTITLE


LENDINGDA
------ --------- -------------------- --------1200
2000 THERMO DYNAMICS
03-AUG-10
1200
2001 FLUID MECHANICS
03-AUG-10
1200
2002 ATOMIC PHYSICS
03-AUG-10
1201
2003 STRUCTURAL DYNAMICS 03-AUG-10
1201
2004 AVIATION THEORY
03-AUG-10
1202
2005 PROPULSION THEORY
03-AUG-10
6 rows selected.
SQL>
2
3
4
5
6

CREATE VIEW StudentBooksOV


AS
SELECT
MAKE_REF(StudentOV, StudID) StudID,
LibTranNo, BookTitle, LendingDate
FROM StudentBooks;

View created.
SQL> DESC StudentBooksOV
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Name
Null?
----------------------------------------- -------STUDID
STUDID
SNAME
STREET
CITYNAME
STATENAME
PINCODE
LIBTRANNO
NOT NULL
BOOKTITLE
LENDINGDATE
SQL>
SQL>
SQL>
SQL>
2

Type
---------------------------REF OF STUDENTTYPE
NUMBER(6)
VARCHAR2(30)
VARCHAR2(40)
VARCHAR2(25)
VARCHAR2(40)
NUMBER(6)
NUMBER(6)
VARCHAR2(50)
DATE

COLUMN LibTranNo FORMAT 9999


COLUMN StudID FORMAT A20
COLUMN BookTitle FORMAT A20
SELECT *
FROM StudentBooksOV;

STUDID
LIBTRANNO BOOKTITLE
LENDINGDA
-------------------- --------- -------------------- --------00004A038A0046A4805E
2000 THERMO DYNAMICS
03-AUG-10
25E105476690852B320C
DCBAE000000014260100
01000100290000000000
090606002A00078401FE
0000000A02C20D000000
00000000000000000000
00000000000000
00004A038A0046A4805E
25E105476690852B320C

2001 FLUID MECHANICS

03-AUG-10

STUDID
LIBTRANNO BOOKTITLE
LENDINGDA
-------------------- --------- -------------------- --------DCBAE000000014260100
01000100290000000000
090606002A00078401FE
0000000A02C20D000000
00000000000000000000
00000000000000
00004A038A0046A4805E
25E105476690852B320C
DCBAE000000014260100
01000100290000000000

2002 ATOMIC PHYSICS

03-AUG-10

STUDID
LIBTRANNO BOOKTITLE
LENDINGDA
-------------------- --------- -------------------- --------090606002A00078401FE
0000000A02C20D000000
00000000000000000000
00000000000000
00004A038A0046A4805E
2003 STRUCTURAL DYNAMICS 03-AUG-10
25E105476690852B320C
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

DCBAE000000014260100
01000100290000000000
090606002A00078401FE
0000000B03C20D020000
STUDID
LIBTRANNO BOOKTITLE
LENDINGDA
-------------------- --------- -------------------- --------00000000000000000000
00000000000000
00004A038A0046A4805E
25E105476690852B320C
DCBAE000000014260100
01000100290000000000
090606002A00078401FE
0000000B03C20D020000
00000000000000000000
00000000000000

2004 AVIATION THEORY

03-AUG-10

STUDID
LIBTRANNO BOOKTITLE
LENDINGDA
-------------------- --------- -------------------- --------00004A038A0046A4805E
25E105476690852B320C
DCBAE000000014260100
01000100290000000000
090606002A00078401FE
0000000B03C20D030000
00000000000000000000
00000000000000

2005 PROPULSION THEORY

03-AUG-10

6 rows selected.
SQL> SELECT DEREF(SB.StudID)
2 FROM StudentBooksOV SB
3 WHERE BookTitle = 'THERMO DYNAMICS';
DEREF(SB.STUDID)(STUDID, SNAME, STREET, CITYNAME, STATENAME, PINCODE)
-------------------------------------------------------------------------------STUDENTTYPE(1200, 'SAMPATH', 'SHIV BAGH', 'HYDERABAD', 'ANDHRA PRADESH', 506001)
SQL> SELECT
2
LibTranNO,
3
BookTitle,
4
LendingDate,
5
DEREF(SB.StudID) StudentData
6 FROM StudentBooksOV SB
7 WHERE BookTitle = 'THERMO DYNAMICS';
LIBTRANNO BOOKTITLE
LENDINGDA
--------- -------------------- --------STUDENTDATA(STUDID, SNAME, STREET, CITYNAME, STATENAME, PINCODE)
-------------------------------------------------------------------------------2000 THERMO DYNAMICS
03-AUG-10
STUDENTTYPE(1200, 'SAMPATH', 'SHIV BAGH', 'HYDERABAD', 'ANDHRA PRADESH', 506001)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> SELECT
2
StudentBooksData.StudentData.StudID StudID,
3
StudentBooksData.StudentData.Sname Sname,
4
LibTranNO,
5
BookTitle,
6
LendingDate
7 FROM (SELECT
8
LibTranNO,
9
BookTitle,
10
LendingDate,
11
DEREF(SB.StudID) StudentData
12
FROM StudentBooksOV SB
13
) StudentBooksData;
STUDID
---------##########
##########
##########
##########
##########
##########

SNAME
LIBTRANNO BOOKTITLE
LENDINGDA
--------- --------- -------------------- --------SAMPATH
2002 ATOMIC PHYSICS
03-AUG-10
SAMPATH
2001 FLUID MECHANICS
03-AUG-10
SAMPATH
2000 THERMO DYNAMICS
03-AUG-10
SRINIVAS
2004 AVIATION THEORY
03-AUG-10
SRINIVAS
2003 STRUCTURAL DYNAMICS 03-AUG-10
SHIVAJI
2005 PROPULSION THEORY
03-AUG-10

6 rows selected.
SQL> COLUMN STUDID FORMAT 9999
SQL> /
STUDID
-----1200
1200
1200
1201
1201
1202

SNAME
LIBTRANNO BOOKTITLE
LENDINGDA
--------- --------- -------------------- --------SAMPATH
2002 ATOMIC PHYSICS
03-AUG-10
SAMPATH
2001 FLUID MECHANICS
03-AUG-10
SAMPATH
2000 THERMO DYNAMICS
03-AUG-10
SRINIVAS
2004 AVIATION THEORY
03-AUG-10
SRINIVAS
2003 STRUCTURAL DYNAMICS 03-AUG-10
SHIVAJI
2005 PROPULSION THEORY
03-AUG-10

6 rows selected.
SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> SELECT
2
SQL> BEGIN
2
3
4
5
6
7
8 END;
9 .
SQL> BEGIN
2
3 END;
4 /
END;
*
ERROR at line 3:
ORA-06550: line 3, column 1:
PLS-00103: Encountered the symbol "END" when expecting one of the following:
begin case declare exit for goto if loop mod null pragma
raise return select update while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge
<a single-quoted SQL string> pipe
<an alternatively-quoted SQL string>

SQL>
2
3
4

BEGIN
NULL;
END;
/

PL/SQL procedure successfully completed.


SQL>
2
3
4

BEGIN
RETURN;
END;
/

PL/SQL procedure successfully completed.


SQL>
2
3
4
5

DECLARE
BEGIN
NULL;
END;
/

PL/SQL procedure successfully completed.


SQL> DECLARE
2 BEGIN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3 NULL;
4 EXCEPTION
5 END;
6 /
END;
*
ERROR at line 5:
ORA-06550: line 5, column 1:
PLS-00103: Encountered the symbol "END" when expecting one of the following:
pragma when

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 BEGIN
3 NULL;
4 EXCEPTION
5 WHEN OTHERS THEN
6* END;
SQL> /
END;
*
ERROR at line 6:
ORA-06550: line 6, column 1:
PLS-00103: Encountered the symbol "END" when expecting one of the following:
begin case declare exit for goto if loop mod null pragma
raise return select update while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge
<a single-quoted SQL string> pipe
<an alternatively-quoted SQL string>

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7*
SQL>

DECLARE
BEGIN
NULL;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
/

PL/SQL procedure successfully completed.


SQL>
2
3
4
SQL>

DECLARE
V_Num NUMBER(4);
V_Bool BOOLEAN;
.
DECLARE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2 x NUMBER(4);
3 .
SQL> cl scr
SQL>
2
SQL>
2
3
SQL>
2
3
4
5
6
7
8
9
10
11
12
SQL>

DECLARE
.
DECLARE
V_Number NUMBER(4);
.
<<MyProgram>>
DECLARE
V_Number NUMBER(4) := 1234;
V_String VARCHAR2(10) := 'SAMPLE'; --A Variable To Hold String
/*
Executable Routine
is About To Begin.
Here We Write The
Operational Logic.
*/
BEGIN
.
SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> BEGIN
2 .
SQL> SELECT * FROM Dept;
DEPTNO
---------10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SQL> cl scr
SQL>
2
3
4

BEGIN
DBMS_OUTPUT.PUT_LINE('First Message From PL/SQL');
END;
/

PL/SQL procedure successfully completed.


SQL> SET SERVEROUTPUT ON
SQL> R
1 BEGIN
2 DBMS_OUTPUT.PUT_LINE('First Message From PL/SQL');
3* END;
First Message From PL/SQL
PL/SQL procedure successfully completed.
SQL>
SQL>
1
2
3*

SET SERVEROUTPUT OFF


R
BEGIN
DBMS_OUTPUT.PUT_LINE('First Message From PL/SQL');
END;

PL/SQL procedure successfully completed.


SQL> SET SERVEROUTPUT ON
SQL> R
1 BEGIN
2 DBMS_OUTPUT.PUT_LINE('First Message From PL/SQL');
3* END;
First Message From PL/SQL
PL/SQL procedure successfully completed.
SQL> SELECT 'First Message From PL/SQL' SampleOutput FROM DUAL;
SAMPLEOUTPUT
------------------------First Message From PL/SQL
SQL> SET SERVEROUTPUT OFF
SQL> R
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1* SELECT 'First Message From PL/SQL' SampleOutput FROM DUAL


SAMPLEOUTPUT
------------------------First Message From PL/SQL
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14

DECLARE
V_Sample1 NUMBER(2);
V_Sample2 CONSTANT NUMBER(2) := 99;
V_Sample3 NUMBER(2) NOT NULL := 0;
V_Sample4 NUMBER(2) := 50;
V_Sample5 NUMBER(2) DEFAULT 25;
BEGIN
DBMS_OUTPUT.PUT_LINE(V_Sample1);
DBMS_OUTPUT.PUT_LINE(V_Sample2);
DBMS_OUTPUT.PUT_LINE(V_Sample3);
DBMS_OUTPUT.PUT_LINE(V_Sample4);
DBMS_OUTPUT.PUT_LINE(V_Sample5);
END;
/

PL/SQL procedure successfully completed.


SQL>
SQL>
1
2
3
4
5
6
7
8
9
10
11
12
13*
99
0
50
25

SET SERVEROUTPUT ON
R
DECLARE
V_Sample1 NUMBER(2);
V_Sample2 CONSTANT NUMBER(2) := 99;
V_Sample3 NUMBER(2) NOT NULL := 0;
V_Sample4 NUMBER(2) := 50;
V_Sample5 NUMBER(2) DEFAULT 25;
BEGIN
DBMS_OUTPUT.PUT_LINE(V_Sample1);
DBMS_OUTPUT.PUT_LINE(V_Sample2);
DBMS_OUTPUT.PUT_LINE(V_Sample3);
DBMS_OUTPUT.PUT_LINE(V_Sample4);
DBMS_OUTPUT.PUT_LINE(V_Sample5);
END;

PL/SQL procedure successfully completed.


SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6

DECLARE
V_Sample1 NUMBER(2);
V_Sample2 CONSTANT NUMBER(2) := 99;
V_Sample3 NUMBER(2) NOT NULL := 0;
V_Sample4 NUMBER(2) := 50;
V_Sample5 NUMBER(2) DEFAULT 25;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7 BEGIN
8 DBMS_OUTPUT.PUT_LINE('The
9 DBMS_OUTPUT.PUT_LINE('The
10 DBMS_OUTPUT.PUT_LINE('The
11 DBMS_OUTPUT.PUT_LINE('The
12 DBMS_OUTPUT.PUT_LINE('The
13* END;
SQL> /
The Value in Sample1 :
The Value in Sample2 : 99
The Value in Sample3 : 0
The Value in Sample4 : 50
The Value in Sample5 : 25

Value
Value
Value
Value
Value

in
in
in
in
in

Sample1
Sample2
Sample3
Sample4
Sample5

:
:
:
:
:

'||V_Sample1);
'||V_Sample2);
'||V_Sample3);
'||V_Sample4);
'||V_Sample5);

PL/SQL procedure successfully completed.


SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Sample1 NUMBER(2);
3 V_Sample2 CONSTANT NUMBER(2) :=
4 V_Sample3 NUMBER(2) NOT NULL :=
5 V_Sample4 NUMBER(2) := 50;
6 V_Sample5 NUMBER(2) DEFAULT 25;
7 BEGIN
8 DBMS_OUTPUT.PUT_LINE('The Value
'Not Assigned'));
9 DBMS_OUTPUT.PUT_LINE('The Value
'Not Assigned'));
10 DBMS_OUTPUT.PUT_LINE('The Value
'Not Assigned'));
11 DBMS_OUTPUT.PUT_LINE('The Value
'Not Assigned'));
12 DBMS_OUTPUT.PUT_LINE('The Value
'Not Assigned'));
13* END;
SQL> /
The Value in Sample1 : Not Assigned
The Value in Sample2 : 99
The Value in Sample3 : 0
The Value in Sample4 : 50
The Value in Sample5 : 25

99;
0;

in Sample1 : '||NVL(TO_CHAR(V_Sample1),
in Sample2 : '||NVL(TO_CHAR(V_Sample2),
in Sample3 : '||NVL(TO_CHAR(V_Sample3),
in Sample4 : '||NVL(TO_CHAR(V_Sample4),
in Sample5 : '||NVL(TO_CHAR(V_Sample5),

PL/SQL procedure successfully completed.


SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5

DECLARE
V_Sample1 NUMBER(2);
V_Sample2 CONSTANT NUMBER(2) :=99;
V_Sample3 NUMBER(2) NOT NULL;
V_Sample4 NUMBER(2) := 50;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

6 V_Sample5 NUMBER(2) DEFAULT 25;


7 BEGIN
8 DBMS_OUTPUT.PUT_LINE('The Value in
'Not Assigned'));
9 DBMS_OUTPUT.PUT_LINE('The Value in
'Not Assigned'));
10 DBMS_OUTPUT.PUT_LINE('The Value in
'Not Assigned'));
11 DBMS_OUTPUT.PUT_LINE('The Value in
'Not Assigned'));
12 DBMS_OUTPUT.PUT_LINE('The Value in
'Not Assigned'));
13* END;
SQL> /
V_Sample3 NUMBER(2) NOT NULL;
*
ERROR at line 4:
ORA-06550: line 4, column 11:
PLS-00218: a variable declared NOT NULL

Sample1 : '||NVL(TO_CHAR(V_Sample1),
Sample2 : '||NVL(TO_CHAR(V_Sample2),
Sample3 : '||NVL(TO_CHAR(V_Sample3),
Sample4 : '||NVL(TO_CHAR(V_Sample4),
Sample5 : '||NVL(TO_CHAR(V_Sample5),

must have an initialization assignment

SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Sample1 NUMBER(2);
3 V_Sample2 CONSTANT NUMBER(2) :=99;
4 V_Sample3 NUMBER(2) NOT NULL := 0;
5 V_Sample4 NUMBER(2) := 50;
6 V_Sample5 NUMBER(2) DEFAULT 25;
7 BEGIN
8 DBMS_OUTPUT.PUT_LINE('The Value in Sample1 : '||NVL(TO_CHAR(V_Sample1),
'Not Assigned'));
9 DBMS_OUTPUT.PUT_LINE('The Value in Sample2 : '||NVL(TO_CHAR(V_Sample2),
'Not Assigned'));
10 DBMS_OUTPUT.PUT_LINE('The Value in Sample3 : '||NVL(TO_CHAR(V_Sample3),
'Not Assigned'));
11 DBMS_OUTPUT.PUT_LINE('The Value in Sample4 : '||NVL(TO_CHAR(V_Sample4),
'Not Assigned'));
12 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample5),
'Not Assigned'));
13 V_Sample2 := 55;
14 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample2),
'Not Assigned'));
15* END;
SQL> /
V_Sample2 := 55;
*
ERROR at line 13:
ORA-06550: line 13, column 1:
PLS-00363: expression 'V_SAMPLE2' cannot be used as an assignment target
ORA-06550: line 13, column 1:
PL/SQL: Statement ignored
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Sample1 NUMBER(2);
3 V_Sample2 CONSTANT NUMBER(2) :=99;
4 V_Sample3 NUMBER(2) NOT NULL := 0;
5 V_Sample4 NUMBER(2) := 50;
6 V_Sample5 NUMBER(2) DEFAULT 25;
7 BEGIN
8 DBMS_OUTPUT.PUT_LINE('The Value in
'Not Assigned'));
9 DBMS_OUTPUT.PUT_LINE('The Value in
'Not Assigned'));
10 DBMS_OUTPUT.PUT_LINE('The Value in
'Not Assigned'));
11 DBMS_OUTPUT.PUT_LINE('The Value in
'Not Assigned'));
12 DBMS_OUTPUT.PUT_LINE('The Value in
'Not Assigned'));
13 DBMS_OUTPUT.PUT_LINE('The Value in
'Not Assigned'));
14* END;
SQL> /
The Value in Sample1 : Not Assigned
The Value in Sample2 : 99
The Value in Sample3 : 0
The Value in Sample4 : 50
The Value in Sample5 : 25
The Value in Sample5 : 99

Sample1 : '||NVL(TO_CHAR(V_Sample1),
Sample2 : '||NVL(TO_CHAR(V_Sample2),
Sample3 : '||NVL(TO_CHAR(V_Sample3),
Sample4 : '||NVL(TO_CHAR(V_Sample4),
Sample5 : '||NVL(TO_CHAR(V_Sample5),
Sample5 : '||NVL(TO_CHAR(V_Sample2),

PL/SQL procedure successfully completed.


SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Sample1NUMBER(2);
3 V_Sample2 CONSTANT NUMBER(2) = 99;
4 V_Sample3 NUMBER(2) NOT NULL;
5 V_Sample4 NUMBER(2) := 50
6 V_Sample5 NUMBER(2) DEFAULT 25;
7 BEGIN
8 DBMS_OUTPUT.PUT_LINE('The Value in Sample1 : '||NVL(TO_CHAR(V_Sample1, 'Not
Assigned'));
9 DBMS_OUTPUT.PUT_LINE('The Value in Sample2 : '||NVL(TO_CHAR(V_Sample2),
'Not Assigned'))
10 DBMS_OUTPUT.PUT_LINE('The Value in Sample3 : '||NVL(TO_CHAR(V_Sample3),
'Not Assigned'));
11 DBMS_OUTPUT.PUT_LINE('The Value in Sample4 : ||NVL(TO_CHAR(V_Sample4), 'Not
Assigned'));
12 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample5),
'Not Assigned'));
13 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample12),
'Not Assigned'));
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

14* END;
SQL> /
ERROR:
ORA-01756: quoted string not properly terminated

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Sample1NUMBER(2);
3 V_Sample2 CONSTANT NUMBER(2) = 99;
4 V_Sample3 NUMBER(2) NOT NULL;
5 V_Sample4 NUMBER(2) := 50
6 V_Sample5 NUMBER(2) DEFAULT 25;
7 BEGIN
8 DBMS_OUTPUT.PUT_LINE('The Value in Sample1 : '||NVL(TO_CHAR(V_Sample1, 'Not
Assigned'));
9 DBMS_OUTPUT.PUT_LINE('The Value in Sample2 : '||NVL(TO_CHAR(V_Sample2),
'Not Assigned'))
10 DBMS_OUTPUT.PUT_LINE('The Value in Sample3 : '||NVL(TO_CHAR(V_Sample3),
'Not Assigned'));
11 DBMS_OUTPUT.PUT_LINE('The Value in Sample4 : '||NVL(TO_CHAR(V_Sample4),
'Not Assigned'));
12 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample5),
'Not Assigned'));
13 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample12),
'Not Assigned'));
14* END;
SQL> /
V_Sample1NUMBER(2);
*
ERROR at line 2:
ORA-06550: line 2, column 16:
PLS-00103: Encountered the symbol "(" when expecting one of the following:
constant exception <an identifier>
<a double-quoted delimited-identifier> table LONG_ double ref
char time timestamp interval date binary national character
nchar
The symbol "<an identifier>" was substituted for "(" to continue.
ORA-06550: line 3, column 30:
PLS-00103: Encountered the symbol "=" when expecting one of the following:
:= ; not null default character
The symbol ":= was inserted before "=" to continue.
ORA-06550: line 6, column 1:
PLS-00103: Encountered the symbol "V_SAMPLE5" when expecting one of the
following:
* & = - + ; < / > at in is mod remainder not rem
<an exponent (**)> <> or != or ~= >= <= <> and or like
between || multiset member SUBMULTISET_
Th
ORA-06550: line 8, column 88:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
. ( ) , * % & | = - + < / > at in is mod remainder not rem =>
.. <an exponent (**)> <> or != or ~= >=
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Sample1NUMBER(2);
3 V_Sample2 CONSTANT NUMBER(2) = 99;
4 V_Sample3 NUMBER(2) NOT NULL;
5 V_Sample4 NUMBER(2) := 50
6 V_Sample5 NUMBER(2) DEFAULT 25;
7 BEGIN
8 DBMS_OUTPUT.PUT_LINE('The Value in Sample1 :
Assigned'));
9 DBMS_OUTPUT.PUT_LINE('The Value in Sample2 :
'Not Assigned'))
10 DBMS_OUTPUT.PUT_LINE('The Value in Sample3 :
'Not Assigned'));
11 DBMS_OUTPUT.PUT_LINE('The Value in Sample4 :
Assigned'));
12 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 :
'Not Assigned'));
13 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 :
'Not Assigned'));
14* END;
SQL> /
ERROR:
ORA-01756: quoted string not properly terminated

'||NVL(TO_CHAR(V_Sample1, 'Not
'||NVL(TO_CHAR(V_Sample2),
'||NVL(TO_CHAR(V_Sample3),
||NVL(TO_CHAR(V_Sample4), 'Not
'||NVL(TO_CHAR(V_Sample5),
'||NVL(TO_CHAR(V_Sample12),

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Sample1NUMBER(2);
3 V_Sample2 CONSTANT NUMBER(2) = 99;
4 V_Sample3 NUMBER(2) NOT NULL;
5 V_Sample4 NUMBER(2) := 50
6 V_Sample5 NUMBER(2) DEFAULT 25;
7 BEGIN
8 DBMS_OUTPUT.PUT_LINE('The Value in Sample1 : '||NVL(TO_CHAR(V_Sample1, 'Not
Assigned'));
9 DBMS_OUTPUT.PUT_LINE('The Value in Sample2 : '||NVL(TO_CHAR(V_Sample2),
'Not Assigned'))
10 DBMS_OUTPUT.PUT_LINE('The Value in Sample3 : '||NVL(TO_CHAR(V_Sample3),
'Not Assigned'));
11 DBMS_OUTPUT.PUT_LINE('The Value in Sample4 : '||NVL(TO_CHAR(V_Sample4),
'Not Assigned'));
12 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample5),
'Not Assigned'));
13 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample12),
'Not Assigned'));
14* END;
SQL> /
V_Sample1NUMBER(2);
*
ERROR at line 2:
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ORA-06550: line 2, column 16:


PLS-00103: Encountered the symbol "(" when expecting one of the following:
constant exception <an identifier>
<a double-quoted delimited-identifier> table LONG_ double ref
char time timestamp interval date binary national character
nchar
The symbol "<an identifier>" was substituted for "(" to continue.
ORA-06550: line 3, column 30:
PLS-00103: Encountered the symbol "=" when expecting one of the following:
:= ; not null default character
The symbol ":= was inserted before "=" to continue.
ORA-06550: line 6, column 1:
PLS-00103: Encountered the symbol "V_SAMPLE5" when expecting one of the
following:
* & = - + ; < / > at in is mod remainder not rem
<an exponent (**)> <> or != or ~= >= <= <> and or like
between || multiset member SUBMULTISET_
Th
ORA-06550: line 8, column 88:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
. ( ) , * % & | = - + < / > at in is mod remainder not rem =>
.. <an exponent (**)> <> or != or ~= >=

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Sample1NUMBERCONSTANT2);
3 V_Sample2 CONSTANT NUMBER(2) = 99;
4 V_Sample3 NUMBER(2) NOT NULL;
5 V_Sample4 NUMBER(2) := 50
6 V_Sample5 NUMBER(2) DEFAULT 25;
7 BEGIN
8 DBMS_OUTPUT.PUT_LINE('The Value in Sample1 : '||NVL(TO_CHAR(V_Sample1, 'Not
Assigned'));
9 DBMS_OUTPUT.PUT_LINE('The Value in Sample2 : '||NVL(TO_CHAR(V_Sample2),
'Not Assigned'))
10 DBMS_OUTPUT.PUT_LINE('The Value in Sample3 : '||NVL(TO_CHAR(V_Sample3),
'Not Assigned'));
11 DBMS_OUTPUT.PUT_LINE('The Value in Sample4 : '||NVL(TO_CHAR(V_Sample4),
'Not Assigned'));
12 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample5),
'Not Assigned'));
13 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample12),
'Not Assigned'));
14* END;
SQL> /
V_Sample1NUMBERCONSTANT2);
*
ERROR at line 2:
ORA-06550: line 2, column 25:
PLS-00103: Encountered the symbol ")" when expecting one of the following:
constant exception <an identifier>
<a double-quoted delimited-identifier> table LONG_ double ref
char time timestamp interval date binary national character
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

nchar
ORA-06550: line 3, column 30:
PLS-00103: Encountered the symbol "=" when expecting one of the following:
:= ; not null default character
The symbol ":= was inserted before "=" to continue.
ORA-06550: line 6, column 1:
PLS-00103: Encountered the symbol "V_SAMPLE5" when expecting one of the
following:
* & = - + ; < / > at in is mod remainder not rem
<an exponent (**)> <> or != or ~= >= <= <> and or like
between || multiset member SUBMULTISET_
Th
ORA-06550: line 8, column 88:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
. ( ) , * % & | = - + < / > at in is mod remainder not rem =>
.. <an exponent (**)> <> or != or ~= >= <= <> and or like as
between from using || member S
ORA-06550:

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Sample1NUMBERCONSTANT2CONSTANT;
3 V_Sample2 CONSTANT NUMBER(2) = 99;
4 V_Sample3 NUMBER(2) NOT NULL;
5 V_Sample4 NUMBER(2) := 50
6 V_Sample5 NUMBER(2) DEFAULT 25;
7 BEGIN
8 DBMS_OUTPUT.PUT_LINE('The Value in Sample1 : '||NVL(TO_CHAR(V_Sample1, 'Not
Assigned'));
9 DBMS_OUTPUT.PUT_LINE('The Value in Sample2 : '||NVL(TO_CHAR(V_Sample2),
'Not Assigned'))
10 DBMS_OUTPUT.PUT_LINE('The Value in Sample3 : '||NVL(TO_CHAR(V_Sample3),
'Not Assigned'));
11 DBMS_OUTPUT.PUT_LINE('The Value in Sample4 : '||NVL(TO_CHAR(V_Sample4),
'Not Assigned'));
12 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample5),
'Not Assigned'));
13 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample12),
'Not Assigned'));
14* END;
SQL> /
V_Sample1NUMBERCONSTANT2CONSTANT;
*
ERROR at line 2:
ORA-06550: line 2, column 1:
PLS-00114: identifier 'V_SAMPLE1NUMBERCONSTANT2CONSTA' too long
ORA-06550: line 2, column 33:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
constant exception <an identifier>
<a double-quoted delimited-identifier> table LONG_ double ref
char time timestamp interval date binary national charac
ORA-06550: line 3, column 30:
PLS-00103: Encountered the symbol "=" when expecting one of the following:
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

:= ; not null default character


The symbol ":= was inserted before "=" to continue.
ORA-06550: line 6, column 1:
PLS-00103: Encountered the symbol "V_SAMPLE5" when expecting one of the
following:
* & = - + ; < / > at in is mod remainder not rem
<an exponent (**)> <> or != or ~= >= <= <> and or like
between || multiset member SUBMULTISET_
Th
ORA-06550: line 8, column 88:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
. ( ) , * % & | = - + < / > at in is mod remainder not rem =>
.. <an exponent (**)> <>

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Sample2 CONSTANT NUMBER(2) = 99;
3 V_Sample3 NUMBER(2) NOT NULL;
4 V_Sample4 NUMBER(2) := 50
5 V_Sample5 NUMBER(2) DEFAULT 25;
6 BEGIN
7 DBMS_OUTPUT.PUT_LINE('The Value in Sample1 : '||NVL(TO_CHAR(V_Sample1, 'Not
Assigned'));
8 DBMS_OUTPUT.PUT_LINE('The Value in Sample2 : '||NVL(TO_CHAR(V_Sample2),
'Not Assigned'))
9 DBMS_OUTPUT.PUT_LINE('The Value in Sample3 : '||NVL(TO_CHAR(V_Sample3),
'Not Assigned'));
10 DBMS_OUTPUT.PUT_LINE('The Value in Sample4 : '||NVL(TO_CHAR(V_Sample4),
'Not Assigned'));
11 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample5),
'Not Assigned'));
12 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample12),
'Not Assigned'));
13* END;
SQL> /
V_Sample2 CONSTANT NUMBER(2) = 99;
*
ERROR at line 2:
ORA-06550: line 2, column 30:
PLS-00103: Encountered the symbol "=" when expecting one of the following:
:= ; not null default character
The symbol ":= was inserted before "=" to continue.
ORA-06550: line 5, column 1:
PLS-00103: Encountered the symbol "V_SAMPLE5" when expecting one of the
following:
* & = - + ; < / > at in is mod remainder not rem
<an exponent (**)> <> or != or ~= >= <= <> and or like
between || multiset member SUBMULTISET_
Th
ORA-06550: line 7, column 88:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
. ( ) , * % & | = - + < / > at in is mod remainder not rem =>
.. <an exponent (**)> <> or != or ~= >= <= <> and or like as
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

between from using || member S


ORA-06550: line 9, column 1:
PLS-00103: Encountered the symbol "DBMS_OUTPUT" when expecting one of the
following:
:= . ( % ;
The symbol ":=" was substituted for "DBMS_OUTPUT" to continue.

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Sample1 NUMBER(2);
3 V_Sample2 CONSTANT NUMBER(2) = 99;
4 V_Sample3 NUMBER(2) NOT NULL;
5 V_Sample4 NUMBER(2) := 50
6 V_Sample5 NUMBER(2) DEFAULT 25;
7 BEGIN
8 DBMS_OUTPUT.PUT_LINE('The Value in Sample1 : '||NVL(TO_CHAR(V_Sample1, 'Not
Assigned'));
9 DBMS_OUTPUT.PUT_LINE('The Value in Sample2 : '||NVL(TO_CHAR(V_Sample2),
'Not Assigned'))
10 DBMS_OUTPUT.PUT_LINE('The Value in Sample3 : '||NVL(TO_CHAR(V_Sample3),
'Not Assigned'));
11 DBMS_OUTPUT.PUT_LINE('The Value in Sample4 : '||NVL(TO_CHAR(V_Sample4),
'Not Assigned'));
12 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample5),
'Not Assigned'));
13 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample12),
'Not Assigned'));
14* END;
SQL> /
V_Sample2 CONSTANT NUMBER(2) = 99;
*
ERROR at line 3:
ORA-06550: line 3, column 30:
PLS-00103: Encountered the symbol "=" when expecting one of the following:
:= ; not null default character
The symbol ":= was inserted before "=" to continue.
ORA-06550: line 6, column 1:
PLS-00103: Encountered the symbol "V_SAMPLE5" when expecting one of the
following:
* & = - + ; < / > at in is mod remainder not rem
<an exponent (**)> <> or != or ~= >= <= <> and or like
between || multiset member SUBMULTISET_
Th
ORA-06550: line 8, column 88:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
. ( ) , * % & | = - + < / > at in is mod remainder not rem =>
.. <an exponent (**)> <> or != or ~= >= <= <> and or like as
between from using || member S
ORA-06550: line 10, column 1:
PLS-00103: Encountered the symbol "DBMS_OUTPUT" when expecting one of the
following:
:= . ( % ;
The symbol ":=" was substituted for "DBMS_OUTPUT" to continue.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Sample1 NUMBER(2);
3 V_Sample2 CONSTANT NUMBER(2) := 99;
4 V_Sample3 NUMBER(2) NOT NULL;
5 V_Sample4 NUMBER(2) := 50
6 V_Sample5 NUMBER(2) DEFAULT 25;
7 BEGIN
8 DBMS_OUTPUT.PUT_LINE('The Value in Sample1 : '||NVL(TO_CHAR(V_Sample1, 'Not
Assigned'));
9 DBMS_OUTPUT.PUT_LINE('The Value in Sample2 : '||NVL(TO_CHAR(V_Sample2),
'Not Assigned'))
10 DBMS_OUTPUT.PUT_LINE('The Value in Sample3 : '||NVL(TO_CHAR(V_Sample3),
'Not Assigned'));
11 DBMS_OUTPUT.PUT_LINE('The Value in Sample4 : '||NVL(TO_CHAR(V_Sample4),
'Not Assigned'));
12 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample5),
'Not Assigned'));
13 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample12),
'Not Assigned'));
14* END;
SQL> /
V_Sample5 NUMBER(2) DEFAULT 25;
*
ERROR at line 6:
ORA-06550: line 6, column 1:
PLS-00103: Encountered the symbol "V_SAMPLE5" when expecting one of the
following:
* & = - + ; < / > at in is mod remainder not rem
<an exponent (**)> <> or != or ~= >= <= <> and or like
between || multiset member SUBMULTISET_
The symbol ";" was substituted for "V_SAMPLE5" to continue.
ORA-06550: line 8, column 88:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
. ( ) , * % & | = - + < / > at in is mod remainder not rem =>
.. <an exponent (**)> <> or != or ~= >= <= <> and or like as
between from using || member S
ORA-06550: line 10, column 1:
PLS-00103: Encountered the symbol "DBMS_OUTPUT" when expecting one of the
following:
:= . ( % ;
The symbol ":=" was substituted for "DBMS_OUTPUT" to continue.

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5

DECLARE
V_Sample1 NUMBER(2);
V_Sample2 CONSTANT NUMBER(2) := 99;
V_Sample3 NUMBER(2) NOT NULL;
V_Sample4 NUMBER(2) := 50;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

6 V_Sample5 NUMBER(2) DEFAULT 25;


7 BEGIN
8 DBMS_OUTPUT.PUT_LINE('The Value in Sample1 : '||NVL(TO_CHAR(V_Sample1, 'Not
Assigned'));
9 DBMS_OUTPUT.PUT_LINE('The Value in Sample2 : '||NVL(TO_CHAR(V_Sample2),
'Not Assigned'))
10 DBMS_OUTPUT.PUT_LINE('The Value in Sample3 : '||NVL(TO_CHAR(V_Sample3),
'Not Assigned'));
11 DBMS_OUTPUT.PUT_LINE('The Value in Sample4 : '||NVL(TO_CHAR(V_Sample4),
'Not Assigned'));
12 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample5),
'Not Assigned'));
13 DBMS_OUTPUT.PUT_LINE('The Value in Sample5 : '||NVL(TO_CHAR(V_Sample12),
'Not Assigned'));
14* END;
SQL> /
DBMS_OUTPUT.PUT_LINE('The Value in Sample1 : '||NVL(TO_CHAR(V_Sample1, 'Not
Assigned'));
*
ERROR at line 8:
ORA-06550: line 8, column 88:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
. ( ) , * % & | = - + < / > at in is mod remainder not rem =>
.. <an exponent (**)> <> or != or ~= >= <= <> and or like as
between from using || member SUBMULTISET_
The symbol ")" was substituted for ";" to continue.
ORA-06550: line 10, column 1:
PLS-00103: Encountered the symbol "DBMS_OUTPUT" when expecting one of the
following:
:= . ( % ;
The symbol ":=" was substituted for "DBMS_OUTPUT" to continue.

SQL> cl scr
SQL>
2
3
4
5
6
7
8
Text

BEGIN
DBMS_OUTPUT.PUT_LINE('Text With Out Quotes');
--DBMS_OUTPUT.PUT_LINE('''Text With in Quotes''');
--DBMS_OUTPUT.PUT_LINE('''Text'' ''With'' ''in'' ''Quotes''');
--DBMS_OUTPUT.PUT_LINE(Q'!'Text With in Quotes'!');
--DBMS_OUTPUT.PUT_LINE(Q'!'Text' 'With' 'in' 'Quotes'!');
END;
/
With Out Quotes

PL/SQL procedure successfully completed.


SQL> ED
Wrote file afiedt.buf
1
2
3
4
5

BEGIN
DBMS_OUTPUT.PUT_LINE('Text With Out Quotes');
DBMS_OUTPUT.PUT_LINE('''Text With in Quotes''');
--DBMS_OUTPUT.PUT_LINE('''Text'' ''With'' ''in'' ''Quotes''');
--DBMS_OUTPUT.PUT_LINE(Q'!'Text With in Quotes'!');
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

6 --DBMS_OUTPUT.PUT_LINE(Q'!'Text' 'With' 'in' 'Quotes'!');


7* END;
SQL> /
Text With Out Quotes
'Text With in Quotes'
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1 BEGIN
2 DBMS_OUTPUT.PUT_LINE('Text With Out Quotes');
3 DBMS_OUTPUT.PUT_LINE('''Text With in Quotes''');
4 DBMS_OUTPUT.PUT_LINE('''Text'' ''With'' ''in'' ''Quotes''');
5 --DBMS_OUTPUT.PUT_LINE(Q'!'Text With in Quotes'!');
6 --DBMS_OUTPUT.PUT_LINE(Q'!'Text' 'With' 'in' 'Quotes'!');
7* END;
SQL> /
Text With Out Quotes
'Text With in Quotes'
'Text' 'With' 'in' 'Quotes'
PL/SQL procedure successfully completed.
SQL> BEGIN
2 DBMS_OUTPUT.PUT_LINE('Text With Out Quotes');
3 DBMS_OUTPUT.PUT_LINE('''Text With in Quotes''');
4 DBMS_OUTPUT.PUT_LINE('''Text'' ''With'' ''in'' ''Quotes''');
5 DBMS_OUTPUT.PUT_LINE(Q'!'Text With in Quotes'!');
6 DBMS_OUTPUT.PUT_LINE(Q'!'Text' 'With' 'in' 'Quotes'!');
7 END;
8 /
Text With Out Quotes
'Text With in Quotes'
'Text' 'With' 'in' 'Quotes'
'Text With in Quotes'
'Text' 'With' 'in' 'Quotes'
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8*
SQL>
Your

DECLARE
String1 VARCHAR2(30) := 'Oracle';
String2 VARCHAR2(30) := 'Corporation';
BEGIN
DBMS_OUTPUT.PUT_LINE('Your First String is : '||String1);
DBMS_OUTPUT.PUT_LINE('Your Second String is : ' ||String2);
DBMS_OUTPUT.PUT_LINE('Your Final String is : '||String1||String2);
END;
/
First String is : Oracle
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Your Second String is : Corporation


Your Final String is : OracleCorporation
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 String1 VARCHAR2(30) := 'Oracle';
3 String2 VARCHAR2(30) := 'Corporation';
4 BEGIN
5 DBMS_OUTPUT.PUT_LINE('Your First String is : '||String1);
6 DBMS_OUTPUT.PUT_LINE('Your Second String is : ' ||String2);
7 DBMS_OUTPUT.PUT_LINE('Your Final String is : '||CONCAT(String1, CONCAT(' ',
String2)));
8* END;
SQL> /
Your First String is : Oracle
Your Second String is : Corporation
Your Final String is : Oracle Corporation
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 MyNumber1 NUMBER := 10;
3 MyNumber2 NUMBER := 20;
4 BEGIN
5 DBMS_OUTPUT.PUT_LINE('Your First Number is : '||MyNumber1);
6 DBMS_OUTPUT.PUT_LINE('Your Second Number is : '||MyNumber2);
7 DBMS_OUTPUT.PUT_LINE('The Sum of '||MyNumber1||' and '||MyNumber2||' is :
'||TO_CHAR(MyNumber1 + MyNumber2, '999D99'));
8* END;
SQL> /
Your First Number is : 10
Your Second Number is : 20
The Sum of 10 and 20 is :
30.00
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1 DECLARE
2
MyNumber1 NUMBER := 10;
3
MyNumber2 NUMBER := 20;
4 BEGIN
5
DBMS_OUTPUT.PUT_LINE('Your First Number is : '||TO_CHAR(TO_DATE(MyNumber1,
'J'), 'JSP'));
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

6
DBMS_OUTPUT.PUT_LINE('Your Second Number is : '||TO_CHAR(TO_DATE(MyNumber2,
'J'), 'JSP'));
7
DBMS_OUTPUT.PUT_LINE('The Sum of '||TO_CHAR(TO_DATE(MyNumber1, 'J'),
'JSP')||' and '||TO_CHAR(TO_DATE(MyNumber2, 'J'), 'JSP')||' is :
'||TO_CHAR(TO_DATE(MyNumber1 + MyNumber2, 'J'), 'JSP'));
8* END;
SQL> /
Your First Number is : TEN
Your Second Number is : TWENTY
The Sum of TEN and TWENTY is : THIRTY
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2
String1 VARCHAR2(30) := '&String1';
3
String2 VARCHAR2(30) := '&String2';
4 BEGIN
5
DBMS_OUTPUT.PUT_LINE('Your First String is : '||String1);
6
DBMS_OUTPUT.PUT_LINE('Your Second String is : '||String2);
7
DBMS_OUTPUT.PUT_LINE('Your Final String is : '||String1||String2);
8 END;
9 /
Enter value for string1: Oracle
Enter value for string2: Corporation
Your First String is : Oracle
Your Second String is : Corporation
Your Final String is : OracleCorporation
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1 DECLARE
2
String1 VARCHAR2(30);
3
String2 VARCHAR2(30);
4 BEGIN
5
String1 := '&String1';
6
DBMS_OUTPUT.PUT_LINE('Your First String is : '||String1);
7
String2 := '&String2';
8
DBMS_OUTPUT.PUT_LINE('Your Second String is : '||String2);
9
DBMS_OUTPUT.PUT_LINE('Your Final String is : '||String1||String2);
10* END;
SQL> /
Enter value for string1: Oracle
Enter value for string2: Corporation
Your First String is : Oracle
Your Second String is : Corporation
Your Final String is : OracleCorporation
PL/SQL procedure successfully completed.
SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2
MyNumber1 NUMBER := &Number1;
3
MyNumber2 NUMBER := &Number2;
4 BEGIN
5
DBMS_OUTPUT.PUT_LINE('Your First Number is : '||TO_CHAR(TO_DATE(MyNumber1,
'J'), 'JSP'));
6
DBMS_OUTPUT.PUT_LINE('Your Second Number is : '||TO_CHAR(TO_DATE(MyNumber2,
'J'), 'JSP'));
7
DBMS_OUTPUT.PUT_LINE('The Sum of '||TO_CHAR(TO_DATE(MyNumber1, 'J'),
'JSP')||' and '||TO_CHAR(TO_DATE(MyNumber2, 'J'), 'JSP')||' is :
'||TO_CHAR(TO_DATE(MyNumber1 + MyNumber2, 'J'), 'JSP'));
8* END;
SQL> /
Enter value for number1: 25
Enter value for number2: 45
Your First Number is : TWENTY-FIVE
Your Second Number is : FORTY-FIVE
The Sum of TWENTY-FIVE and FORTY-FIVE is : SEVENTY
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_FirstName
VARCHAR2(30) := '&FName';
3 V_MiddleName VARCHAR2(30) := '&MName';
4 V_LastName
VARCHAR2(30) := '&LName';
5 V_DOB
DATE := '&DateOfBirth';
6 BEGIN
7 DBMS_OUTPUT.PUT_LINE('Your First Name is : '||V_FirstName);
8 DBMS_OUTPUT.PUT_LINE('Your Middle Name is : '||V_MiddleName);
9 DBMS_OUTPUT.PUT_LINE('Your Last Name is : '||V_LastName);
10 DBMS_OUTPUT.PUT_LINE('******Concatenating******');
11 DBMS_OUTPUT.PUT_LINE('Your Full Name is : '||V_FirstName||'
'||V_MiddleName||' '||V_LastName);
12 DBMS_OUTPUT.PUT_LINE('Your Date of Birth is : '|| V_DOB);
13 DBMS_OUTPUT.PUT_LINE('Your Were Born on : '|| TO_CHAR(V_DOB, 'Day'));
14 DBMS_OUTPUT.PUT_LINE('Your Present Age is : '|| TRUNC((SYSDATEV_DOB)/365));
15* END;
SQL> /
Enter value for fname: Sample
Enter value for mname: Simple
Enter value for lname: Text
Enter value for dateofbirth: 12-JAN-96
Your First Name is : Sample
Your Middle Name is : Simple
Your Last Name is : Text
******Concatenating******
Your Full Name is : Sample Simple Text
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Your Date of Birth is : 12-JAN-96


Your Were Born on : Friday
Your Present Age is : 6
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_FirstName
VARCHAR2(30) := '&FName';
3 V_MiddleName VARCHAR2(30) := '&MName';
4 V_LastName
VARCHAR2(30) := '&LName';
5 V_DOB
DATE := '&DateOfBirth';
6 BEGIN
7 DBMS_OUTPUT.PUT_LINE('Your First Name is : '||V_FirstName);
8 DBMS_OUTPUT.PUT_LINE('Your Middle Name is : '||V_MiddleName);
9 DBMS_OUTPUT.PUT_LINE('Your Last Name is : '||V_LastName);
10 DBMS_OUTPUT.PUT_LINE('******Concatenating******');
11 DBMS_OUTPUT.PUT_LINE('Your Full Name is : '||V_FirstName||'
'||V_MiddleName||' '||V_LastName);
12 DBMS_OUTPUT.PUT_LINE('Your Date of Birth is : '|| V_DOB);
13 DBMS_OUTPUT.PUT_LINE('Your Were Born on : '|| TO_CHAR(V_DOB, 'Day'));
14 DBMS_OUTPUT.PUT_LINE('Your Present Age is : '||
TRUNC(MONTHS_BETWEEN(SYSDATE, V_DOB)/12));
15* END;
SQL> /
Enter value for fname: Sample
Enter value for mname: Simple
Enter value for lname: Text
Enter value for dateofbirth: 12-MAR-86
Your First Name is : Sample
Your Middle Name is : Simple
Your Last Name is : Text
******Concatenating******
Your Full Name is : Sample Simple Text
Your Date of Birth is : 12-MAR-86
Your Were Born on : Wednesday
Your Present Age is : 16
PL/SQL procedure successfully completed.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12

DECLARE
BEGIN
NULL;
DECLARE
BEGIN
NULL;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
EXCEPTION
WHEN OTHERS THEN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

13
14
15

NULL;
END;
/

PL/SQL procedure successfully completed.


SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

DECLARE
BEGIN
NULL;
DECLARE
BEGIN
NULL;
DECLARE
BEGIN
NULL;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
DECLARE
BEGIN
NULL;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
/

PL/SQL procedure successfully completed.


SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

DECLARE
BEGIN
NULL;
DECLARE
BEGIN
NULL;
DECLARE
BEGIN
NULL;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
DECLARE
BEGIN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35*
SQL>

NULL;
EXCEPTION
WHEN OTHERS THEN
DECLARE
BEGIN
NULL;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
NULL;
END;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
/

PL/SQL procedure successfully completed.


SQL> cl scr
SQL> DECLARE
2 BEGIN
3 NULL;
4
DECLARE
5
BEGIN
6
NULL;
7
DECLARE
8
BEGIN
9
NULL;
10
EXCEPTION
11
WHEN OTHERS THEN
12
NULL;
13
END;
14
DECLARE
15
BEGIN
16
NULL;
17
EXCEPTION
18
WHEN OTHERS THEN
19
DECLARE
20
BEGIN
21
NULL;
22
EXCEPTION
23
WHEN OTHERS THEN
24
NULL;
25
END;
26
NULL;
27
END;
28
EXCEPTION
29
WHEN OTHERS THEN
30
NULL;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64

END;
EXCEPTION
WHEN OTHERS THEN
DECLARE
BEGIN
NULL;
DECLARE
BEGIN
NULL;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
DECLARE
BEGIN
NULL;
EXCEPTION
WHEN OTHERS THEN
DECLARE
BEGIN
NULL;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
NULL;
END;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
NULL;
END;
/

PL/SQL procedure successfully completed.


SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> SET SERVEROUTPUT ON
SQL> SET VERIFY OFF
SQL> cl scr
SQL> DECLARE
2 V_Empno
NUMBER := &EnterEmpno;
3 V_EName
VARCHAR2(30);
4 V_Job
VARCHAR2(30);
5 V_Sal
NUMBER(7, 2);
6 BEGIN
7 SELECT
8 Ename, Job, Sal
9 INTO
10 V_Ename, V_Job, V_Sal
11 FROM EMP
12 WHERE Empno = V_Empno;
13 DBMS_OUTPUT.PUT_LINE('The Name : '||V_Ename);
14 DBMS_OUTPUT.PUT_LINE('The job : '||V_Job);
15 DBMS_OUTPUT.PUT_LINE('The Sal: '||V_Sal);
16 END;
17 /
Enter value for enterempno: 7839
The Name : KING
The job : PRESIDENT
The Sal: 5000
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 V_Empno
NUMBER(4):=&EnterEmpno;
3 V_EName
VARCHAR2(30);
4 V_Sal
NUMBER(7,2);
5 V_Comm
NUMBER(7,2);
6 BEGIN
7 SELECT
8 EName, Sal, Comm
9 INTO V_EName, V_Sal, V_Comm
10 FROM EMP
11 WHERE Empno = V_Empno;
12 DBMS_OUTPUT.PUT_LINE('The Name : '||INITCAP(V_Ename));
13 DBMS_OUTPUT.PUT_LINE('The Salary : '||TO_CHAR(V_Sal, '99,999.99'));
14 DBMS_OUTPUT.PUT_LINE('The Commission : '||NVL(TO_CHAR(V_Comm), 'No
Commission'));
15 DBMS_OUTPUT.PUT_LINE('The Total Sal is : '||TO_CHAR(V_Sal + NVL(V_Comm,
0)));
16 END;
17 /
Enter value for enterempno: 7654
The Name : Martin
The Salary :
1,250.00
The Commission : 1400
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

The Total Sal is : 2650


PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 V_Empno
NUMBER(4)
:=
&EnterEmpNo;
3 V_Ename
VARCHAR2(30);
4 V_Deptno
NUMBER(2);
5 V_Job
VARCHAR2(30);
6 V_MGR
NUMBER(4);
7 V_HireDate
DATE;
8 V_Sal
NUMBER(7,2);
9 V_Comm
NUMBER(7,2);
10 BEGIN
11
SELECT
12
Ename, Deptno, Job, MGR, HireDate, Sal, Comm
13
INTO
14
V_Ename, V_Deptno, V_Job, V_MGR, V_HireDate, V_Sal, V_Comm
15
FROM Emp
16
WHERE Empno = V_Empno;
17 DBMS_OUTPUT.PUT_LINE('The Details of Employee Number '||V_Empno||'
Requested by You Are ...');
18 DBMS_OUTPUT.PUT_LINE('The Employee Name : '||V_Ename);
19 DBMS_OUTPUT.PUT_LINE('The Department Number : '||V_Deptno);
20 DBMS_OUTPUT.PUT_LINE('The Designation : '||V_Job);
21 DBMS_OUTPUT.PUT_LINE('The Manager Number : '||V_MGR);
22 DBMS_OUTPUT.PUT_LINE('The Joining Date : '||V_HireDate);
23 DBMS_OUTPUT.PUT_LINE('The Basic Salary : '||V_Sal);
24 DBMS_OUTPUT.PUT_LINE('The Commission Earned : '||V_Comm);
25 END;
26 /
Enter value for enterempno: 7654
The Details of Employee Number 7654 Requested by You Are ...
The Employee Name : MARTIN
The Department Number : 30
The Designation : SALESMAN
The Manager Number : 7698
The Joining Date : 28-SEP-81
The Basic Salary : 1250
The Commission Earned : 1400
PL/SQL procedure successfully completed.
SQL> /
Enter value for enterempno: 7839
The Details of Employee Number 7839 Requested by You Are ...
The Employee Name : KING
The Department Number : 10
The Designation : PRESIDENT
The Manager Number :
The Joining Date : 17-NOV-81
The Basic Salary : 5000
The Commission Earned :
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

PL/SQL procedure successfully completed.


SQL> DECLARE
2 V_Empno
NUMBER(4) := &EnterEmpNo;
3 V_Ename
VARCHAR2(30);
4 V_Deptno
NUMBER(2);
5 V_Job
VARCHAR2(30);
6 V_MGR
NUMBER(4);
7 V_HireDate
DATE;
8 V_Sal
NUMBER(7,2);
9 V_Comm
NUMBER(7,2);
10 V_MGRName
VARCHAR2(30);
11 BEGIN
12 SELECT
13 Ename, Deptno, Job, MGR, HireDate, Sal, Comm
14 INTO
15 V_Ename , V_Deptno, V_Job, V_MGR, V_HireDate, V_Sal, V_Comm
16 FROM Emp
17 WHERE Empno = V_Empno;
18 IF V_MGR IS NOT NULL THEN
19
SELECT Ename INTO V_MGRName
20
FROM Emp
21
WHERE Empno = V_MGR;
22 ELSE
23
SELECT Ename INTO V_MGRName
24
FROM Emp
25
WHERE MGR IS NULL;
26 END IF;
27 DBMS_OUTPUT.PUT_LINE('The Details of Employee Number '||V_Empno||'
Requested by You Are ...');
28 DBMS_OUTPUT.PUT_LINE('The Employee Name : '||INITCAP(V_Ename));
29 DBMS_OUTPUT.PUT_LINE('The Department Number : '||V_Deptno);
30 DBMS_OUTPUT.PUT_LINE('The Designation : '||INITCAP(V_Job));
31 DBMS_OUTPUT.PUT_LINE('The Manager Number : '||NVL(TO_CHAR(V_MGR),'"Cannot
be Managed"')||', and his Name is : '||V_MGRName);
32 DBMS_OUTPUT.PUT_LINE('The Joining Date : '||TO_CHAR(V_HireDate,'FMDD, Month
Year'));
33 DBMS_OUTPUT.PUT_LINE('The Basic Salary : '||CONCAT('INR
',TO_CHAR(V_Sal,'99,999.99')));
34 DBMS_OUTPUT.PUT_LINE('The Commission Earned : '||NVL(TO_CHAR(V_Comm),'No
Commission...Sorry!'));
35 END;
36 /
Enter value for enterempno: 7654
The Details of Employee Number 7654 Requested by You Are ...
The Employee Name : Martin
The Department Number : 30
The Designation : Salesman
The Manager Number : 7698, and his Name is : BLAKE
The Joining Date : 28, September Nineteen Eighty-One
The Basic Salary : INR
1,250.00
The Commission Earned : 1400
PL/SQL procedure successfully completed.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
Enter value for enterempno: 7839
The Details of Employee Number 7839 Requested by You Are ...
The Employee Name : King
The Department Number : 10
The Designation : President
The Manager Number : "Cannot be Managed", and his Name is : KING
The Joining Date : 17, November Nineteen Eighty-One
The Basic Salary : INR
5,000.00
The Commission Earned : No Commission...Sorry!
PL/SQL procedure successfully completed.
SQL> DECLARE
2 V_Empno
NUMBER(4) := &EnterEmpNo;
3 V_Ename
VARCHAR2(30);
4 V_Deptno
NUMBER(2);
5 V_Job
VARCHAR2(30);
6 V_MGR
NUMBER(4);
7 V_HireDate
DATE;
8 V_Sal
NUMBER(7, 2);
9 V_Comm
NUMBER(7, 2);
10 V_MGRName
VARCHAR2(30);
11 V_OrgMaxSal NUMBER(7, 2);
12 V_OrgMinSal NUMBER(7, 2);
13 V_OrgAvgSal NUMBER(7, 2);
14 V_DeptAvgSal NUMBER(7, 2);
15 BEGIN
16 SELECT
17 Ename, Deptno, Job, MGR, HireDate, Sal, Comm
18 INTO
19 V_Ename , V_Deptno, V_Job, V_MGR, V_HireDate, V_Sal, V_Comm
20 FROM Emp
21 WHERE Empno = V_Empno;
22 IF V_MGR IS NOT NULL THEN
23
SELECT Ename INTO V_MGRName
24
FROM Emp
25
WHERE Empno = V_MGR;
26 ELSE
27
SELECT Ename INTO V_MGRName
28
FROM Emp
29
WHERE MGR IS NULL;
30 END IF;
31 SELECT MAX(Sal), MIN(Sal), AVG(Sal) INTO V_OrgMaxSal, V_OrgMinSal,
V_OrgAvgSal
32 FROM Emp;
33 SELECT AVG(Sal) INTO V_DeptAvgSal
34 FROM Emp
35 WHERE Deptno = V_Deptno;
36 DBMS_OUTPUT.PUT_LINE('The Details of Employee Number '||V_Empno||'
Requested by You Are ...');
37 DBMS_OUTPUT.PUT_LINE('The Employee Name : '||INITCAP(V_Ename));
38 DBMS_OUTPUT.PUT_LINE('The Department Number : '||V_Deptno);
39 DBMS_OUTPUT.PUT_LINE('The Designation : '||INITCAP(V_Job));
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

40 DBMS_OUTPUT.PUT_LINE('The Manager Number : '||NVL(TO_CHAR(V_MGR),'"Cannot


be Managed"')||', and his Name is : '||V_MGRName);
41 DBMS_OUTPUT.PUT_LINE('The Joining Date : '||TO_CHAR(V_HireDate,'FMDD, Month
Year'));
42 DBMS_OUTPUT.PUT_LINE('The Basic Salary : '||CONCAT('INR
',TO_CHAR(V_Sal,'99,999.99')));
43 DBMS_OUTPUT.PUT_LINE('The Commission Earned : '||NVL(TO_CHAR(V_Comm),'No
Commission...Sorry!'));
44 DBMS_OUTPUT.PUT_LINE('Displaying The Summaries...');
45 DBMS_OUTPUT.PUT_LINE('The Organization Maximum Salary is : '||V_OrgMaxSal);
46 DBMS_OUTPUT.PUT_LINE('The Organization Minimum Salary is : '||V_OrgMinSal);
47 DBMS_OUTPUT.PUT_LINE('The Organization Average Salary is : '||V_OrgAvgSal);
48 DBMS_OUTPUT.PUT_LINE('The Department Average Salary is : '||V_DeptAvgSal);
49 END;
50 /
Enter value for enterempno: 7654
The Details of Employee Number 7654 Requested by You Are ...
The Employee Name : Martin
The Department Number : 30
The Designation : Salesman
The Manager Number : 7698, and his Name is : BLAKE
The Joining Date : 28, September Nineteen Eighty-One
The Basic Salary : INR
1,250.00
The Commission Earned : 1400
Displaying The Summaries...
The Organization Maximum Salary is : 5000
The Organization Minimum Salary is : 800
The Organization Average Salary is : 2073.21
The Department Average Salary is : 1566.67
PL/SQL procedure successfully completed.
SQL> SPOOL OFF
SQL> cl scr
SQL> DECLARE
2 V_Empno
Emp.Empno%TYPE := &EnterEmpno;
3 V_EName
Emp.EName%TYPE;
4 V_job
Emp.Job%TYPE;
5 V_Sal
Emp.Sal%TYPE;
6 BEGIN
7 SELECT
8 Ename, Job, Sal
9 INTO
10 V_Ename, V_job, V_Sal
11 FROM EMP
12 WHERE Empno = V_Empno;
13 DBMS_OUTPUT.PUT_LINE('The Name : '||V_Ename);
14 DBMS_OUTPUT.PUT_LINE('The job : '||V_Job);
15 DBMS_OUTPUT.PUT_LINE('The Sal: '||V_Sal);
16 END;
17 /
Enter value for enterempno: 7839
The Name : KING
The job : PRESIDENT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

The Sal: 5000


PL/SQL procedure successfully completed.
SQL> /
Enter value for enterempno: 7654
The Name : MARTIN
The job : SALESMAN
The Sal: 1250
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 V_Empno
Emp.Empno%TYPE := &EnterEmpNo;
3 V_Ename
Emp.Ename%TYPE;
4 V_Deptno
Emp.Deptno%TYPE;
5 V_Job
Emp.Job%TYPE;
6 V_MGR
Emp.MGR%TYPE;
7 V_HireDate
Emp.HireDate%TYPE;
8 V_Sal
Emp.Sal%TYPE;
9 V_Comm
Emp.Comm%TYPE;
10 V_MGRName
Emp.Ename%TYPE;
11 BEGIN
12 SELECT Ename, Deptno, Job, MGR, HireDate, Sal, Comm INTO V_Ename , V_Deptno,
V_Job, V_MGR, V_HireDate, V_Sal, V_Comm
13 FROM Emp
14 WHERE Empno = V_Empno;
15 IF V_MGR IS NOT NULL THEN
16 SELECT Ename INTO V_MGRName
17 FROM Emp
18 WHERE Empno = V_MGR;
19 ELSE
20 SELECT Ename INTO V_MGRName
21 FROM Emp
22 WHERE MGR IS NULL;
23 END IF;
24 DBMS_OUTPUT.PUT_LINE('The Details of Employee Number '||V_Empno||'
Requested by You Are ...');
25 DBMS_OUTPUT.PUT_LINE('The Employee Name : '||INITCAP(V_Ename));
26 DBMS_OUTPUT.PUT_LINE('The Department Number : '||V_Deptno);
27 DBMS_OUTPUT.PUT_LINE('The Designation : '||INITCAP(V_Job));
28 DBMS_OUTPUT.PUT_LINE('The Manager Number : '||NVL(TO_CHAR(V_MGR),'"Cannot
be Managed"')||' , and his Name is : '||V_MGRName);
29 DBMS_OUTPUT.PUT_LINE('The Joining Date : '||TO_CHAR(V_HireDate,'FMDD, Month
Year'));
30 DBMS_OUTPUT.PUT_LINE('The Basic Salary : '||CONCAT('INR
',TO_CHAR(V_Sal,'99,999.99')));
31 DBMS_OUTPUT.PUT_LINE('The Commission Earned : '||NVL(TO_CHAR(V_Comm),'No
Commission...Sorry!'));
32 END;
33 /
Enter value for enterempno: 7839
The Details of Employee Number 7839 Requested by You Are ...
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

The
The
The
The
The
The
The

Employee Name : King


Department Number : 10
Designation : President
Manager Number : "Cannot be Managed" , and his Name is : KING
Joining Date : 17, November Nineteen Eighty-One
Basic Salary : INR
5,000.00
Commission Earned : No Commission...Sorry!

PL/SQL procedure successfully completed.


SQL> cl scr
SQL> DECLARE
2 V_Empno
Emp.Empno%TYPE := &EnterEmpNo;
3 V_Ename
Emp.Ename%TYPE;
4 V_Deptno
Emp.Deptno%TYPE;
5 V_Job
Emp.Job%TYPE;
6 V_MGR
Emp.MGR%TYPE;
7 V_HireDate
Emp.HireDate%TYPE;
8 V_Sal
Emp.Sal%TYPE;
9 V_Comm
Emp.Comm%TYPE;
10 V_MGRName
Emp.Ename%TYPE;
11 V_OrgMaxSal
Emp.Sal%TYPE;
12 V_OrgMinSal
Emp.Sal%TYPE;
13 V_OrgAvgSal
Emp.Sal%TYPE;
14 V_DeptAvgSal Emp.Sal%TYPE;
15 BEGIN
16 SELECT
17 Ename, Deptno, Job, MGR, HireDate, Sal, Comm
18 INTO
19 V_Ename , V_Deptno, V_Job, V_MGR, V_HireDate, V_Sal, V_Comm
20 FROM Emp
21 WHERE Empno = V_Empno;
22 IF V_MGR IS NOT NULL THEN
23
SELECT Ename INTO V_MGRName
24
FROM Emp
25
WHERE Empno = V_MGR;
26 ELSE
27
SELECT Ename INTO V_MGRName
28
FROM Emp
29
WHERE MGR IS NULL;
30 END IF;
31 SELECT MAX(Sal), MIN(Sal), AVG(Sal) INTO V_OrgMaxSal, V_OrgMinSal,
V_OrgAvgSal
32 FROM Emp;
33 SELECT AVG(Sal) INTO V_DeptAvgSal
34 FROM Emp
35 WHERE Deptno = V_Deptno;
36 DBMS_OUTPUT.PUT_LINE('The Details of Employee Number '||V_Empno||'
Requested by You Are ...');
37 DBMS_OUTPUT.PUT_LINE('The Employee Name : '||INITCAP(V_Ename));
38 DBMS_OUTPUT.PUT_LINE('The Department Number : '||V_Deptno);
39 DBMS_OUTPUT.PUT_LINE('The Designation : '||INITCAP(V_Job));
40 DBMS_OUTPUT.PUT_LINE('The Manager Number : '||NVL(TO_CHAR(V_MGR),'"Cannot
be Managed"')||', and his Name is : '||V_MGRName);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

41 DBMS_OUTPUT.PUT_LINE('The Joining Date : '||TO_CHAR(V_HireDate,'FMDD, Month


Year'));
42 DBMS_OUTPUT.PUT_LINE('The Basic Salary : '||CONCAT('INR
',TO_CHAR(V_Sal,'99,999.99')));
43 DBMS_OUTPUT.PUT_LINE('The Commission Earned : '||NVL(TO_CHAR(V_Comm),'No
Commission...Sorry!'));
44 DBMS_OUTPUT.PUT_LINE('Displaying The Summaries...');
45 DBMS_OUTPUT.PUT_LINE('The Organization Maximum Salary is : '||V_OrgMaxSal);
46 DBMS_OUTPUT.PUT_LINE('The Organization Minimum Salary is : '||V_OrgMinSal);
47 DBMS_OUTPUT.PUT_LINE('The Organization Average Salary is : '||V_OrgAvgSal);
48 DBMS_OUTPUT.PUT_LINE('The Department Average Salary is : '||V_DeptAvgSal);
49 END;
50 /
Enter value for enterempno: 7654
The Details of Employee Number 7654 Requested by You Are ...
The Employee Name : Martin
The Department Number : 30
The Designation : Salesman
The Manager Number : 7698, and his Name is : BLAKE
The Joining Date : 28, September Nineteen Eighty-One
The Basic Salary : INR
1,250.00
The Commission Earned : 1400
Displaying The Summaries...
The Organization Maximum Salary is : 5000
The Organization Minimum Salary is : 800
The Organization Average Salary is : 2073.21
The Department Average Salary is : 1566.67
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 V_EmpRecord Emp%ROWTYPE;
3 BEGIN
4 SELECT * INTO V_EmpRecord
5 FROM EMP
6 WHERE Empno = &EnterEmpno;
7 DBMS_OUTPUT.PUT_LINE('The Name : '|| V_EmpRecord.Ename);
8 DBMS_OUTPUT.PUT_LINE('The Job : '|| V_EmpRecord.Job);
9 DBMS_OUTPUT.PUT_LINE('The Salary : '||V_EmpRecord.Sal);
10 DBMS_OUTPUT.PUT_LINE('The Commission : '|| V_EmpRecord.Comm);
11 DBMS_OUTPUT.PUT_LINE('The Gross Salary : ' ||(V_EmpRecord.Sal +
NVL(V_EmpRecord.Comm, 0)));
12 END;
13 /
Enter value for enterempno: 7839
The Name : KING
The Job : PRESIDENT
The Salary : 5000
The Commission :
The Gross Salary : 5000
PL/SQL procedure successfully completed.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_EmpRecord Emp%ROWTYPE;
3 BEGIN
4 SELECT Empno, Ename, Job, Sal, Comm
5 INTO
6 V_EmpRecord.Empno,
7 V_EmpRecord.Ename,
8 V_EmpRecord.Job,
9 V_EmpRecord.Sal,
10 V_EmpRecord.Comm
11 FROM EMP
12 WHERE Empno = &EnterEmpno;
13 DBMS_OUTPUT.PUT_LINE('The Name : '|| V_EmpRecord.Ename);
14 DBMS_OUTPUT.PUT_LINE('The Job : '|| V_EmpRecord.Job);
15 DBMS_OUTPUT.PUT_LINE('The Salary : '||V_EmpRecord.Sal);
16 DBMS_OUTPUT.PUT_LINE('The Commission : '|| V_EmpRecord.Comm);
17 DBMS_OUTPUT.PUT_LINE('The Gross Salary : ' ||(V_EmpRecord.Sal +
NVL(V_EmpRecord.Comm, 0)));
18* END;
SQL> /
Enter value for enterempno: 7839
The Name : KING
The Job : PRESIDENT
The Salary : 5000
The Commission :
The Gross Salary : 5000
PL/SQL procedure successfully completed.
SQL> DECLARE
2 EmpRecord Emp%ROWTYPE;
3 V_EmpRecord EmpRecord%TYPE; --Sub Type Creation Out of EmpRecord Type
4 BEGIN
5 SELECT * INTO V_EmpRecord
6 FROM EMP
7 WHERE Empno = &EnterEmpno;
8 DBMS_OUTPUT.PUT_LINE('The Name : '|| V_EmpRecord.Ename);
9 DBMS_OUTPUT.PUT_LINE('The Job : '|| V_EmpRecord.Job);
10 DBMS_OUTPUT.PUT_LINE('The Salary : '||V_EmpRecord.Sal);
11 DBMS_OUTPUT.PUT_LINE('The Commission : '|| V_EmpRecord.Comm);
12 DBMS_OUTPUT.PUT_LINE('The Gross Salary : ' ||(V_EmpRecord.Sal +
NVL(V_EmpRecord.Comm, 0)));
13 END;
14 /
Enter value for enterempno: 7839
The Name : KING
The Job : PRESIDENT
The Salary : 5000
The Commission :
The Gross Salary : 5000
PL/SQL procedure successfully completed.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> DECLARE
2 V_Num1 NUMBER(2) := &GNum1;
3 BEGIN
4 DBMS_OUTPUT.PUT_LINE('The V_Num1 : '||V_Num1);
5
DECLARE
6
V_Num2 NUMBER(2) := V_Num1;
7
BEGIN
8
DBMS_OUTPUT.PUT_LINE('The V_Num2 : '||V_Num21);
9
END;
10 END;
11 /
Enter value for gnum1: 25
DBMS_OUTPUT.PUT_LINE('The V_Num2 : '||V_Num21);
*
ERROR at line 8:
ORA-06550: line 8, column 40:
PLS-00201: identifier 'V_NUM21' must be declared
ORA-06550: line 8, column 2:
PL/SQL: Statement ignored

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Num1 NUMBER(2) := &GNum1;
3 BEGIN
4 DBMS_OUTPUT.PUT_LINE('The V_Num1 : '||V_Num1);
5
DECLARE
6
V_Num2 NUMBER(2) := V_Num1;
7
BEGIN
8
DBMS_OUTPUT.PUT_LINE('The V_Num2 : '||V_Num2);
9
END;
10* END;
SQL> /
Enter value for gnum1: 25
The V_Num1 : 25
The V_Num2 : 25
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10*

DECLARE
V_Num1 NUMBER(3) := &GNum1;
BEGIN
DBMS_OUTPUT.PUT_LINE('The V_Num1 : '||V_Num1);
DECLARE
V_Num2 NUMBER(2) := V_Num1;
BEGIN
DBMS_OUTPUT.PUT_LINE('The V_Num2 : '||V_Num2);
END;
END;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
Enter value for gnum1: 125
The V_Num1 : 125
DECLARE
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: number precision too large
ORA-06512: at line 6

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Num1 NUMBER(2) := &GNum1;
3 BEGIN
4 DBMS_OUTPUT.PUT_LINE('The V_Num1 : '||V_Num1);
5
DECLARE
6
V_Num2 V_Num1%TYPE := V_Num1;
7
BEGIN
8
DBMS_OUTPUT.PUT_LINE('The V_Num2 : '||V_Num2);
9
END;
10* END;
SQL> /
Enter value for gnum1: 25
The V_Num1 : 25
The V_Num2 : 25
PL/SQL procedure successfully completed.
SQL> /
Enter value for gnum1: 12
The V_Num1 : 12
The V_Num2 : 12
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Num1 NUMBER(3) := &GNum1;
3 BEGIN
4 DBMS_OUTPUT.PUT_LINE('The V_Num1 : '||V_Num1);
5
DECLARE
6
V_Num2 V_Num1%TYPE := V_Num1;
7
BEGIN
8
DBMS_OUTPUT.PUT_LINE('The V_Num2 : '||V_Num2);
9
END;
10* END;
SQL> /
Enter value for gnum1: 125
The V_Num1 : 125
The V_Num2 : 125
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

PL/SQL procedure successfully completed.


SQL> cl scr
SQL> DECLARE
2 V_Empno Emp.Empno%TYPE := &EnterEmpNo;
3 V_EmpRecord Emp%ROWTYPE;
4 V_MGRName Emp.Ename%TYPE;
5 BEGIN
6 SELECT
7 Empno, Ename, Job, Sal, MGR
8 INTO
9 V_EmpRecord.Empno,
10 V_EmpRecord.Ename,
11 V_EmpRecord.Job,
12 V_EmpRecord.Sal,
13 V_EmpRecord.MGR
14 FROM Emp
15 WHERE Empno = V_Empno;
16 IF V_EmpRecord.MGR IS NOT NULL THEN
17 SELECT Ename INTO V_MGRName
18 FROM Emp
19 WHERE Empno = V_EmpRecord.MGR;
20 ELSE
21 SELECT Ename INTO V_MGRName
22 FROM Emp
23 WHERE MGR IS NULL;
24 END IF;
25 DBMS_OUTPUT.PUT_LINE('The Details of Employee Number
'||V_EmpRecord.Empno||' Requested by You Are ...');
26 DBMS_OUTPUT.PUT_LINE('The Employee Name : '||INITCAP(V_EmpRecord.Ename));
27 DBMS_OUTPUT.PUT_LINE('The Manager Number :
'||NVL(TO_CHAR(V_EmpRecord.MGR),'"Cannot be Managed"')||' , and his Name is :
'||V_MGRName);
28 DBMS_OUTPUT.PUT_LINE('The Designation : '||INITCAP(V_EmpRecord.Job));
29 DBMS_OUTPUT.PUT_LINE('The Basic Salary : '||CONCAT('INR
',TO_CHAR(V_EmpRecord.Sal,'99,999.99')));
30 END;
31 /
Enter value for enterempno: 7654
The Details of Employee Number 7654 Requested by You Are ...
The Employee Name : Martin
The Manager Number : 7698 , and his Name is : BLAKE
The Designation : Salesman
The Basic Salary : INR
1,250.00
PL/SQL procedure successfully completed.
SQL> cl scr
SQL>
2
3
4
5

DECLARE
V_Empno NUMBER(4) := &EnterEmpNo;
TYPE EmpRecordType IS RECORD
(
V_Ename
VARCHAR2(30),
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

6
V_Deptno
NUMBER(2),
7
V_Job
VARCHAR2(30)
8 );
9 EmpRecord EmpRecordType;
10 BEGIN
11 SELECT Ename, Deptno, Job
12 INTO
13 EmpRecord.V_Ename , EmpRecord.V_Deptno, EmpRecord.V_Job
14 FROM Emp
15 WHERE Empno = V_Empno;
16 DBMS_OUTPUT.PUT_LINE('The Details of Employee Number '||V_Empno||'
Requested by You Are ...');
17 DBMS_OUTPUT.PUT_LINE('The Employee Name : '||EmpRecord.V_Ename);
18 DBMS_OUTPUT.PUT_LINE('The Department Number : '||EmpRecord.V_Deptno);
19 DBMS_OUTPUT.PUT_LINE('The Designation : '||EmpRecord.V_Job);
20 END;
21 /
Enter value for enterempno: 7654
The Details of Employee Number 7654 Requested by You Are ...
The Employee Name : MARTIN
The Department Number : 30
The Designation : SALESMAN
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Empno NUMBER(4) := &EnterEmpNo;
3 V_Ename
VARCHAR2(30);
4 V_Deptno
NUMBER(2);
5 V_Job
VARCHAR2(30);
6 BEGIN
7 SELECT Ename, Deptno, Job
8 INTO
9 V_Ename , V_Deptno, V_Job
10 FROM Emp
11 WHERE Empno = V_Empno;
12 DBMS_OUTPUT.PUT_LINE('The Details of Employee Number '||V_Empno||'
Requested by You Are ...');
13 DBMS_OUTPUT.PUT_LINE('The Employee Name : '||V_Ename);
14 DBMS_OUTPUT.PUT_LINE('The Department Number : '||V_Deptno);
15 DBMS_OUTPUT.PUT_LINE('The Designation : '||V_Job);
16* END;
SQL> /
Enter value for enterempno: 7654
The Details of Employee Number 7654 Requested by You Are ...
The Employee Name : MARTIN
The Department Number : 30
The Designation : SALESMAN
PL/SQL procedure successfully completed.
SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> DECLARE
2 V_Empno NUMBER(4) := &EnterEmpNo;
3 TYPE EmpRecordType IS RECORD
4 (
5
Ename VARCHAR2(30),
6
Deptno
NUMBER(2),
7
Job
VARCHAR2(30),
8
MGR
NUMBER(4),
9
HireDate
DATE,
10
Sal
NUMBER(7,2),
11
Comm NUMBER(7,2)
12 );
13 EmpRecord EmpRecordType;
14 BEGIN
15 SELECT Ename, Deptno, Job, MGR, HireDate, Sal, Comm
16 INTO
17 EmpRecord.Ename , EmpRecord.Deptno, EmpRecord.Job, EmpRecord.MGR,
EmpRecord.HireDate, EmpRecord.Sal, EmpRecord.Comm
18 FROM Emp
19 WHERE Empno = V_Empno;
20 DBMS_OUTPUT.PUT_LINE('The Details of Employee Number '||V_Empno||'
Requested by You Are ...');
21 DBMS_OUTPUT.PUT_LINE('The Employee Name : '||EmpRecord.Ename);
22 DBMS_OUTPUT.PUT_LINE('The Department Number : '||EmpRecord.Deptno);
23 DBMS_OUTPUT.PUT_LINE('The Designation : '||EmpRecord.Job);
24 DBMS_OUTPUT.PUT_LINE('The Manager Number : '||EmpRecord.MGR);
25 DBMS_OUTPUT.PUT_LINE('The Joining Date : '||EmpRecord.HireDate);
26 DBMS_OUTPUT.PUT_LINE('The Basic Salary : '||EmpRecord.Sal);
27 DBMS_OUTPUT.PUT_LINE('The Commission Earned : '||EmpRecord.Comm);
28 END;
29 /
Enter value for enterempno: 7654
The Details of Employee Number 7654 Requested by You Are ...
The Employee Name : MARTIN
The Department Number : 30
The Designation : SALESMAN
The Manager Number : 7698
The Joining Date : 28-SEP-81
The Basic Salary : 1250
The Commission Earned : 1400
PL/SQL procedure successfully completed.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9

DECLARE
TYPE AtomicTypes IS RECORD /*Atomic Type Creation*/
(
Empno Emp.Empno%TYPE,
MgrName Emp.Ename%TYPE
);
TYPE AllTablesRecord IS RECORD /*Nested Type Creation*/
(
EmpRecord Emp%ROWTYPE,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

10
DeptRecord Dept%ROWTYPE,
11
SalGradeRecord SalGrade%ROWTYPE,
12
AtomicType AtomicTypes /*Type Instance in Another Type*/
13 );
14 V_AllTablesRecord AllTablesRecord; /*Type Instantiation*/
15 BEGIN
16 V_AllTablesRecord.AtomicType.Empno := &EnterEmpno;
17 SELECT Ename, Deptno, Job, MGR, HireDate, Sal, Comm
18 INTO
19 V_AllTablesRecord.Emprecord.Ename ,
20 V_AllTablesRecord.Emprecord.Deptno,
21 V_AllTablesRecord.Emprecord.Job,
22 V_AllTablesRecord.Emprecord.MGR,
23 V_AllTablesRecord.Emprecord.HireDate,
24 V_AllTablesRecord.Emprecord.Sal,
25 V_AllTablesRecord.Emprecord.Comm
26 FROM Emp
27 WHERE Empno = V_AllTablesRecord.AtomicType.Empno;
28 SELECT Dname, Loc INTO V_AllTablesRecord.DeptRecord.
Dname,V_AllTablesRecord.DeptRecord.Loc
29 FROM Dept
30 WHERE Deptno = V_AllTablesRecord.Emprecord.Deptno;
31 SELECT Grade INTO V_AllTablesRecord.SalGradeRecord.Grade
32 FROM SalGrade
33 WHERE V_AllTablesRecord.Emprecord.Sal BETWEEN LoSal AND HiSal;
34 IF V_AllTablesRecord.Emprecord.MGR IS NOT NULL THEN
35 SELECT Ename INTO V_AllTablesRecord.AtomicType.MgrName
36 FROM Emp
37 WHERE Empno = V_AllTablesRecord.Emprecord.MGR;
38 ELSE
39 SELECT Ename INTO V_AllTablesRecord.AtomicType.MgrName
40 FROM Emp
41 WHERE MGR IS NULL;
42 END IF;
43 DBMS_OUTPUT.PUT_LINE('The Details of Employee Number
'||V_AllTablesRecord.AtomicType.Empno||' Requested by You Are ...');
44 DBMS_OUTPUT.PUT_LINE('The Employee Name :
'||V_AllTablesRecord.Emprecord.Ename);
45 DBMS_OUTPUT.PUT_LINE('The Department Number :
'||V_AllTablesRecord.Emprecord.Deptno||', Department Name is
'||INITCAP(V_AllTablesRecord.DeptRecord.Dname)||', and is Situated at
'||INITCAP(V_AllTablesRecord.DeptRecord.Loc));
46 DBMS_OUTPUT.PUT_LINE('The Designation :
'||V_AllTablesRecord.Emprecord.Job);
47 DBMS_OUTPUT.PUT_LINE('The Manager Number :
'||NVL(TO_CHAR(V_AllTablesRecord.Emprecord.MGR),'"Cannot be Managed"')||', and
his Name is : '||V_AllTablesRecord.AtomicType.MgrName);
48 DBMS_OUTPUT.PUT_LINE('The Joining Date :
'||V_AllTablesRecord.Emprecord.HireDate);
49 DBMS_OUTPUT.PUT_LINE('The Basic Salary : '||CONCAT('INR
',TO_CHAR(V_AllTablesRecord.Emprecord.Sal,'99,999.99'))||' and his Grade as Per
Salary is '||V_AllTablesRecord.SalGradeRecord.Grade);
50 DBMS_OUTPUT.PUT_LINE('The Commission Earned :
'||NVL(TO_CHAR(V_AllTablesRecord.Emprecord.Comm),'No Commission...Sorry!'));
51 END;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

52 /
Enter value for enterempno: 7654
The Details of Employee Number 7654 Requested by You Are ...
The Employee Name : MARTIN
The Department Number : 30, Department Name is Sales, and is Situated at Chicago
The Designation : SALESMAN
The Manager Number : 7698, and his Name is : BLAKE
The Joining Date : 28-SEP-81
The Basic Salary : INR
1,250.00 and his Grade as Per Salary is 2
The Commission Earned : 1400
PL/SQL procedure successfully completed.
SQL>
SQL>
SQL>
SQL>

SPOOL OFF
SET SERVEROUTPUT ON
SET VERIFY OFF
cl scr

SQL> DECLARE
2 /*
3 Declaration of The
4 PL/SQL Table Data Type.
5 */
6 TYPE Dept_Table_Type --Name of The PL/SQL Table Type
7 IS TABLE OF
8 Dept.Dname%TYPE --The Data Column of The PL/SQL Table
9 INDEX BY BINARY_INTEGER; --Index on The PL/SQL Table
10 My_Dept_Table Dept_Table_Type; --Instance of the PL/SQL Table
11 V_Count
NUMBER(2);
12 BEGIN
13
SELECT COUNT(*)
14
INTO V_Count
15
FROM Dept;
16
/*
17
Loading OR Populating The PL/SQL Table
18
With Data into data Column Using The Index As
19
A Reference To PL/SQL Table.
20
*/
21
FOR MyIndex IN 1..V_Count LOOP
22
SELECT Dname --Getting The Data For Dname Column From Database
23
INTO My_Dept_Table(MyIndex) --Assigning The Data To The PL/SQL
Table Index Ponited By MyIndex Variable
24
FROM Dept
25
WHERE Deptno = MyIndex * 10;
26
END LOOP;
27
/*
28
Loading OR Populating The PL/SQL Table
29
is Completed And The PL/SQL Table is Ready For
30
Operations OR Business Logic Implementation.
31
*/
32
/*
33
Operations For Business Oriented Requirements
34
On The Data Taken From The PL/SQL Table
35
Index By Index
36
*/
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

37
FOR MYIndex IN
1..V_Count LOOP
38
DBMS_OUTPUT.PUT_LINE(My_Dept_Table(MyIndex)); --Referencing The
Required Data From The PL/SQL Table Through Index.
39
END LOOP;
40
/*
41
Operations For Business Oriented Requirements
42
On The Data Taken From The PL/SQL Table
43
Index By Index End Here
44
*/
45 END;
46 /
ACCOUNTING
RESEARCH
SALES
OPERATIONS
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2
TYPE Dept_Table_Type
3
IS TABLE OF
4
Dept%ROWTYPE
5
INDEX BY
BINARY_INTEGER;
6
My_Dept_Table
Dept_Table_Type;
7
V_Count
NUMBER(2);
8 BEGIN
9
SELECT COUNT(*)
10
INTO V_Count
11
FROM
Dept;
12
FOR MyIndex IN 1..V_Count
13
LOOP
14
SELECT *
15
INTO My_Dept_Table(MyIndex)
16
FROM Dept
17
WHERE
Deptno = MyIndex * 10;
18
END
LOOP;
19
FOR MyIndex IN 1..V_Count
20
LOOP
21
DBMS_OUTPUT.PUT_LINE('Dept. '|| My_Dept_Table(MyIndex).Deptno
||' '
22 ||My_Dept_Table(MyIndex).Dname||' is Located in ' ||
My_Dept_Table(MyIndex).Loc);
23
END LOOP;
24 END;
25 /
Dept. 10 ACCOUNTING is Located in NEW YORK
Dept. 20 RESEARCH is Located in DALLAS
Dept. 30 SALES is Located in CHICAGO
Dept. 40 OPERATIONS is Located in BOSTON
PL/SQL procedure successfully completed.
SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL>
SQL>
SQL>
SQL>
SQL>

COLUMN
COLUMN
COLUMN
COLUMN
SELECT

Empno FORMAT 9999


Sal FORMAT 9999
Comm FORMAT 9999
Deptno FORMAT 99
* FROM Emp ORDER BY Empno;

EMPNO
----7369
7499
7521
7566
7654
7698
7782
7788
7839
7844
7876

ENAME
---------SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ---------- --------- ----- ----- -----CLERK
7902 17-DEC-80
800
20
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 22-FEB-81 1250
500
30
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
ANALYST
7566 09-DEC-82 3000
20
PRESIDENT
17-NOV-81 5000
10
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7788 12-JAN-83 1100
20

EMPNO
----7900
7902
7934

ENAME
---------JAMES
FORD
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ---------- --------- ----- ----- -----CLERK
7698 03-DEC-81
950
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7782 23-JAN-82 1300
10

14 rows selected.
SQL> SELECT ROWID, Empno, Ename, Sal FROM Emp;
ROWID
EMPNO ENAME
SAL
------------------ ----- ---------- ----AAAMbGAAEAAAAA2AAA 7839 KING
5000
AAAMbGAAEAAAAA2AAB 7698 BLAKE
2850
AAAMbGAAEAAAAA2AAC 7782 CLARK
2450
AAAMbGAAEAAAAA2AAD 7566 JONES
2975
AAAMbGAAEAAAAA2AAE 7654 MARTIN
1250
AAAMbGAAEAAAAA2AAF 7499 ALLEN
1600
AAAMbGAAEAAAAA2AAG 7844 TURNER
1500
AAAMbGAAEAAAAA2AAH 7900 JAMES
950
AAAMbGAAEAAAAA2AAI 7521 WARD
1250
AAAMbGAAEAAAAA2AAJ 7902 FORD
3000
AAAMbGAAEAAAAA2AAK 7369 SMITH
800
ROWID
EMPNO ENAME
SAL
------------------ ----- ---------- ----AAAMbGAAEAAAAA2AAL 7788 SCOTT
3000
AAAMbGAAEAAAAA2AAM 7876 ADAMS
1100
AAAMbGAAEAAAAA2AAN 7934 MILLER
1300
14 rows selected.
SQL> DECLARE
2 TYPE Emp_Table_Type
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3 IS TABLE OF
4 Emp%ROWTYPE
5 INDEX BY BINARY_INTEGER;
6 My_Emp_Table Emp_Table_Type;
7 V_RowID NUMBER(2) := 65;
8 V_EmpCount NUMBER(2);
9 BEGIN
10 SELECT COUNT(*)
11 INTO V_EmpCount
12 FROM Emp;
13 FOR MyIndex IN 1..V_EmpCount LOOP
14 SELECT *
15 INTO My_Emp_Table(MyIndex)
16 FROM Emp
17 WHERE SUBSTR(ROWID,18,1) = CHR(V_RowID);
18 V_RowID := V_RowID + 1;
19 END LOOP;
20 DBMS_OUTPUT.PUT_LINE(RPAD('Employees Information', 80));
21 DBMS_OUTPUT.PUT_LINE(RPAD('-', 80,'-'));
22 DBMS_OUTPUT.PUT_LINE(RPAD('EmpNo', 8)|| RPAD('Ename', 12)||RPAD('Job',
12)||RPAD('Deptno', 8)||RPAD('Mgr', 10)||RPAD('Hiredate', 12)||RPAD('Sal',
12)||RPAD('Comm', 10));
23 DBMS_OUTPUT.PUT_LINE(RPAD('-', 80,'-'));
24 FOR MyIndex IN 1..V_EmpCount LOOP
25 DBMS_OUTPUT.PUT_LINE(RPAD(My_Emp_Table(MyIndex).Empno, 8)
||RPAD(My_Emp_Table(MyIndex).Ename, 12)||RPAD(My_Emp_Table(MyIndex).Job,
12)||RPAD(My_Emp_Table(MyIndex).Deptno,
8)||NVL(TO_CHAR(RPAD(My_Emp_Table(MyIndex).MGR, 10)),'No
Manager')||RPAD(My_Emp_Table(MyIndex).Hiredate,
12)||RPAD(My_Emp_Table(MyIndex).Sal,
12)||NVL(TO_CHAR(RPAD(My_Emp_Table(MyIndex).Comm, 12)),'-NA-'));
26 END LOOP;
27 DBMS_OUTPUT.PUT_LINE(My_Emp_Table.COUNT||' Rows Selected.');
28 END;
29 /
Employees Information
-------------------------------------------------------------------------------EmpNo
Ename
Job
Deptno Mgr
Hiredate
Sal
Comm
-------------------------------------------------------------------------------7839
KING
PRESIDENT
10
No Manager17-NOV-81
5000
-NA7698
BLAKE
MANAGER
30
7839
01-MAY-81
2850
-NA7782
CLARK
MANAGER
10
7839
09-JUN-81
2450
-NA7566
JONES
MANAGER
20
7839
02-APR-81
2975
-NA7654
MARTIN
SALESMAN
30
7698
28-SEP-81
1250
1400
7499
ALLEN
SALESMAN
30
7698
20-FEB-81
1600
300
7844
TURNER
SALESMAN
30
7698
08-SEP-81
1500
0
7900
JAMES
CLERK
30
7698
03-DEC-81
950
-NA7521
WARD
SALESMAN
30
7698
22-FEB-81
1250
500
7902
FORD
ANALYST
20
7566
03-DEC-81
3000
-NA7369
SMITH
CLERK
20
7902
17-DEC-80
800
-NA7788
SCOTT
ANALYST
20
7566
09-DEC-82
3000
-NA7876
ADAMS
CLERK
20
7788
12-JAN-83
1100
-NA7934
MILLER
CLERK
10
7782
23-JAN-82
1300
-NA14 Rows Selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

PL/SQL procedure successfully completed.


SQL> DECLARE
2
TYPE Dept_Table_Type
3
IS TABLE OF
4
Dept.Dname%TYPE
5
INDEX BY BINARY_INTEGER;
6
My_Dept_Table Dept_Table_Type;
7
V_Count
NUMBER(2);
8
V_RecNo
NUMBER(2) := &EnterRecordNumber;
9 BEGIN
10
SELECT COUNT(*)
11
INTO V_Count
12
FROM Dept;
13
FOR MyIndex IN 1..V_Count LOOP
14
SELECT Dname
15
INTO My_Dept_Table(MyIndex)
16
FROM Dept
17
WHERE Deptno = MyIndex * 10;
18
END LOOP;
19
FOR MYIndex IN
1..V_Count LOOP
20
DBMS_OUTPUT.PUT_LINE('The Department Number,
'||MyIndex*10||' is named as : '||My_Dept_Table(MyIndex));
21
END LOOP;
22
DBMS_OUTPUT.PUT_LINE('The PLSQL Table Contains
'||My_Dept_Table.COUNT||' Records.');
23
DBMS_OUTPUT.PUT_LINE('The First Index Number of PLSQL Table is
'||My_Dept_Table.FIRST||' and the First Record is :
'||My_Dept_Table(My_Dept_Table.FIRST));
24
DBMS_OUTPUT.PUT_LINE('The Last Index Number of PLSQL Table is
'||My_Dept_Table.LAST||' and the Last Record is :
'||My_Dept_Table(My_Dept_Table.LAST));
25
DBMS_OUTPUT.PUT_LINE('The Previous Record of '||My_Dept_Table.LAST||'th
Record of PLSQL Table is '||My_Dept_Table.PRIOR(My_Dept_Table.LAST)||' and the
Data is : '||My_Dept_Table(My_Dept_Table.PRIOR(My_Dept_Table.LAST)));
26 DBMS_OUTPUT.PUT_LINE('The Next Record of '||My_Dept_Table.FIRST||'st Record
of PLSQL Table is '||My_Dept_Table.NEXT(My_Dept_Table.FIRST)||' and the Data
is : '||My_Dept_Table(My_Dept_Table.NEXT(My_Dept_Table.FIRST)));
27 IF My_Dept_Table.EXISTS(V_RecNo) THEN
28 DBMS_OUTPUT.PUT_LINE('The Department Exists');
29 DBMS_OUTPUT.PUT_LINE('The Department Name is, '||My_Dept_Table(V_RecNo));
30 ELSE
31 DBMS_OUTPUT.PUT_LINE('Sorry! ... Your Requested Data does not Exist...Check
the Record Range.');
32 END IF;
33 END;
34 /
Enter value for enterrecordnumber: 3
The Department Number, 10 is named as : ACCOUNTING
The Department Number, 20 is named as : RESEARCH
The Department Number, 30 is named as : SALES
The Department Number, 40 is named as : OPERATIONS
The PLSQL Table Contains 4 Records.
The First Index Number of PLSQL Table is 1 and the First Record is : ACCOUNTING
The Last Index Number of PLSQL Table is 4 and the Last Record is : OPERATIONS
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

The
The
The
The

Previous Record of 4th Record of PLSQL Table is 3 and the Data is : SALES
Next Record of 1st Record of PLSQL Table is 2 and the Data is : RESEARCH
Department Exists
Department Name is, SALES

PL/SQL procedure successfully completed.


SQL> cl scr
SQL> SELECT * FROM Dept;
DEPTNO
-----10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SQL> INSERT INTO Dept


2 VALUES(50, 'SHIPPING', 'CHENNAI');
1 row created.
SQL> BEGIN
2 INSERT INTO Dept
3 VALUES(&GDeptno, '&GDname', '&GLoc');
4 END;
5 /
Enter value for gdeptno: 60
Enter value for gdname: CARGO
Enter value for gloc: MUMBAI
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 V_Empno NUMBER(4) := &EnterEmpNo;
3 V_Ename VARCHAR2(15) := '&EnterEname';
4 V_Deptno NUMBER(2) := &EnterDepto;
5 V_Job VARCHAR2(15) := '&EnterJob';
6 V_MGR NUMBER := &EnterMGRNo;
7 V_HireDate Emp.HireDate%TYPE := '&EnterHireDate';
8 V_Sal Emp.Sal%TYPE := &EnterSal;
9 V_Comm Emp.Comm%TYPE := &EnterComm;
10 BEGIN
11 INSERT INTO Emp(Empno, Ename, Deptno, Job, MGR, HireDate, Sal, Comm)
12 VALUES(V_Empno, V_Ename, V_Deptno, V_Job, V_MGR, V_HireDate, V_Sal,
V_Comm);
13 COMMIT;
14 END;
15 /
Enter value for enterempno: 1234
Enter value for enterename: Sample
Enter value for enterdepto: 30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Enter
Enter
Enter
Enter
Enter

value
value
value
value
value

for
for
for
for
for

enterjob: CLERK
entermgrno: 7566
enterhiredate: 05-JUL-10
entersal: 2500
entercomm: NULL

PL/SQL procedure successfully completed.


SQL> cl scr
SQL> DECLARE
2 V_Empno Emp.Empno%TYPE NOT NULL := &EnterEmpNo;
3 V_Ename Emp.Ename%TYPE NOT NULL := UPPER('&EnterEname');
4 V_Deptno Emp.Deptno%TYPE NOT NULL := &EnterDepto;
5 V_Job Emp.Job%TYPE NOT NULL := UPPER('&EnterJob');
6 V_MGR Emp.MGR%TYPE := &EnterMGRNo;
7 V_HireDate Emp.HireDate%TYPE NOT NULL := '&EnterHireDate';
8 V_Sal Emp.Sal%TYPE NOT NULL := &EnterSal;
9 V_Comm Emp.Comm%TYPE := &EnterComm;
10 V_MGRName Emp.Ename%TYPE;
11 BEGIN
12 IF V_Deptno IN(10,20,30,40) AND
13
V_MGR IN(7566, 7698, 7782, 7788, 7839, 7902) AND
14
V_Job IN('PRESIDENT', 'ANALYST', 'MANAGER', 'CLERK', 'SALESMAN') THEN
15 INSERT INTO Emp(Empno, Ename, Deptno, Job, MGR, HireDate, Sal, Comm)
16 VALUES(V_Empno, V_Ename, V_Deptno, V_Job, V_MGR, V_HireDate, V_Sal,
V_Comm);
17 SELECT Ename, Deptno, Job, MGR, HireDate, Sal, Comm INTO V_Ename , V_Deptno,
V_Job, V_MGR, V_HireDate, V_Sal, V_Comm
18 FROM Emp
19 WHERE Empno = V_Empno;
20 IF V_MGR IS NOT NULL THEN
21
SELECT Ename INTO V_MGRName
22
FROM Emp
23
WHERE Empno = V_MGR;
24 ELSE
25
SELECT Ename INTO V_MGRName
26
FROM Emp
27
WHERE MGR IS NULL;
28 END IF;
29 DBMS_OUTPUT.PUT_LINE('The Details of New Employee Record Inserted are as
Follows...');
30 DBMS_OUTPUT.PUT_LINE('The Employee Number : '||V_Empno);
31 DBMS_OUTPUT.PUT_LINE('The Employee Name : '||INITCAP(V_Ename));
32 DBMS_OUTPUT.PUT_LINE('The Department Number : '||V_Deptno);
33 DBMS_OUTPUT.PUT_LINE('The Designation : '||INITCAP(V_Job));
34 DBMS_OUTPUT.PUT_LINE('The Manager Number : '||NVL(TO_CHAR(V_MGR),'"Cannot
be Managed"')||' , and his Name is : '||V_MGRName);
35 DBMS_OUTPUT.PUT_LINE('The Joining Date : '||TO_CHAR(V_HireDate,'FMDD, Month
Year'));
36 DBMS_OUTPUT.PUT_LINE('The Basic Salary : '||CONCAT('INR
',TO_CHAR(V_Sal,'99,999.99')));
37 DBMS_OUTPUT.PUT_LINE('The Commission Earned : '||NVL(TO_CHAR(V_Comm),'No
Commission...Sorry!'));
38 ELSE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

39 DBMS_OUTPUT.PUT_LINE('The Given Information Conflicts with the Master


Data...');
40 DBMS_OUTPUT.PUT_LINE('Please CROSS CHECK for Proper Data...');
41 DBMS_OUTPUT.PUT_LINE('Your INSERT Transaction has been Cancelled...');
42 DBMS_OUTPUT.PUT_LINE('Thank You for Using the Services...');
43 RETURN;
44 END IF;
45 COMMIT;
46 END;
47 /
Enter value for enterempno: 1235
Enter value for enterename: Sample
Enter value for enterdepto: 30
Enter value for enterjob: Clerk
Enter value for entermgrno: 7566
Enter value for enterhiredate: 05-JUL-10
Enter value for entersal: 2500
Enter value for entercomm: NULL
The Details of New Employee Record Inserted are as Follows...
The Employee Number : 1235
The Employee Name : Sample
The Department Number : 30
The Designation : Clerk
The Manager Number : 7566 , and his Name is : JONES
The Joining Date : 5, July Twenty Ten
The Basic Salary : INR
2,500.00
The Commission Earned : No Commission...Sorry!
PL/SQL procedure successfully completed.
SQL> /
Enter value for enterempno: 1236
Enter value for enterename: Sample
Enter value for enterdepto: 80
Enter value for enterjob: CLERK
Enter value for entermgrno: 7566
Enter value for enterhiredate: 05-JUL-10
Enter value for entersal: 2500
Enter value for entercomm: NULL
The Given Information Conflicts with the Master Data...
Please CROSS CHECK for Proper Data...
Your INSERT Transaction has been Cancelled...
Thank You for Using the Services...
PL/SQL procedure successfully completed.
SQL> /
Enter value
Enter value
Enter value
Enter value
Enter value
Enter value
Enter value
Enter value

for enterempno: 1236


for enterename: Sample
for enterdepto: 30
for enterjob: SRCLERK
for entermgrno: 7566
for enterhiredate: 05-JUL-10
for entersal: 2500
for entercomm: NULL
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

The Given Information Conflicts with the Master Data...


Please CROSS CHECK for Proper Data...
Your INSERT Transaction has been Cancelled...
Thank You for Using the Services...
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> SELECT * FROM Dept;
DEPTNO
-----10
20
30
40
50
60

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
SHIPPING
CARGO

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
CHENNAI
MUMBAI

6 rows selected.
SQL>
2
3
4

UPDATE Dept
SET
Dname = 'COURIER'
WHERE Deptno = 60;

1 row updated.
SQL>
2
3
4
5
6
7

BEGIN
UPDATE Dept
SET
Dname = 'COURIER'
WHERE Deptno = 50;
END;
/

PL/SQL procedure successfully completed.


SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10

DECLARE
V_EmpRecord Emp%ROWTYPE;
V_Empno Emp.Empno%TYPE NOT NULL := &EnterEmpno;
V_Sal Emp.Sal%TYPE NOT NULL := &EnterNewSal;
V_Comm Emp.Comm%TYPE NOT NULL := &EnterNewComm;
V_MGRName Emp.Ename%TYPE;
BEGIN
SELECT * INTO V_EmpRecord
FROM Emp
WHERE Empno = V_Empno;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

11 IF V_EmpRecord.Job IN('PRESIDENT','ANALYST','MANAGER','CLERK') THEN


12 DBMS_OUTPUT.PUT_LINE('The Original Details of Employee Number Requested for
Update are '||V_Empno);
13 DBMS_OUTPUT.PUT_LINE('The Employee Name : '||INITCAP(V_EmpRecord.Ename));
14 DBMS_OUTPUT.PUT_LINE('The Original Basic Salary : '||CONCAT('INR
',TO_CHAR(V_EmpRecord.Sal,'99,999.99')));
15 DBMS_OUTPUT.PUT_LINE('The Original Commission Earned :
'||NVL(TO_CHAR(V_EmpRecord.Comm),'No Commission...Sorry!'));
16 DBMS_OUTPUT.PUT_LINE('Mr. '||INITCAP(V_EmpRecord.Ename)||' Cannot be
Updated as he is not Eligible for Commission...');
17 DBMS_OUTPUT.PUT_LINE('The Updation of Data Was Not Sucessful... Thank
You...for using the Data Updation Services...');
18 ELSE
19 DBMS_OUTPUT.PUT_LINE('The Original Details of Employee Number Requested for
Update are '||V_Empno);
20 DBMS_OUTPUT.PUT_LINE('The Employee Name : '||INITCAP(V_EmpRecord.Ename));
21 DBMS_OUTPUT.PUT_LINE('The Original Basic Salary : '||CONCAT('INR
',TO_CHAR(V_EmpRecord.Sal,'99,999.99')));
22 DBMS_OUTPUT.PUT_LINE('The Original Commission Earned :
'||NVL(TO_CHAR(V_EmpRecord.Comm),'No Commission...Sorry!'));
23 DBMS_OUTPUT.PUT_LINE('The Updation of Data is Under Process... Please
Wait...');
24 UPDATE Emp
25 SET Sal = V_Sal,
26
Comm = V_Comm
27 WHERE Empno = V_Empno;
28 DBMS_OUTPUT.PUT_LINE('The Updation of Data Was Sucessful... Thank You...for
using the Data Updation Services...');
29 SELECT * INTO V_EmpRecord
30 FROM Emp
31 WHERE Empno = V_Empno;
32 IF V_EmpRecord.MGR IS NOT NULL THEN
33
SELECT Ename INTO V_MGRName
34
FROM Emp
35
WHERE Empno = V_EmpRecord.MGR;
36 ELSE
37
SELECT Ename INTO V_MGRName
38
FROM Emp
39
WHERE MGR IS NULL;
40 END IF;
41 DBMS_OUTPUT.PUT_LINE('The Details of Updated Employee Record are as
Follows...');
42 DBMS_OUTPUT.PUT_LINE('The Employee Number : '||V_EmpRecord.Empno);
43 DBMS_OUTPUT.PUT_LINE('The Employee Name : '||INITCAP(V_EmpRecord.Ename));
44 DBMS_OUTPUT.PUT_LINE('The Department Number : '||V_EmpRecord.Deptno);
45 DBMS_OUTPUT.PUT_LINE('The Designation : '||INITCAP(V_EmpRecord.Job));
46 DBMS_OUTPUT.PUT_LINE('The Manager Number :
'||NVL(TO_CHAR(V_EmpRecord.MGR),'"Cannot be Managed"')||' , and his Name is :
'||V_MGRName);
47 DBMS_OUTPUT.PUT_LINE('The Joining Date :
'||TO_CHAR(V_EmpRecord.HireDate,'FMDD, Month Year'));
48 DBMS_OUTPUT.PUT_LINE('The Basic Salary Updated is : '||CONCAT('INR
',TO_CHAR(V_EmpRecord.Sal,'99,999.99')));
49 DBMS_OUTPUT.PUT_LINE('The Commission Updated is : '||V_EmpRecord.Comm);
50 END IF;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

51 --COMMIT;
52 END;
53 /
Enter value for enterempno: 7654
Enter value for enternewsal: 4000
Enter value for enternewcomm: 1000
The Original Details of Employee Number Requested for Update are 7654
The Employee Name : Martin
The Original Basic Salary : INR
1,250.00
The Original Commission Earned : 1400
The Updation of Data is Under Process... Please Wait...
The Updation of Data Was Sucessful... Thank You...for using the Data Updation
Services...
The Details of Updated Employee Record are as Follows...
The Employee Number : 7654
The Employee Name : Martin
The Department Number : 30
The Designation : Salesman
The Manager Number : 7698 , and his Name is : BLAKE
The Joining Date : 28, September Nineteen Eighty-One
The Basic Salary Updated is : INR
4,000.00
The Commission Updated is : 1000
PL/SQL procedure successfully completed.
SQL> /
Enter value for enterempno: 7566
Enter value for enternewsal: 4500
Enter value for enternewcomm: 600
The Original Details of Employee Number Requested for Update are 7566
The Employee Name : Jones
The Original Basic Salary : INR
2,975.00
The Original Commission Earned : No Commission...Sorry!
Mr. Jones Cannot be Updated as he is not Eligible for Commission...
The Updation of Data Was Not Sucessful... Thank You...for using the Data
Updation Services...
PL/SQL procedure successfully completed.
SQL> SPOOL OFF
SQL> cl scr
SQL> DELETE FROM Emp
2 WHERE Empno = 7654;
1 row deleted.
SQL> ROLLBACK;
Rollback complete.
SQL>
2
3
4

BEGIN
DELETE FROM Emp
WHERE Empno = 7654;
END;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

PL/SQL procedure successfully completed.


SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> DECLARE
2 V_EmpRecord Emp%ROWTYPE;
3 V_Empno Emp.Empno%TYPE NOT NULL := &EnterEmpno;
4 V_MGRName Emp.Ename%TYPE;
5 BEGIN
6 SELECT * INTO V_EmpRecord
7 FROM Emp
8 WHERE Empno = V_Empno;
9 IF V_EmpRecord.MGR IS NOT NULL THEN
10 SELECT Ename INTO V_MGRName
11 FROM Emp
12 WHERE Empno = V_EmpRecord.MGR;
13 ELSE
14 SELECT Ename INTO V_MGRName
15 FROM Emp
16 WHERE MGR IS NULL;
17 END IF;
18 DBMS_OUTPUT.PUT_LINE('The Details of Employee Number Being Deleted are
'||V_Empno);
19 DBMS_OUTPUT.PUT_LINE('The Employee Name : '||INITCAP(V_EmpRecord.Ename));
20 DBMS_OUTPUT.PUT_LINE('The Department Number : '||V_EmpRecord.Deptno);
21 DBMS_OUTPUT.PUT_LINE('The Designation : '||INITCAP(V_EmpRecord.Job));
22 DBMS_OUTPUT.PUT_LINE('The Manager Number :
'||NVL(TO_CHAR(V_EmpRecord.MGR),'"Cannot be Managed"')||', and his Name is :
'||V_MGRName);
23 DBMS_OUTPUT.PUT_LINE('The Joining Date :
'||TO_CHAR(V_EmpRecord.HireDate,'FMDD, Month Year'));
24 DBMS_OUTPUT.PUT_LINE('The Basic Salary : '||CONCAT('INR
',TO_CHAR(V_EmpRecord.Sal,'99,999.99')));
25 DBMS_OUTPUT.PUT_LINE('The Commission Earned :
'||NVL(TO_CHAR(V_EmpRecord.Comm),'No Commission...Sorry!'));
26 DBMS_OUTPUT.PUT_LINE('The Deletion Under Process... Please Wait...');
27 DELETE FROM EMP
28 WHERE Empno = V_Empno;
29 DBMS_OUTPUT.PUT_LINE('The Deletion of Data Was Sucessful... Thank You...for
using the Delete Services...');
30 COMMIT;
31 END;
32 /
Enter value for enterempno: 7654
old
3: V_Empno Emp.Empno%TYPE NOT NULL := &EnterEmpno;
new
3: V_Empno Emp.Empno%TYPE NOT NULL := 7654;
PL/SQL procedure successfully completed.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SET SERVEROUTPUT ON


SQL> SET VERIFY ON
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> DECLARE
2 V_EmpRecord Emp%ROWTYPE;
3 V_Empno Emp.Empno%TYPE NOT NULL := &EnterEmpno;
4 V_MGRName Emp.Ename%TYPE;
5 BEGIN
6 SELECT * INTO V_EmpRecord
7 FROM Emp
8 WHERE Empno = V_Empno;
9 IF V_EmpRecord.MGR IS NOT NULL THEN
10 SELECT Ename INTO V_MGRName
11 FROM Emp
12 WHERE Empno = V_EmpRecord.MGR;
13 ELSE
14 SELECT Ename INTO V_MGRName
15 FROM Emp
16 WHERE MGR IS NULL;
17 END IF;
18 DBMS_OUTPUT.PUT_LINE('The Details of Employee Number Being Deleted are
'||V_Empno);
19 DBMS_OUTPUT.PUT_LINE('The Employee Name : '||INITCAP(V_EmpRecord.Ename));
20 DBMS_OUTPUT.PUT_LINE('The Department Number : '||V_EmpRecord.Deptno);
21 DBMS_OUTPUT.PUT_LINE('The Designation : '||INITCAP(V_EmpRecord.Job));
22 DBMS_OUTPUT.PUT_LINE('The Manager Number :
'||NVL(TO_CHAR(V_EmpRecord.MGR),'"Cannot be Managed"')||', and his Name is :
'||V_MGRName);
23 DBMS_OUTPUT.PUT_LINE('The Joining Date :
'||TO_CHAR(V_EmpRecord.HireDate,'FMDD, Month Year'));
24 DBMS_OUTPUT.PUT_LINE('The Basic Salary : '||CONCAT('INR
',TO_CHAR(V_EmpRecord.Sal,'99,999.99')));
25 DBMS_OUTPUT.PUT_LINE('The Commission Earned :
'||NVL(TO_CHAR(V_EmpRecord.Comm),'No Commission...Sorry!'));
26 DBMS_OUTPUT.PUT_LINE('The Deletion Under Process... Please Wait...');
27 DELETE FROM EMP
28 WHERE Empno = V_Empno;
29 DBMS_OUTPUT.PUT_LINE('The Deletion of Data Was Sucessful... Thank You...for
using the Delete Services...');
30 COMMIT;
31 END;
32 /
Enter value for enterempno: 7654
old
3: V_Empno Emp.Empno%TYPE NOT NULL := &EnterEmpno;
new
3: V_Empno Emp.Empno%TYPE NOT NULL := 7654;
DECLARE
*
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at line 6
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
Enter value for enterempno: 7782
old
3: V_Empno Emp.Empno%TYPE NOT NULL := &EnterEmpno;
new
3: V_Empno Emp.Empno%TYPE NOT NULL := 7782;
The Details of Employee Number Being Deleted are 7782
The Employee Name : Clark
The Department Number : 10
The Designation : Manager
The Manager Number : 7839, and his Name is : KING
The Joining Date : 9, June Nineteen Eighty-One
The Basic Salary : INR
2,450.00
The Commission Earned : No Commission...Sorry!
The Deletion Under Process... Please Wait...
DECLARE
*
ERROR at line 1:
ORA-02292: integrity constraint (SCOTT.EMP_SELF_KEY) violated - child record
found
ORA-06512: at line 27

SQL> SPOOL OFF


SQL> cl scr
SQL> DECLARE
2 V_EmpRecord Emp%ROWTYPE;
3 V_Empno Emp.Empno%TYPE NOT NULL := &EnterEmpno;
4 V_MGRName Emp.Ename%TYPE;
5 BEGIN
6 SELECT * INTO V_EmpRecord
7 FROM Emp
8 WHERE Empno = V_Empno;
9 IF V_EmpRecord.MGR IS NOT NULL THEN
10 SELECT Ename INTO V_MGRName
11 FROM Emp
12 WHERE Empno = V_EmpRecord.MGR;
13 ELSE
14 SELECT Ename INTO V_MGRName
15 FROM Emp
16 WHERE MGR IS NULL;
17 END IF;
18 DBMS_OUTPUT.PUT_LINE('The Details of Employee Number Being Deleted are
'||V_Empno);
19 DBMS_OUTPUT.PUT_LINE('The Employee Name : '||INITCAP(V_EmpRecord.Ename));
20 DBMS_OUTPUT.PUT_LINE('The Department Number : '||V_EmpRecord.Deptno);
21 DBMS_OUTPUT.PUT_LINE('The Designation : '||INITCAP(V_EmpRecord.Job));
22 DBMS_OUTPUT.PUT_LINE('The Manager Number :
'||NVL(TO_CHAR(V_EmpRecord.MGR),'"Cannot be Managed"')||', and his Name is :
'||V_MGRName);
23 DBMS_OUTPUT.PUT_LINE('The Joining Date :
'||TO_CHAR(V_EmpRecord.HireDate,'FMDD, Month Year'));
24 DBMS_OUTPUT.PUT_LINE('The Basic Salary : '||CONCAT('INR
',TO_CHAR(V_EmpRecord.Sal,'99,999.99')));
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

25 DBMS_OUTPUT.PUT_LINE('The Commission Earned :


'||NVL(TO_CHAR(V_EmpRecord.Comm),'No Commission...Sorry!'));
26 DBMS_OUTPUT.PUT_LINE('The Deletion Under Process... Please Wait...');
27 DELETE FROM EMP
28 WHERE Empno = V_Empno;
29 DBMS_OUTPUT.PUT_LINE('The Deletion of Data Was Sucessful... Thank You...for
using the Delete Services...');
30 COMMIT;
31 END;
32 /
Enter value for enterempno: 7654
old
3: V_Empno Emp.Empno%TYPE NOT NULL := &EnterEmpno;
new
3: V_Empno Emp.Empno%TYPE NOT NULL := 7654;
The Details of Employee Number Being Deleted are 7654
The Employee Name : Martin
The Department Number : 30
The Designation : Salesman
The Manager Number : 7698, and his Name is : BLAKE
The Joining Date : 28, September Nineteen Eighty-One
The Basic Salary : INR
1,250.00
The Commission Earned : 1400
The Deletion Under Process... Please Wait...
The Deletion of Data Was Sucessful... Thank You...for using the Delete
Services...
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> SPOOL E:\OraSP\Cursors9AM.DOC

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> SET VERIFY OFF
SQL> cl scr
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>

COLUMN
COLUMN
COLUMN
COLUMN
COLUMN
cl scr

Empno FORMAT 9999


Sal FORMAT 9999
Comm FORMAT 9999
MGR FORMAT 9999
Deptno FORMAT 99

SQL> SELECT * FROM Emp;


EMPNO
----7839
7698
7782
7566
7499
7844
7900
7521
7902
7369
7788

ENAME
---------KING
BLAKE
CLARK
JONES
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20
ANALYST
7566 09-DEC-82 3000
20

EMPNO
----7876
7934

ENAME
---------ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

13 rows selected.
SQL> ROLLBACK;
Rollback complete.
SQL> SELECT * FROM Emp;
EMPNO
----7839
7698
7782
7566
7499
7844
7900
7521
7902
7369
7788

ENAME
---------KING
BLAKE
CLARK
JONES
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20
ANALYST
7566 09-DEC-82 3000
20

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

EMPNO
----7876
7934

ENAME
---------ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

13 rows selected.
SQL> SELECT Ename, Deptno, Job, Sal
2 FROM Emp
3 WHERE Deptno = 30;
ENAME
DEPTNO JOB
SAL
---------- ------ --------- ----BLAKE
30 MANAGER
2850
ALLEN
30 SALESMAN
1600
TURNER
30 SALESMAN
1500
JAMES
30 CLERK
950
WARD
30 SALESMAN
1250
SQL> cl scr
SQL> SELECT * FROm Emp;
EMPNO
----7839
7698
7782
7566
7499
7844
7900
7521
7902
7369
7788

ENAME
---------KING
BLAKE
CLARK
JONES
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20
ANALYST
7566 09-DEC-82 3000
20

EMPNO
----7876
7934

ENAME
---------ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

13 rows selected.
SQL> INSERT INTO Emp(Empno, Ename, Job, MGR, HireDate, Sal, Comm,
Deptno)
2 VALUES(1234, 'SAMPLE01', 'CLERK', 7566, SYSDATE, 2500, NULL, 30);
1 row created.
SQL> BEGIN
2 INSERT INTO Emp(Empno, Ename, Job, MGR, HireDate, Sal, Comm,
Deptno)
3 VALUES(1235, 'SAMPLE02', 'CLERK', 7566, SYSDATE, 2500, NULL, 30);
4 END;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

PL/SQL procedure successfully completed.


SQL> DECLARE
2 V_Empno Emp.Empno%TYPE := &GEmpno;
3 V_Ename Emp.Ename%TYPE := '&GEname';
4 V_Sal Emp.Sal%TYPE := &GSal;
5 V_Comm Emp.Comm%TYPE := &GComm;
6 V_Deptno Emp.Deptno%TYPE := &GDeptno;
7 V_MGR Emp.MGR%TYPE := &GMGR;
8 V_Job Emp.Job%TYPE := '&GJob';
9 V_HireDate Emp.HireDate%TYPE := '&GHireDate';
10 BEGIN
11 INSERT INTO Emp(Empno, Ename, Job, MGR, HireDate, Sal, Comm,
Deptno)
12 VALUES(V_Empno, V_Ename, V_Job, V_MGR,V_HireDate, V_Sal, V_Comm,
V_Deptno);
13 IF SQL%FOUND THEN
14 DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT||' Record Inserted
Successfully...');
15 DBMS_OUTPUT.PUT_LINE('The Record Inserted is...');
16 DBMS_OUTPUT.PUT_LINE(V_Empno, V_Ename, V_Job, V_MGR,V_HireDate,
V_Sal, V_Comm, V_Deptno
17 .
SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Empno Emp.Empno%TYPE := &GEmpno;
3 V_Ename Emp.Ename%TYPE := '&GEname';
4 V_Sal Emp.Sal%TYPE := &GSal;
5 V_Comm Emp.Comm%TYPE := &GComm;
6 V_Deptno Emp.Deptno%TYPE := &GDeptno;
7 V_MGR Emp.MGR%TYPE := &GMGR;
8 V_Job Emp.Job%TYPE := '&GJob';
9 V_HireDate Emp.HireDate%TYPE := '&GHireDate';
10 BEGIN
11 INSERT INTO Emp(Empno, Ename, Job, MGR, HireDate, Sal, Comm,
Deptno)
12 VALUES(V_Empno, V_Ename, V_Job, V_MGR,V_HireDate, V_Sal, V_Comm,
V_Deptno);
13 IF SQL%FOUND THEN
14 DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT||' Record Inserted
Successfully...');
15 DBMS_OUTPUT.PUT_LINE('The Record Inserted is...');
16 DBMS_OUTPUT.PUT_LINE(V_Empno||', '||V_Ename||', '||V_Job||',
'||V_MGR||', '||V_HireDate||', '||V_Sal||', '||V_Comm||', '||V_Deptno);
17 ELSE
18 DBMS_OUTPUT.PUT_LINE('Problem in Inserting The Record Contact The
Administrator...');
19 END IF;
20* END;
SQL> /
Enter value for gempno: 1235
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Enter value for gename: SAMPLE03


Enter value for gsal: 2000
Enter value for gcomm: NULL
Enter value for gdeptno: 30
Enter value for gmgr: 7566
Enter value for gjob: CLERK
Enter value for ghiredate: 06-JUL-10
DECLARE
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.EMP_PRIMARY_KEY) violated
ORA-06512: at line 11

SQL> /
Enter value for gempno: 1240
Enter value for gename: SAMPLE05
Enter value for gsal: 2000
Enter value for gcomm: NULL
Enter value for gdeptno: 30
Enter value for gmgr: 7566
Enter value for gjob: CLERK
Enter value for ghiredate: 06-JUL-10
1 Record Inserted Successfully...
The Record Inserted is...
1240, SAMPLE05, CLERK, 7566, 06-JUL-10, 2000, , 30
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> SELECT * FROM Emp;
EMPNO
----7839
7698
7782
7566
7499
7844
7900
7521
7902
7369
7788

ENAME
---------KING
BLAKE
CLARK
JONES
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20
ANALYST
7566 09-DEC-82 3000
20

EMPNO
----7876
7934
1234
1235
1240

ENAME
---------ADAMS
MILLER
SAMPLE01
SAMPLE02
SAMPLE05

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10
CLERK
7566 06-JUL-10 2500
30
CLERK
7566 06-JUL-10 2500
30
CLERK
7566 06-JUL-10 2000
30

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

16 rows selected.
SQL> DELETE FROM Emp
2 WHERE Empno = 1234;
1 row deleted.
SQL>
2
3
4
SQL>
2
3
4
5

BEGIN DELETE FROM Emp


WHERE Empno = 1234
.
BEGIN
DELETE FROM Emp
WHERE Empno = 1235;
END;
/

PL/SQL procedure successfully completed.


SQL> DECLARE
2 V_Empno Emp.Empno%TYPE := &GEmpno;
3 BEGIN
4 DELETE FROM Emp
5 WHERE Empno = V_Empno;
6 IF SQL%FOUND THEN
7 DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT||' Row(s) Deleted
Successfully');
8 ELSE
9 DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT||' Row(s) Deleted...');
10 END IF;
11 END;
12 /
Enter value for gempno: 1240
1 Row(s) Deleted Successfully
PL/SQL procedure successfully completed.
SQL> /
Enter value for gempno: 2234
0 Row(s) Deleted...
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> SELECT * FROM Emp;
EMPNO
----7839
7698
7782
7566
7499
7844

ENAME
JOB
MGR HIREDATE
SAL COMM DEPTNO
---------- --------- ----- --------- ----- ----- -----KING
PRESIDENT
17-NOV-81 5000
10
BLAKE
MANAGER
7839 01-MAY-81 2850
30
CLARK
MANAGER
7839 09-JUN-81 2450
10
JONES
MANAGER
7839 02-APR-81 2975
20
ALLEN
SALESMAN
7698 20-FEB-81 1600
300
30
TURNER
SALESMAN
7698 08-SEP-81 1500
0
30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7900
7521
7902
7369
7788
EMPNO
----7876
7934

JAMES
WARD
FORD
SMITH
SCOTT

CLERK
SALESMAN
ANALYST
CLERK
ANALYST

7698
7698
7566
7902
7566

03-DEC-81
22-FEB-81
03-DEC-81
17-DEC-80
09-DEC-82

950
1250
3000
800
3000

ENAME
---------ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

500

30
30
20
20
20

13 rows selected.
SQL> UPDATE Emp
2 SET Sal = Sal + 1000
3 WHERE Empno = 7934;
1 row updated.
SQL>
2
3
4
5
6

BEGIN
UPDATE Emp
SET Sal = Sal + 1000
WHERE Empno = 7934;
END;
/

PL/SQL procedure successfully completed.


SQL> DECLARE
2 V_Empno Emp.Empno%TYPE := &GEmpno;
3 BEGIN
4 UPDATE Emp
5 SET Sal = Sal + 1000
6 WHERE Empno = V_Empno;
7 IF SQL%FOUND THEN
8 DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT||' Row(s) Updated
Successfully...');
9 ELSE
10 DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT||' Row(s) Updated);
11 END IF;
12 END;
13 /
Enter value for gempno: 7934
ERROR:
ORA-01756: quoted string not properly terminated

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5

DECLARE
V_Empno Emp.Empno%TYPE := &GEmpno;
BEGIN
UPDATE Emp
SET Sal = Sal + 1000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

6 WHERE Empno = V_Empno;


7 IF SQL%FOUND THEN
8 DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT||' Row(s) Updated
Successfully...');
9 ELSE
10 DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT||' Row(s) Updated');
11 END IF;
12* END;
SQL> /
Enter value for gempno: 7934
1 Row(s) Updated Successfully...
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Empno Emp.Empno%TYPE := &GEmpno;
3 BEGIN
4 UPDATE Emp
5 SET Sal = Sal + 1000
6 WHERE Empno = V_Empno;
7 IF SQL%FOUND THEN
8 DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT||' Row(s) Updated
Successfully...');
9 ELSE
10 DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT||' Row(s) Updated');
11 END IF;
12* END;
SQL> /
Enter value for gempno: 2234
0 Row(s) Updated
PL/SQL procedure successfully completed.
SQL> SPOOL OFF
SQL> cl scr
SQL> SET SERVEROUTPUT ON
SQL> SET VERIFY OFF
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12

DECLARE
V_Ename EMP.ENAME%TYPE;
V_Sal EMP.SAL%TYPE;
CURSOR MyCursor IS
SELECT Ename, Sal
FROM EMP;
BEGIN
OPEN MyCursor;
FETCH MyCursor INTO V_Ename, V_Sal;
DBMS_OUTPUT.PUT_LINE(V_Ename||'''s Salary is $ '||V_Sal);
FETCH MyCursor INTO V_Ename, V_Sal;
DBMS_OUTPUT.PUT_LINE(V_Ename||'''s Salary is $ '||V_Sal);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

13 CLOSE MyCursor;
14 END;
15 /
KING's Salary is $ 5000
BLAKE's Salary is $ 2850
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 V_Ename EMP.ENAME%TYPE;
3 V_Sal EMP.SAL%TYPE;
4 CURSOR MyCursor IS
5 SELECT Ename, Sal
6 FROM EMP;
7 BEGIN
8 OPEN MyCursor;
9 FETCH MyCursor INTO V_Ename, V_Sal;
10 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
11 FETCH MyCursor INTO V_Ename, V_Sal;
12 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
13 FETCH MyCursor INTO V_Ename, V_Sal;
14 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
15 FETCH MyCursor INTO V_Ename, V_Sal;
16 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
17 FETCH MyCursor INTO V_Ename, V_Sal;
18 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
19 FETCH MyCursor INTO V_Ename, V_Sal;
20 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
21 FETCH MyCursor INTO V_Ename, V_Sal;
22 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
23 FETCH MyCursor INTO V_Ename, V_Sal;
24 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
25 FETCH MyCursor INTO V_Ename, V_Sal;
26 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
27 FETCH MyCursor INTO V_Ename, V_Sal;
28 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
29 FETCH MyCursor INTO V_Ename, V_Sal;
30 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
31 FETCH MyCursor INTO V_Ename, V_Sal;
32 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
33 FETCH MyCursor INTO V_Ename, V_Sal;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

34 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :


'||V_Ename||'''s Salary is $ '||V_Sal);
35 FETCH MyCursor INTO V_Ename, V_Sal;
36 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
37 CLOSE MyCursor;
38 END;
39 /
Row Number 1 : KING's Salary is $ 5000
Row Number 2 : BLAKE's Salary is $ 2850
Row Number 3 : CLARK's Salary is $ 2450
Row Number 4 : JONES's Salary is $ 2975
Row Number 5 : MARTIN's Salary is $ 1250
Row Number 6 : ALLEN's Salary is $ 1600
Row Number 7 : TURNER's Salary is $ 1500
Row Number 8 : JAMES's Salary is $ 950
Row Number 9 : WARD's Salary is $ 1250
Row Number 10 : FORD's Salary is $ 3000
Row Number 11 : SMITH's Salary is $ 800
Row Number 12 : SCOTT's Salary is $ 3000
Row Number 13 : ADAMS's Salary is $ 1100
Row Number 14 : MILLER's Salary is $ 1300
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Ename EMP.ENAME%TYPE;
3 V_Sal EMP.SAL%TYPE;
4 CURSOR MyCursor IS
5 SELECT Ename, Sal
6 FROM EMP;
7 BEGIN
8 OPEN MyCursor;
9 FETCH MyCursor INTO V_Ename, V_Sal;
10 FETCH MyCursor INTO V_Ename, V_Sal;
11 FETCH MyCursor INTO V_Ename, V_Sal;
12 FETCH MyCursor INTO V_Ename, V_Sal;
13 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
14 FETCH MyCursor INTO V_Ename, V_Sal;
15 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
16 FETCH MyCursor INTO V_Ename, V_Sal;
17 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
18 FETCH MyCursor INTO V_Ename, V_Sal;
19 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
20 FETCH MyCursor INTO V_Ename, V_Sal;
21 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
22 FETCH MyCursor INTO V_Ename, V_Sal;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

23 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'


'||V_Ename||'''s Salary is $ '||V_Sal);
24 FETCH MyCursor INTO V_Ename, V_Sal;
25 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
26 FETCH MyCursor INTO V_Ename, V_Sal;
27 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
28 FETCH MyCursor INTO V_Ename, V_Sal;
29 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
30 FETCH MyCursor INTO V_Ename, V_Sal;
31 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
32 FETCH MyCursor INTO V_Ename, V_Sal;
33 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
34 CLOSE MyCursor;
35* END;
SQL> /
Row Number 4 : JONES's Salary is $ 2975
Row Number 5 : MARTIN's Salary is $ 1250
Row Number 6 : ALLEN's Salary is $ 1600
Row Number 7 : TURNER's Salary is $ 1500
Row Number 8 : JAMES's Salary is $ 950
Row Number 9 : WARD's Salary is $ 1250
Row Number 10 : FORD's Salary is $ 3000
Row Number 11 : SMITH's Salary is $ 800
Row Number 12 : SCOTT's Salary is $ 3000
Row Number 13 : ADAMS's Salary is $ 1100
Row Number 14 : MILLER's Salary is $ 1300

PL/SQL procedure successfully completed.


SQL> cl scr
SQL> DECLARE
2 V_Ename EMP.ENAME%TYPE;
3 V_Sal EMP.SAL%TYPE;
4 CURSOR MyCursor IS
5 SELECT Ename, Sal
6 FROM EMP;
7 BEGIN
8 OPEN MyCursor;
9 FETCH MyCursor INTO V_Ename, V_Sal;
10 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
11 FETCH MyCursor INTO V_Ename, V_Sal;
12 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
13 FETCH MyCursor INTO V_Ename, V_Sal;
14 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
15 FETCH MyCursor INTO V_Ename, V_Sal;

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

16 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :


'||V_Ename||'''s Salary is $ '||V_Sal);
17 FETCH MyCursor INTO V_Ename, V_Sal;
18 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
19 FETCH MyCursor INTO V_Ename, V_Sal;
20 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
21 FETCH MyCursor INTO V_Ename, V_Sal;
22 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
23 FETCH MyCursor INTO V_Ename, V_Sal;
24 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
25 FETCH MyCursor INTO V_Ename, V_Sal;
26 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
27 FETCH MyCursor INTO V_Ename, V_Sal;
28 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
29 FETCH MyCursor INTO V_Ename, V_Sal;
30 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
31 FETCH MyCursor INTO V_Ename, V_Sal;
32 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
33 FETCH MyCursor INTO V_Ename, V_Sal;
34 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
35 FETCH MyCursor INTO V_Ename, V_Sal;
36 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
37 FETCH MyCursor INTO V_Ename, V_Sal;
38 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
39 FETCH MyCursor INTO V_Ename, V_Sal;
40 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
41 CLOSE MyCursor;
42 END;
43 /
Row Number 1 : KING's Salary is $ 5000
Row Number 2 : BLAKE's Salary is $ 2850
Row Number 3 : CLARK's Salary is $ 2450
Row Number 4 : JONES's Salary is $ 2975
Row Number 5 : MARTIN's Salary is $ 1250
Row Number 6 : ALLEN's Salary is $ 1600
Row Number 7 : TURNER's Salary is $ 1500
Row Number 8 : JAMES's Salary is $ 950
Row Number 9 : WARD's Salary is $ 1250
Row Number 10 : FORD's Salary is $ 3000
Row Number 11 : SMITH's Salary is $ 800
Row Number 12 : SCOTT's Salary is $ 3000
Row Number 13 : ADAMS's Salary is $ 1100
Row Number 14 : MILLER's Salary is $ 1300
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Row Number 14 : MILLER's Salary is $ 1300


Row Number 14 : MILLER's Salary is $ 1300
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 V_Ename EMP.ENAME%TYPE;
3 V_Sal EMP.SAL%TYPE;
4 CURSOR MyCursor IS
5 SELECT Ename, Sal
6 FROM EMP;
7 BEGIN
8 --OPEN MyCursor;
9 FETCH MyCursor INTO V_Ename, V_Sal;
10 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
11 FETCH MyCursor INTO V_Ename, V_Sal;
12 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
13 FETCH MyCursor INTO V_Ename, V_Sal;
14 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
15 FETCH MyCursor INTO V_Ename, V_Sal;
16 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
17 FETCH MyCursor INTO V_Ename, V_Sal;
18 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
19 FETCH MyCursor INTO V_Ename, V_Sal;
20 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
21 FETCH MyCursor INTO V_Ename, V_Sal;
22 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
23 FETCH MyCursor INTO V_Ename, V_Sal;
24 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
25 FETCH MyCursor INTO V_Ename, V_Sal;
26 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
27 FETCH MyCursor INTO V_Ename, V_Sal;
28 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
29 FETCH MyCursor INTO V_Ename, V_Sal;
30 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
31 FETCH MyCursor INTO V_Ename, V_Sal;
32 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
33 FETCH MyCursor INTO V_Ename, V_Sal;
34 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
35 FETCH MyCursor INTO V_Ename, V_Sal;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

36 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :


'||V_Ename||'''s Salary is $ '||V_Sal);
37 FETCH MyCursor INTO V_Ename, V_Sal;
38 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
39 FETCH MyCursor INTO V_Ename, V_Sal;
40 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
41 CLOSE MyCursor;
42 END;
43 /
DECLARE
*
ERROR at line 1:
ORA-01001: invalid cursor
ORA-06512: at line 9

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Ename EMP.ENAME%TYPE;
3 V_Sal EMP.SAL%TYPE;
4 CURSOR MyCursor IS
5 SELECT Ename, Sal
6 FROM EMP;
7 BEGIN
8 OPEN MyCursor;
9 FETCH MyCursor INTO V_Ename, V_Sal;
10 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
11 FETCH MyCursor INTO V_Ename, V_Sal;
12 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
13 FETCH MyCursor INTO V_Ename, V_Sal;
14 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
15 FETCH MyCursor INTO V_Ename, V_Sal;
16 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
17 FETCH MyCursor INTO V_Ename, V_Sal;
18 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
19 FETCH MyCursor INTO V_Ename, V_Sal;
20 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
21 FETCH MyCursor INTO V_Ename, V_Sal;
22 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
23 FETCH MyCursor INTO V_Ename, V_Sal;
24 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
25 FETCH MyCursor INTO V_Ename, V_Sal;

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

26 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'


'||V_Ename||'''s Salary is $ '||V_Sal);
27 FETCH MyCursor INTO V_Ename, V_Sal;
28 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
29 FETCH MyCursor INTO V_Ename, V_Sal;
30 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
31 FETCH MyCursor INTO V_Ename, V_Sal;
32 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
33 FETCH MyCursor INTO V_Ename, V_Sal;
34 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
35 FETCH MyCursor INTO V_Ename, V_Sal;
36 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
37 FETCH MyCursor INTO V_Ename, V_Sal;
38 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
39 FETCH MyCursor INTO V_Ename, V_Sal;
40 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
41 CLOSE MyCursor;
42* END;
SQL> /
Row Number 1 : KING's Salary is $ 5000
Row Number 2 : BLAKE's Salary is $ 2850
Row Number 3 : CLARK's Salary is $ 2450
Row Number 4 : JONES's Salary is $ 2975
Row Number 5 : MARTIN's Salary is $ 1250
Row Number 6 : ALLEN's Salary is $ 1600
Row Number 7 : TURNER's Salary is $ 1500
Row Number 8 : JAMES's Salary is $ 950
Row Number 9 : WARD's Salary is $ 1250
Row Number 10 : FORD's Salary is $ 3000
Row Number 11 : SMITH's Salary is $ 800
Row Number 12 : SCOTT's Salary is $ 3000
Row Number 13 : ADAMS's Salary is $ 1100
Row Number 14 : MILLER's Salary is $ 1300
Row Number 14 : MILLER's Salary is $ 1300
Row Number 14 : MILLER's Salary is $ 1300

PL/SQL procedure successfully completed.


SQL> cl scr
SQL>
2
3
4
5
6
7
8

DECLARE
V_Ename EMP.ENAME%TYPE;
V_Sal EMP.SAL%TYPE;
CURSOR MyCursor IS
SELECT Ename, Sal
FROM EMP;
BEGIN
OPEN MyCursor;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

9 FETCH MyCursor INTO V_Ename, V_Sal;


10 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
11 FETCH MyCursor INTO V_Ename, V_Sal;
12 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
13 FETCH MyCursor INTO V_Ename, V_Sal;
14 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
15 FETCH MyCursor INTO V_Ename, V_Sal;
16 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
17 FETCH MyCursor INTO V_Ename, V_Sal;
18 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
19 FETCH MyCursor INTO V_Ename, V_Sal;
20 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
21 FETCH MyCursor INTO V_Ename, V_Sal;
22 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
23 FETCH MyCursor INTO V_Ename, V_Sal;
24 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
25 FETCH MyCursor INTO V_Ename, V_Sal;
26 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
27 FETCH MyCursor INTO V_Ename, V_Sal;
28 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
29 FETCH MyCursor INTO V_Ename, V_Sal;
30 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
31 FETCH MyCursor INTO V_Ename, V_Sal;
32 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
33 CLOSE MyCursor;
34 FETCH MyCursor INTO V_Ename, V_Sal;
35 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
36 FETCH MyCursor INTO V_Ename, V_Sal;
37 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
38 FETCH MyCursor INTO V_Ename, V_Sal;
39 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
40 FETCH MyCursor INTO V_Ename, V_Sal;
41 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
42 CLOSE MyCursor;
43 END;
44 /
Row Number 1 : KING's Salary is $ 5000
Row Number 2 : BLAKE's Salary is $ 2850
Row Number 3 : CLARK's Salary is $ 2450
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Row Number 4 : JONES's Salary is $ 2975


Row Number 5 : MARTIN's Salary is $ 1250
Row Number 6 : ALLEN's Salary is $ 1600
Row Number 7 : TURNER's Salary is $ 1500
Row Number 8 : JAMES's Salary is $ 950
Row Number 9 : WARD's Salary is $ 1250
Row Number 10 : FORD's Salary is $ 3000
Row Number 11 : SMITH's Salary is $ 800
Row Number 12 : SCOTT's Salary is $ 3000
DECLARE
*
ERROR at line 1:
ORA-01001: invalid cursor
ORA-06512: at line 34

SQL> DECLARE
2 V_Ename EMP.ENAME%TYPE;
3 V_Sal EMP.SAL%TYPE;
4 CURSOR MyCursor IS
5 SELECT Ename, Sal
6 FROM EMP;
7 BEGIN
8 OPEN MyCursor;
9 FETCH MyCursor INTO V_Ename, V_Sal;
10 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
11 FETCH MyCursor INTO V_Ename, V_Sal;
12 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
13 FETCH MyCursor INTO V_Ename, V_Sal;
14 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
15 FETCH MyCursor INTO V_Ename, V_Sal;
16 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
17 OPEN MyCursor;
18 FETCH MyCursor INTO V_Ename, V_Sal;
19 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
20 FETCH MyCursor INTO V_Ename, V_Sal;
21 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
22 FETCH MyCursor INTO V_Ename, V_Sal;
23 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
24 FETCH MyCursor INTO V_Ename, V_Sal;
25 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
26 FETCH MyCursor INTO V_Ename, V_Sal;
27 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
28 FETCH MyCursor INTO V_Ename, V_Sal;
29 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

30 FETCH MyCursor INTO V_Ename, V_Sal;


31 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
32 FETCH MyCursor INTO V_Ename, V_Sal;
33 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
34 CLOSE MyCursor;
35 FETCH MyCursor INTO V_Ename, V_Sal;
36 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
37 FETCH MyCursor INTO V_Ename, V_Sal;
38 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
39 FETCH MyCursor INTO V_Ename, V_Sal;
40 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
41 FETCH MyCursor INTO V_Ename, V_Sal;
42 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
43 CLOSE MyCursor;
44 END;
45 /
Row Number 1 : KING's Salary is $ 5000
Row Number 2 : BLAKE's Salary is $ 2850
Row Number 3 : CLARK's Salary is $ 2450
Row Number 4 : JONES's Salary is $ 2975
DECLARE
*
ERROR at line 1:
ORA-06511: PL/SQL: cursor already open
ORA-06512: at line 5
ORA-06512: at line 17

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Ename EMP.ENAME%TYPE;
3 V_Sal EMP.SAL%TYPE;
4 CURSOR MyCursor IS
5 SELECT Ename, Sal
6 FROM EMP;
7 BEGIN
8 OPEN MyCursor;
9 FETCH MyCursor INTO V_Ename, V_Sal;
10 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
11 FETCH MyCursor INTO V_Ename, V_Sal;
12 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
13 FETCH MyCursor INTO V_Ename, V_Sal;
14 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
15 FETCH MyCursor INTO V_Ename, V_Sal;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

16 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :


'||V_Ename||'''s Salary is $ '||V_Sal);
17 CLOSE MyCursor;
18 OPEN MyCursor;
19 FETCH MyCursor INTO V_Ename, V_Sal;
20 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
21 FETCH MyCursor INTO V_Ename, V_Sal;
22 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
23 FETCH MyCursor INTO V_Ename, V_Sal;
24 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
25 FETCH MyCursor INTO V_Ename, V_Sal;
26 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
27 FETCH MyCursor INTO V_Ename, V_Sal;
28 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
29 FETCH MyCursor INTO V_Ename, V_Sal;
30 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
31 FETCH MyCursor INTO V_Ename, V_Sal;
32 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
33 FETCH MyCursor INTO V_Ename, V_Sal;
34 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
35 CLOSE MyCursor;
36 FETCH MyCursor INTO V_Ename, V_Sal;
37 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
38 FETCH MyCursor INTO V_Ename, V_Sal;
39 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
40 FETCH MyCursor INTO V_Ename, V_Sal;
41 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
42 FETCH MyCursor INTO V_Ename, V_Sal;
43 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
44 CLOSE MyCursor;
45* END;
SQL> /
Row Number 1 : KING's Salary is $ 5000
Row Number 2 : BLAKE's Salary is $ 2850
Row Number 3 : CLARK's Salary is $ 2450
Row Number 4 : JONES's Salary is $ 2975
Row Number 1 : KING's Salary is $ 5000
Row Number 2 : BLAKE's Salary is $ 2850
Row Number 3 : CLARK's Salary is $ 2450
Row Number 4 : JONES's Salary is $ 2975
Row Number 5 : MARTIN's Salary is $ 1250
Row Number 6 : ALLEN's Salary is $ 1600
Row Number 7 : TURNER's Salary is $ 1500
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Row Number 8 : JAMES's Salary is $ 950


DECLARE
*
ERROR at line 1:
ORA-01001: invalid cursor
ORA-06512: at line 36

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Ename EMP.ENAME%TYPE;
3 V_Sal EMP.SAL%TYPE;
4 CURSOR MyCursor IS
5 SELECT Ename, Sal
6 FROM EMP;
7 BEGIN
8 OPEN MyCursor;
9 FETCH MyCursor INTO V_Ename, V_Sal;
10 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
11 FETCH MyCursor INTO V_Ename, V_Sal;
12 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
13 FETCH MyCursor INTO V_Ename, V_Sal;
14 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
15 FETCH MyCursor INTO V_Ename, V_Sal;
16 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
17 CLOSE MyCursor;
18 OPEN MyCursor;
19 FETCH MyCursor INTO V_Ename, V_Sal;
20 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
21 FETCH MyCursor INTO V_Ename, V_Sal;
22 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
23 FETCH MyCursor INTO V_Ename, V_Sal;
24 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
25 FETCH MyCursor INTO V_Ename, V_Sal;
26 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
27 FETCH MyCursor INTO V_Ename, V_Sal;
28 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
29 FETCH MyCursor INTO V_Ename, V_Sal;
30 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
31 FETCH MyCursor INTO V_Ename, V_Sal;
32 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
33 FETCH MyCursor INTO V_Ename, V_Sal;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

34 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'


'||V_Ename||'''s Salary is $ '||V_Sal);
35 CLOSE MyCursor;
36 OPEN MyCursor;
37 FETCH MyCursor INTO V_Ename, V_Sal;
38 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
39 FETCH MyCursor INTO V_Ename, V_Sal;
40 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
41 FETCH MyCursor INTO V_Ename, V_Sal;
42 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
43 FETCH MyCursor INTO V_Ename, V_Sal;
44 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
45 CLOSE MyCursor;
46* END;
SQL> /
Row Number 1 : KING's Salary is $ 5000
Row Number 2 : BLAKE's Salary is $ 2850
Row Number 3 : CLARK's Salary is $ 2450
Row Number 4 : JONES's Salary is $ 2975
Row Number 1 : KING's Salary is $ 5000
Row Number 2 : BLAKE's Salary is $ 2850
Row Number 3 : CLARK's Salary is $ 2450
Row Number 4 : JONES's Salary is $ 2975
Row Number 5 : MARTIN's Salary is $ 1250
Row Number 6 : ALLEN's Salary is $ 1600
Row Number 7 : TURNER's Salary is $ 1500
Row Number 8 : JAMES's Salary is $ 950
Row Number 1 : KING's Salary is $ 5000
Row Number 2 : BLAKE's Salary is $ 2850
Row Number 3 : CLARK's Salary is $ 2450
Row Number 4 : JONES's Salary is $ 2975

PL/SQL procedure successfully completed.


SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Ename EMP.ENAME%TYPE;
3 V_Sal EMP.SAL%TYPE;
4 CURSOR MyCursor IS
5 SELECT Ename, Sal
6 FROM EMP;
7 BEGIN
8 OPEN MyCursor;
9 FETCH MyCursor INTO V_Ename, V_Sal;
10 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
11 FETCH MyCursor INTO V_Ename, V_Sal;
12 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

13 FETCH MyCursor INTO V_Ename, V_Sal;


14 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
15 FETCH MyCursor INTO V_Ename, V_Sal;
16 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
17 CLOSE MyCursor;
18 OPEN MyCursor;
19 FETCH MyCursor INTO V_Ename, V_Sal;
20 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
21 FETCH MyCursor INTO V_Ename, V_Sal;
22 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
23 FETCH MyCursor INTO V_Ename, V_Sal;
24 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
25 FETCH MyCursor INTO V_Ename, V_Sal;
26 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
27 FETCH MyCursor INTO V_Ename, V_Sal;
28 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
29 FETCH MyCursor INTO V_Ename, V_Sal;
30 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
31 FETCH MyCursor INTO V_Ename, V_Sal;
32 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
33 FETCH MyCursor INTO V_Ename, V_Sal;
34 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
35 CLOSE MyCursor;
36 OPEN MyCursor;
37 FETCH MyCursor INTO V_Ename, V_Sal;
38 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
39 FETCH MyCursor INTO V_Ename, V_Sal;
40 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
41 FETCH MyCursor INTO V_Ename, V_Sal;
42 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
43 FETCH MyCursor INTO V_Ename, V_Sal;
44 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
45 CLOSE MyCursor;
46 CLOSE MyCursor;
47* END;
SQL> /
Row Number 1 : KING's Salary is $ 5000
Row Number 2 : BLAKE's Salary is $ 2850
Row Number 3 : CLARK's Salary is $ 2450
Row Number 4 : JONES's Salary is $ 2975
Row Number 1 : KING's Salary is $ 5000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Row Number 2 : BLAKE's Salary is $ 2850


Row Number 3 : CLARK's Salary is $ 2450
Row Number 4 : JONES's Salary is $ 2975
Row Number 5 : MARTIN's Salary is $ 1250
Row Number 6 : ALLEN's Salary is $ 1600
Row Number 7 : TURNER's Salary is $ 1500
Row Number 8 : JAMES's Salary is $ 950
Row Number 1 : KING's Salary is $ 5000
Row Number 2 : BLAKE's Salary is $ 2850
Row Number 3 : CLARK's Salary is $ 2450
Row Number 4 : JONES's Salary is $ 2975
DECLARE
*
ERROR at line 1:
ORA-01001: invalid cursor
ORA-06512: at line 46

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Ename EMP.ENAME%TYPE;
3 V_Sal EMP.SAL%TYPE;
4 CURSOR MyCursor IS
5 SELECT Ename, Sal
6 FROM EMP;
7 BEGIN
8 OPEN MyCursor;
9 FETCH MyCursor INTO V_Ename, V_Sal;
10 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
11 FETCH MyCursor INTO V_Ename, V_Sal;
12 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
13 FETCH MyCursor INTO V_Ename, V_Sal;
14 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
15 FETCH MyCursor INTO V_Ename, V_Sal;
16 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
17 CLOSE MyCursor;
18 OPEN MyCursor;
19 FETCH MyCursor INTO V_Ename, V_Sal;
20 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
21 FETCH MyCursor INTO V_Ename, V_Sal;
22 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
23 FETCH MyCursor INTO V_Ename, V_Sal;
24 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
25 FETCH MyCursor INTO V_Ename, V_Sal;
26 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||' :
'||V_Ename||'''s Salary is $ '||V_Sal);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

27 FETCH MyCursor INTO V_Ename, V_Sal;


28 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
29 FETCH MyCursor INTO V_Ename, V_Sal;
30 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
31 FETCH MyCursor INTO V_Ename, V_Sal;
32 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
33 FETCH MyCursor INTO V_Ename, V_Sal;
34 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
35 CLOSE MyCursor;
36 OPEN MyCursor;
37 FETCH MyCursor INTO V_Ename, V_Sal;
38 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
39 FETCH MyCursor INTO V_Ename, V_Sal;
40 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
41 FETCH MyCursor INTO V_Ename, V_Sal;
42 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
43 FETCH MyCursor INTO V_Ename, V_Sal;
44 DBMS_OUTPUT.PUT_LINE('Row Number '||MyCursor%ROWCOUNT||'
'||V_Ename||'''s Salary is $ '||V_Sal);
45 CLOSE MyCursor;
46 OPEN MyCursor;
47 CLOSE MyCursor;
48* END;
SQL> /
Row Number 1 : KING's Salary is $ 5000
Row Number 2 : BLAKE's Salary is $ 2850
Row Number 3 : CLARK's Salary is $ 2450
Row Number 4 : JONES's Salary is $ 2975
Row Number 1 : KING's Salary is $ 5000
Row Number 2 : BLAKE's Salary is $ 2850
Row Number 3 : CLARK's Salary is $ 2450
Row Number 4 : JONES's Salary is $ 2975
Row Number 5 : MARTIN's Salary is $ 1250
Row Number 6 : ALLEN's Salary is $ 1600
Row Number 7 : TURNER's Salary is $ 1500
Row Number 8 : JAMES's Salary is $ 950
Row Number 1 : KING's Salary is $ 5000
Row Number 2 : BLAKE's Salary is $ 2850
Row Number 3 : CLARK's Salary is $ 2450
Row Number 4 : JONES's Salary is $ 2975

PL/SQL procedure successfully completed.


SQL> cl scr
SQL> DECLARE
2 CURSOR EmpCursor IS
3 SELECT * FROM Emp;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4 V_EmpData EmpCursor%ROWTYPE;
5 BEGIN
6 OPEN EmpCursor;
7 LOOP
8 FETCH EmpCursor INTO V_EmpData;
9 EXIT WHEN EmpCursor%NOTFOUND;
10 DBMS_OUTPUT.PUT_LINE(V_EmpData.Ename);
11 END LOOP;
12 CLOSE EmpCursor;
13 END;
14 /
KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT
ADAMS
MILLER
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 CURSOR EmpCursor IS
3 SELECT * FROM Emp;
4 V_EmpData EmpCursor%ROWTYPE;
5 BEGIN
6 OPEN EmpCursor;
7 LOOP
8 EXIT WHEN EmpCursor%NOTFOUND;
9 FETCH EmpCursor INTO V_EmpData;
10 DBMS_OUTPUT.PUT_LINE(V_EmpData.Ename);
11 END LOOP;
12 CLOSE EmpCursor;
13* END;
SQL> /
KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SMITH
SCOTT
ADAMS
MILLER
MILLER
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 CURSOR EmpCursor IS
3 SELECT * FROM Emp;
4 V_EmpData EmpCursor%ROWTYPE;
5 BEGIN
6 OPEN EmpCursor;
7 LOOP
8 FETCH EmpCursor INTO V_EmpData;
9 DBMS_OUTPUT.PUT_LINE(V_EmpData.Ename);
10 EXIT WHEN EmpCursor%NOTFOUND;
11 END LOOP;
12 CLOSE EmpCursor;
13* END;
SQL> /
KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT
ADAMS
MILLER
MILLER
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9

DECLARE
CURSOR EmpCursor IS
SELECT * FROM Emp;
V_EmpData EmpCursor%ROWTYPE;
BEGIN
OPEN EmpCursor;
LOOP
FETCH EmpCursor INTO V_EmpData;
EXIT WHEN EmpCursor%NOTFOUND;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

10 DBMS_OUTPUT.PUT_LINE(V_EmpData.Ename);
11 END LOOP;
12 CLOSE EmpCursor;
13* END;
SQL> /
KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT
ADAMS
MILLER
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 CURSOR EmpCursor IS
3 SELECT * FROM Emp;
4 V_EmpData EmpCursor%ROWTYPE;
5 BEGIN
6 OPEN EmpCursor;
7 LOOP
8 FETCH EmpCursor INTO V_EmpData;
9 DBMS_OUTPUT.PUT_LINE('Record Number : '||EmpCursor%ROWCOUNT||'
'||V_EmpData.Ename);
10 EXIT WHEN EmpCursor%NOTFOUND;
11 END LOOP;
12 CLOSE EmpCursor;
13 END;
14 /
Record Number : 1 KING
Record Number : 2 BLAKE
Record Number : 3 CLARK
Record Number : 4 JONES
Record Number : 5 MARTIN
Record Number : 6 ALLEN
Record Number : 7 TURNER
Record Number : 8 JAMES
Record Number : 9 WARD
Record Number : 10 FORD
Record Number : 11 SMITH
Record Number : 12 SCOTT
Record Number : 13 ADAMS
Record Number : 14 MILLER
Record Number : 14 MILLER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

PL/SQL procedure successfully completed.


SQL> cl scr
SQL> DECLARE
2
V_Ename Emp.Ename% TYPE;
3
V_Sal Emp.Sal%TYPE;
4
V_RowCount PLS_INTEGER := 0;
5
CURSOR EmpRowCount IS
6
SELECT Ename, Sal
7
FROM Emp
8
ORDER BY Ename;
9
BEGIN
10
OPEN EMPROWCOUNT;
11
LOOP
12
FETCH EmpRowCount INTO V_Ename, V_Sal;
13
EXIT WHEN EmpRowCount%NOTFOUND;
14
V_RoWCount := EmpRoWCount%ROWCOUNT;
15
DBMS_OUTPUT.PUT_LINE('Employee Name : '||V_Ename||', Salary :
'||V_Sal);
16
END LOOP;
17
DBMS_OUTPUT.PUT_LINE(V_RowCount||' Rows Processed So Far...');
18
CLOSE EmpRowCount;
19
END;
20 /
Employee Name : ADAMS, Salary : 1100
Employee Name : ALLEN, Salary : 1600
Employee Name : BLAKE, Salary : 2850
Employee Name : CLARK, Salary : 2450
Employee Name : FORD, Salary : 3000
Employee Name : JAMES, Salary : 950
Employee Name : JONES, Salary : 2975
Employee Name : KING, Salary : 5000
Employee Name : MARTIN, Salary : 1250
Employee Name : MILLER, Salary : 1300
Employee Name : SCOTT, Salary : 3000
Employee Name : SMITH, Salary : 800
Employee Name : TURNER, Salary : 1500
Employee Name : WARD, Salary : 1250
14 Rows Processed So Far...
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 CURSOR EmpCursor IS
3 SELECT * FROM Emp;
4 V_EmpData EmpCursor%ROWTYPE;
5 BEGIN
6 OPEN EmpCursor;
7 DBMS_OUTPUT.PUT_LINE('The Details of Employees in Your
Organization are as Follows');
8 DBMS_OUTPUT.PUT_LINE('--------------------------------------------------------------');
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

9 DBMS_OUTPUT.PUT_LINE('
Name
'||' Designation
'||'
Basic Salary
'||'
Annual Salary
');
10 DBMS_OUTPUT.PUT_LINE('
-----'||' ------------'||'
----------'||'
--------------');
11 LOOP
12 FETCH EmpCursor INTO V_EmpData;
13 EXIT WHEN EmpCursor%NOTFOUND;
14
DBMS_OUTPUT.PUT_LINE(RPAD(V_EmpData.Ename, 12)||RPAD(V_EmpData.Job,
12)||LPAD(V_EmpData.Sal, 10)||LPAD(V_EmpData.Sal * 12, 20));
15 END LOOP;
16 CLOSE EmpCursor;
17 END;
18 /
The Details of Employees in Your Organization are as Follows
--------------------------------------------------------------Name
Designation
Basic Salary
Annual Salary
------------------------------------------KING
PRESIDENT
5000
60000
BLAKE
MANAGER
2850
34200
CLARK
MANAGER
2450
29400
JONES
MANAGER
2975
35700
MARTIN
SALESMAN
1250
15000
ALLEN
SALESMAN
1600
19200
TURNER
SALESMAN
1500
18000
JAMES
CLERK
950
11400
WARD
SALESMAN
1250
15000
FORD
ANALYST
3000
36000
SMITH
CLERK
800
9600
SCOTT
ANALYST
3000
36000
ADAMS
CLERK
1100
13200
MILLER
CLERK
1300
15600
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 V_RowCount NUMBER(4);
3 CURSOR EmpCursor IS
4 SELECT *
5 FROM Emp;
6 V_EmpData EmpCursor%ROWTYPE;
7 BEGIN
8 OPEN EmpCursor;
9 DBMS_OUTPUT.PUT_LINE(RPAD('Employees Information', 80));
10 DBMS_OUTPUT.PUT_LINE(RPAD('-', 80,'-'));
11 DBMS_OUTPUT.PUT_LINE(RPAD('EmpNo', 8)|| RPAD('Ename',
12)||RPAD('Job', 12)||RPAD('Deptno', 8)||RPAD('Mgr',
10)||RPAD('Hiredate', 12)||RPAD('Sal', 12)||RPAD('Comm', 10));
12 DBMS_OUTPUT.PUT_LINE(RPAD('-', 80,'-'));
13 LOOP
14 FETCH EmpCursor INTO V_EmpData;
15 EXIT WHEN EmpCursor%NOTFOUND;
16 V_RoWCount := EmpCursor%ROWCOUNT;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

17 DBMS_OUTPUT.PUT_LINE(RPAD(V_EmpData.Empno, 8)
||RPAD(V_EmpData.Ename, 12)||RPAD(V_EmpData.Job,
12)||RPAD(V_EmpData.Deptno, 8)||NVL(TO_CHAR(RPAD(V_EmpData.MGR,
10)),'No Manager')||RPAD(V_EmpData.Hiredate, 12)||RPAD(V_EmpData.Sal,
12)||NVL(TO_CHAR(RPAD(V_EmpData.Comm, 12)),'-NA-'));
18 END LOOP;
19 DBMS_OUTPUT.PUT_LINE(V_RowCount||' Rows Processed So Far...');
20 CLOSE EmpCursor;
21 END;
22 /
Employees Information
------------------------------------------------------------------------------EmpNo
Ename
Job
Deptno Mgr
Hiredate
Sal
Comm
------------------------------------------------------------------------------7839
KING
PRESIDENT
10
No Manager17-NOV-81
5000
-NA7698
BLAKE
MANAGER
30
7839
01-MAY-81
2850
-NA7782
CLARK
MANAGER
10
7839
09-JUN-81
2450
-NA7566
JONES
MANAGER
20
7839
02-APR-81
2975
-NA7654
MARTIN
SALESMAN
30
7698
28-SEP-81
1250
1400
7499
ALLEN
SALESMAN
30
7698
20-FEB-81
1600
300
7844
TURNER
SALESMAN
30
7698
08-SEP-81
1500
0
7900
JAMES
CLERK
30
7698
03-DEC-81
950
-NA7521
WARD
SALESMAN
30
7698
22-FEB-81
1250
500
7902
FORD
ANALYST
20
7566
03-DEC-81
3000
-NA7369
SMITH
CLERK
20
7902
17-DEC-80
800
-NA7788
SCOTT
ANALYST
20
7566
09-DEC-82
3000
-NA7876
ADAMS
CLERK
20
7788
12-JAN-83
1100
-NA7934
MILLER
CLERK
10
7782
23-JAN-82
1300
-NA14 Rows Processed So Far...
PL/SQL procedure successfully completed.
SQL> cl scr
SQL>
2
3
4

DECLARE
V_RowCount NUMBER(4);
CURSOR EmpCursor IS
SELECT *
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

5 FROM Emp;
6 V_EmpData EmpCursor%ROWTYPE;
7 BEGIN
8 OPEN EmpCursor;
9 DBMS_OUTPUT.PUT_LINE(RPAD('Employees Information', 80));
10 DBMS_OUTPUT.PUT_LINE(RPAD('-', 80,'-'));
11 DBMS_OUTPUT.PUT_LINE(RPAD('Ename', 12)||RPAD('Job',
12)||RPAD('Sal', 12)||RPAD('Comm', 10));
12 DBMS_OUTPUT.PUT_LINE(RPAD('-', 80,'-'));
13 LOOP
14 FETCH EmpCursor INTO V_EmpData;
15 EXIT WHEN EmpCursor%NOTFOUND;
16 V_RoWCount := EmpCursor%ROWCOUNT;
17 IF V_EmpData.Job = 'SALESMAN'
18 THEN
19
DBMS_OUTPUT.PUT_LINE(RPAD(V_EmpData.Ename, 12)||RPAD(V_EmpData.Job,
12)||RPAD(V_EmpData.Sal, 12)||V_EmpData.Comm||' Eligible For
Commission.');
20 ELSE
21
DBMS_OUTPUT.PUT_LINE(RPAD(V_EmpData.Ename, 12)||RPAD(V_EmpData.Job,
12)||RPAD(V_EmpData.Sal, 12)||'Sorry! Not Eligible For Commission.');
22 END IF;
23 END LOOP;
24 DBMS_OUTPUT.PUT_LINE(V_RowCount||' Rows Processed So Far...');
25 CLOSE EmpCursor;
26 END;
27 /
Employees Information
------------------------------------------------------------------------------Ename
Job
Sal
Comm
------------------------------------------------------------------------------KING
PRESIDENT
5000
Sorry! Not Eligible For Commission.
BLAKE
MANAGER
2850
Sorry! Not Eligible For Commission.
CLARK
MANAGER
2450
Sorry! Not Eligible For Commission.
JONES
MANAGER
2975
Sorry! Not Eligible For Commission.
MARTIN
SALESMAN
1250
1400 Eligible For Commission.
ALLEN
SALESMAN
1600
300 Eligible For Commission.
TURNER
SALESMAN
1500
0 Eligible For Commission.
JAMES
CLERK
950
Sorry! Not Eligible For Commission.
WARD
SALESMAN
1250
500 Eligible For Commission.
FORD
ANALYST
3000
Sorry! Not Eligible For Commission.
SMITH
CLERK
800
Sorry! Not Eligible For Commission.
SCOTT
ANALYST
3000
Sorry! Not Eligible For Commission.
ADAMS
CLERK
1100
Sorry! Not Eligible For Commission.
MILLER
CLERK
1300
Sorry! Not Eligible For Commission.
14 Rows Processed So Far...
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1

DECLARE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2 V_Job Emp.Job%TYPE := UPPER('&GJob');


3 V_RowCount NUMBER(4);
4 CURSOR EmpCursor IS
5 SELECT *
6 FROM Emp;
7 V_EmpData EmpCursor%ROWTYPE;
8 BEGIN
9 OPEN EmpCursor;
10 DBMS_OUTPUT.PUT_LINE(RPAD('Employees Information', 80));
11 DBMS_OUTPUT.PUT_LINE(RPAD('-', 80,'-'));
12 DBMS_OUTPUT.PUT_LINE(RPAD('Ename', 12)||RPAD('Job',
12)||RPAD('Sal', 12)||RPAD('Job', 10));
13 DBMS_OUTPUT.PUT_LINE(RPAD('-', 80,'-'));
14 LOOP
15 FETCH EmpCursor INTO V_EmpData;
16 EXIT WHEN EmpCursor%NOTFOUND;
17 V_RoWCount := EmpCursor%ROWCOUNT;
18 IF V_EmpData.Job = V_Job
19 THEN
20
DBMS_OUTPUT.PUT_LINE(RPAD(V_EmpData.Ename, 12)||RPAD(V_EmpData.Job,
12)||RPAD(V_EmpData.Sal, 12)||RPAD(V_EmpData.Job, 12));
21 ELSE
22 NULL;
23 END IF;
24 END LOOP;
25 CLOSE EmpCursor;
26* END;
SQL> /
Enter value for gjob: Clerk
Employees Information
------------------------------------------------------------------------------Ename
Job
Sal
Job
------------------------------------------------------------------------------JAMES
CLERK
950
CLERK
SMITH
CLERK
800
CLERK
ADAMS
CLERK
1100
CLERK
MILLER
CLERK
1300
CLERK
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10

DECLARE
V_Job Emp.Job%TYPE := UPPER('&GJob');
V_RowCount NUMBER(4);
CURSOR EmpCursor IS
SELECT *
FROM Emp;
V_EmpData EmpCursor%ROWTYPE;
BEGIN
OPEN EmpCursor;
DBMS_OUTPUT.PUT_LINE(RPAD('Employees Information', 80));
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

11 DBMS_OUTPUT.PUT_LINE(RPAD('-', 80,'-'));
12 DBMS_OUTPUT.PUT_LINE(RPAD('Ename', 12)||RPAD('Job',
12)||RPAD('Sal', 12));
13 DBMS_OUTPUT.PUT_LINE(RPAD('-', 80,'-'));
14 LOOP
15 FETCH EmpCursor INTO V_EmpData;
16 EXIT WHEN EmpCursor%NOTFOUND;
17 V_RoWCount := EmpCursor%ROWCOUNT;
18 IF V_EmpData.Job = V_Job
19 THEN
20
DBMS_OUTPUT.PUT_LINE(RPAD(V_EmpData.Ename, 12)||RPAD(V_EmpData.Job,
12)||RPAD(V_EmpData.Sal, 12));
21 ELSE
22 NULL;
23 END IF;
24 END LOOP;
25 CLOSE EmpCursor;
26* END;
SQL> /
Enter value for gjob: Salesman
Employees Information
------------------------------------------------------------------------------Ename
Job
Sal
------------------------------------------------------------------------------MARTIN
SALESMAN
1250
ALLEN
SALESMAN
1600
TURNER
SALESMAN
1500
WARD
SALESMAN
1250
PL/SQL procedure successfully completed.
SQL> /
Enter value for gjob: Manager
Employees Information
------------------------------------------------------------------------------Ename
Job
Sal
------------------------------------------------------------------------------BLAKE
MANAGER
2850
CLARK
MANAGER
2450
JONES
MANAGER
2975
PL/SQL procedure successfully completed.
SQL> /
Enter value for gjob: Clerk
Employees Information
------------------------------------------------------------------------------Ename
Job
Sal
------------------------------------------------------------------------------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

JAMES
SMITH
ADAMS
MILLER

CLERK
CLERK
CLERK
CLERK

950
800
1100
1300

PL/SQL procedure successfully completed.


SQL> /
Enter value for gjob: President
Employees Information
------------------------------------------------------------------------------Ename
Job
Sal
------------------------------------------------------------------------------KING
PRESIDENT
5000
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 V_GivenJob Emp.Job%TYPE := UPPER(RTRIM(LTRIM('&GiveJob')));
3 V_SalInvest Emp.Sal%TYPE := 0;
4 V_JobCount NUMBER(3) := 0;
5 CURSOR EmpCursor IS
6 SELECT *
7 FROM Emp;
8 V_EmpData EmpCursor%ROWTYPE;
9 BEGIN
10 OPEN EmpCursor;
11 DBMS_OUTPUT.PUT_LINE('Details of Employees With
'||V_GivenJob||'''s Designation Are...');
12 DBMS_OUTPUT.PUT_LINE('-----------------------------------------------------');
13 DBMS_OUTPUT.PUT_LINE('
Name
'||'
Basic Salary
'||'
Annual Salary
');
14 DBMS_OUTPUT.PUT_LINE('
-----'||'
-----------'||'
--------------');
15 LOOP
16 FETCH EmpCursor INTO V_EmpData;
17 EXIT WHEN EmpCursor%NOTFOUND;
18 IF V_EmpData.Job = V_GivenJob
19 THEN
20
DBMS_OUTPUT.PUT_LINE(RPAD(V_EmpData.Ename, 12)||LPAD(V_EmpData.Sal,
5)||LPAD(V_EmpData.Sal * 12, 20));
21 V_SalInvest := V_SalInvest + V_EmpData.Sal;
22 V_JobCount := V_JobCount + 1;
23 ELSE
24 NULL;
25 END IF;
26 END LOOP;
27 DBMS_OUTPUT.PUT_LINE('The Total Number of '||V_GivenJob||'''s Are
'||V_JobCount ||' And The Investment is : '||V_SalInvest);
28 CLOSE EmpCursor;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

29 END;
30 /
Enter value for givejob: CLERK
Details of Employees With CLERK's Designation Are...
-----------------------------------------------------Name
Basic Salary
Annual Salary
------------------------------JAMES
950
11400
SMITH
800
9600
ADAMS
1100
13200
MILLER
1300
15600
The Total Number of CLERK's Are 4 And The Investment is : 4150
PL/SQL procedure successfully completed.
SQL> /
Enter value for givejob: Salesman
Details of Employees With SALESMAN's Designation Are...
-----------------------------------------------------Name
Basic Salary
Annual Salary
------------------------------MARTIN
1250
15000
ALLEN
1600
19200
TURNER
1500
18000
WARD
1250
15000
The Total Number of SALESMAN's Are 4 And The Investment is : 5600
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 CURSOR EmpCursor IS
3 SELECT * FROM Emp;
4 V_EmpData EmpCursor%ROWTYPE;
5 BEGIN
6 OPEN EmpCursor;
7 FETCH EmpCursor INTO V_EmpData;
8 WHILE EmpCursor%FOUND
9 LOOP
10 DBMS_OUTPUT.PUT_LINE(V_EmpData.Ename);
11 FETCH EmpCursor INTO V_EmpData;
12 END LOOP;
13 CLOSE EmpCursor;
14 END;
15 /
KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

FORD
SMITH
SCOTT
ADAMS
MILLER
PL/SQL procedure successfully completed.
SQL> DECLARE
2 CURSOR EmpCursor IS
3 SELECT * FROM Emp;
4 V_EmpData EmpCursor%ROWTYPE;
5 BEGIN
6 OPEN EmpCursor;
7 FETCH EmpCursor INTO V_EmpData;
8 WHILE EmpCursor%FOUND
9 LOOP
10 DBMS_OUTPUT.PUT_LINE('Record Number : '||EmpCursor%ROWCOUNT||'
'||V_EmpData.Ename);
11 FETCH EmpCursor INTO V_EmpData;
12 END LOOP;
13 CLOSE EmpCursor;
14 END;
15 /
Record Number : 1 KING
Record Number : 2 BLAKE
Record Number : 3 CLARK
Record Number : 4 JONES
Record Number : 5 MARTIN
Record Number : 6 ALLEN
Record Number : 7 TURNER
Record Number : 8 JAMES
Record Number : 9 WARD
Record Number : 10 FORD
Record Number : 11 SMITH
Record Number : 12 SCOTT
Record Number : 13 ADAMS
Record Number : 14 MILLER
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 V_RowCount NUMBER(4);
3 CURSOR EmpCursor IS
4 SELECT *
5 FROM Emp;
6 V_EmpData EmpCursor%ROWTYPE;
7 BEGIN
8 OPEN EmpCursor;
9 DBMS_OUTPUT.PUT_LINE(RPAD(LPAD('Employees Information', 49, '*'),
80, '*'));
10 DBMS_OUTPUT.PUT_LINE(RPAD('-', 80,'-'));
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

11 DBMS_OUTPUT.PUT_LINE(RPAD('EmpNo', 8)|| RPAD('Ename',


12)||RPAD('Job', 12)||RPAD('Deptno', 8)||RPAD('Mgr',
10)||RPAD('Hiredate', 12)||RPAD('Sal', 12)||RPAD('Comm', 10));
12 DBMS_OUTPUT.PUT_LINE(RPAD('-', 80,'-'));
13 FETCH EmpCursor INTO V_EmpData;
14 WHILE EmpCursor%FOUND
15 LOOP
16 V_RoWCount := EmpCursor%ROWCOUNT;
17 DBMS_OUTPUT.PUT_LINE(RPAD(V_EmpData.Empno, 8)
||RPAD(V_EmpData.Ename, 12)||RPAD(V_EmpData.Job,
12)||RPAD(V_EmpData.Deptno, 8)||NVL(TO_CHAR(RPAD(V_EmpData.MGR,
10)),'No Manager')||RPAD(V_EmpData.Hiredate, 12)||RPAD(V_EmpData.Sal,
12)||NVL(TO_CHAR(RPAD(V_EmpData.Comm, 12)),'-NA-'));
18 FETCH EmpCursor INTO V_EmpData;
19 END LOOP;
20 DBMS_OUTPUT.PUT_LINE(V_RowCount||' Rows Processed So Far...');
21 CLOSE EmpCursor;
22 END;
23 /
****************************Employees
Information*******************************
------------------------------------------------------------------------------EmpNo
Ename
Job
Deptno Mgr
Hiredate
Sal
Comm
------------------------------------------------------------------------------7839
KING
PRESIDENT
10
No Manager17-NOV-81
5000
-NA7698
BLAKE
MANAGER
30
7839
01-MAY-81
2850
-NA7782
CLARK
MANAGER
10
7839
09-JUN-81
2450
-NA7566
JONES
MANAGER
20
7839
02-APR-81
2975
-NA7654
MARTIN
SALESMAN
30
7698
28-SEP-81
1250
1400
7499
ALLEN
SALESMAN
30
7698
20-FEB-81
1600
300
7844
TURNER
SALESMAN
30
7698
08-SEP-81
1500
0
7900
JAMES
CLERK
30
7698
03-DEC-81
950
-NA7521
WARD
SALESMAN
30
7698
22-FEB-81
1250
500
7902
FORD
ANALYST
20
7566
03-DEC-81
3000
-NA7369
SMITH
CLERK
20
7902
17-DEC-80
800
-NA7788
SCOTT
ANALYST
20
7566
09-DEC-82
3000
-NA7876
ADAMS
CLERK
20
7788
12-JAN-83
1100
-NA7934
MILLER
CLERK
10
7782
23-JAN-82
1300
-NADocument Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

14 Rows Processed So Far...


PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 CURSOR EmpCursor IS
3 SELECT * FROM Emp;
4 V_EmpData EmpCursor%ROWTYPE;
5 BEGIN
6 FOR V_EmpData IN EmpCursor
7 LOOP
8 DBMS_OUTPUT.PUT_LINE(V_EmpData.Ename);
9 END LOOP;
10 END;
11 /
KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT
ADAMS
MILLER
PL/SQL procedure successfully completed.
SQL> SPOOL OFF
SQL> cl scr
SQL> SET SERVEROUTPUT ON
SQL> SET VERIFY OFF
SQL> cl scr
SQL> DESC Emp
Name
------------------------------------------------EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO

Null?
Type
-------- ------------------NOT NULL NUMBER(4)
VARCHAR2(10)
VARCHAR2(9)
NUMBER(4)
DATE
NUMBER(7,2)
NUMBER(7,2)
NOT NULL NUMBER(2)

SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> DECLARE
2
TYPE EmpRefCursor
3
IS REF CURSOR;
4
V_EmpRefCursor EmpRefCursor;
5
V_Ename Emp.Ename%TYPE;
6 BEGIN
7
OPEN V_EmpRefCursor
8
FOR
9
SELECT Ename FROM Emp;
10
LOOP
11
FETCH V_EmpRefCursor INTO V_Ename;
12
EXIT WHEN V_EmpRefCursor%NOTFOUND;
13
DBMS_OUTPUT.PUT_LINE('Employee Number
'||TO_CHAR(V_EmpRefCursor%ROWCOUNT, '09')||' : '||V_Ename);
14
END LOOP;
15
CLOSE V_EmpRefCursor;
16 END;
17 /
Employee Number 01 : KING
Employee Number 02 : BLAKE
Employee Number 03 : CLARK
Employee Number 04 : JONES
Employee Number 05 : MARTIN
Employee Number 06 : ALLEN
Employee Number 07 : TURNER
Employee Number 08 : JAMES
Employee Number 09 : WARD
Employee Number 10 : FORD
Employee Number 11 : SMITH
Employee Number 12 : SCOTT
Employee Number 13 : ADAMS
Employee Number 14 : MILLER
PL/SQL procedure successfully completed.
SQL> DECLARE
2
CURSOR EmpRefCursor
3
IS
4
SELECT Ename FROM Emp;
5
V_Ename Emp.Ename%TYPE;
6 BEGIN
7
OPEN EmpRefCursor;
8
LOOP
9
FETCH EmpRefCursor INTO V_Ename;
10
EXIT WHEN EmpRefCursor%NOTFOUND;
11
DBMS_OUTPUT.PUT_LINE('Employee Number
'||TO_CHAR(EmpRefCursor%ROWCOUNT, '09')||' : '||V_Ename);
12
END LOOP;
13
CLOSE EmpRefCursor;
14 END;
15 /
Employee Number 01 : KING
Employee Number 02 : BLAKE
Employee Number 03 : CLARK
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Employee
Employee
Employee
Employee
Employee
Employee
Employee
Employee
Employee
Employee
Employee

Number
Number
Number
Number
Number
Number
Number
Number
Number
Number
Number

04
05
06
07
08
09
10
11
12
13
14

:
:
:
:
:
:
:
:
:
:
:

JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT
ADAMS
MILLER

PL/SQL procedure successfully completed.


SQL> cl scr
SQL> DECLARE
2 V_RowCount NUMBER(4);
3 V_TypeTable VARCHAR2(30) := UPPER('&GiveTable');
4 TYPE GenericCursor
5 IS REF CURSOR;
6 V_GenericCursor GenericCursor;
7 V_EmpRecord Emp%ROWTYPE;
8 V_DeptRecord Dept%ROWTYPE;
9 V_SalGradeRecord SalGrade%ROWTYPE;
10 BEGIN
11 IF V_TypeTable = 'EMP' THEN
12 OPEN V_GenericCursor
13 FOR
14 SELECT * FROM Emp;
15 DBMS_OUTPUT.PUT_LINE(RPAD(LPAD('Employees Information', 49, '*'),
80, '*'));
16 DBMS_OUTPUT.PUT_LINE(RPAD('-', 80,'-'));
17 DBMS_OUTPUT.PUT_LINE(RPAD('EmpNo', 8)|| RPAD('Ename',
12)||RPAD('Job', 12)||RPAD('Deptno', 8)||RPAD('Mgr',
10)||RPAD('Hiredate', 12)||RPAD('Sal', 12)||RPAD('Comm', 10));
18 DBMS_OUTPUT.PUT_LINE(RPAD('-', 80,'-'));
19 LOOP
20
FETCH V_GenericCursor INTO V_EmpRecord;
21
EXIT WHEN V_GenericCursor%NOTFOUND;
22
V_RoWCount := V_GenericCursor%ROWCOUNT;
23 DBMS_OUTPUT.PUT_LINE(RPAD(V_EmpRecord.Empno, 8)
||RPAD(V_EmpRecord.Ename, 12)||RPAD(V_EmpRecord.Job,
12)||RPAD(V_EmpRecord.Deptno, 8)||NVL(TO_CHAR(RPAD(V_EmpRecord.MGR,
10)),'No Manager')||RPAD(V_EmpRecord.Hiredate,
12)||RPAD(V_EmpRecord.Sal, 12)||NVL(TO_CHAR(RPAD(V_EmpRecord.Comm,
12)),'-NA-'));
24 END LOOP;
25 CLOSE V_GenericCursor;
26 DBMS_OUTPUT.PUT_LINE(V_RowCount||' Rows Processed So Far...');
27 ELSE
28
IF V_TypeTable = 'DEPT' THEN
29
OPEN V_GenericCursor
30
FOR
31
SELECT * FROM Dept;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

32 DBMS_OUTPUT.PUT_LINE(RPAD(LPAD('Department Information', 29, '*'),


49, '*'));
33
DBMS_OUTPUT.PUT_LINE(RPAD('-', 40,'-'));
34
DBMS_OUTPUT.PUT_LINE(RPAD('Deptno', 8)|| RPAD('Dname',
12)||RPAD('Loc', 12));
35
DBMS_OUTPUT.PUT_LINE(RPAD('-', 40,'-'));
36
LOOP
37
FETCH V_GenericCursor INTO V_DeptRecord;
38
EXIT WHEN V_GenericCursor%NOTFOUND;
39
V_RoWCount := V_GenericCursor%ROWCOUNT;
40
DBMS_OUTPUT.PUT_LINE(RPAD(V_DeptRecord.Deptno, 8)
||RPAD(V_DeptRecord.Dname, 12)||RPAD(V_DeptRecord.Dname, 12));
41
END LOOP;
42
CLOSE V_GenericCursor;
43
DBMS_OUTPUT.PUT_LINE(V_RowCount||' Rows Processed So Far...');
44
ELSE
45
IF V_TypeTable = 'SALGRADE' THEN
46
OPEN V_GenericCursor
47
FOR
48
SELECT * FROM SalGrade;
49
DBMS_OUTPUT.PUT_LINE(RPAD(LPAD('Salary Grade Information',
29, '*'), 49, '*'));
50
DBMS_OUTPUT.PUT_LINE(RPAD('-', 40,'-'));
51
DBMS_OUTPUT.PUT_LINE(RPAD('Grade', 8)|| RPAD('LoSal',
12)||RPAD('HiSal', 12));
52
DBMS_OUTPUT.PUT_LINE(RPAD('-', 40,'-'));
53
LOOP
54
FETCH V_GenericCursor INTO V_SalGradeRecord;
55
EXIT WHEN V_GenericCursor%NOTFOUND;
56
V_RoWCount := V_GenericCursor%ROWCOUNT;
57
DBMS_OUTPUT.PUT_LINE(RPAD(V_SalGradeRecord.Grade, 8)
||RPAD(V_SalGradeRecord.LoSal, 12)||RPAD(V_SalGradeRecord.HiSal, 12));
58
END LOOP;
59
CLOSE V_GenericCursor;
60
DBMS_OUTPUT.PUT_LINE(V_RowCount||' Rows Processed So
Far...');
61
ELSE
62
DBMS_OUTPUT.PUT_LINE('Sorry You Either Do Not Have
Permissions on The Table OR The Requested Table Does Not Exist.');
63
END IF;
64
END IF;
65 END IF;
66 END;
67 /
Enter value for givetable: Emp
****************************Employees
Information*******************************
------------------------------------------------------------------------------EmpNo
Ename
Job
Deptno Mgr
Hiredate
Sal
Comm
------------------------------------------------------------------------------7839
KING
PRESIDENT
10
No Manager17-NOV-81
5000
-NADocument Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7698
-NA7782
-NA7566
-NA7654
1400
7499
300
7844
0
7900
-NA7521
500
7902
-NA7369
-NA7788
-NA7876
-NA7934
-NA14 Rows

BLAKE

MANAGER

30

7839

01-MAY-81

2850

CLARK

MANAGER

10

7839

09-JUN-81

2450

JONES

MANAGER

20

7839

02-APR-81

2975

MARTIN

SALESMAN

30

7698

28-SEP-81

1250

ALLEN

SALESMAN

30

7698

20-FEB-81

1600

TURNER

SALESMAN

30

7698

08-SEP-81

1500

JAMES

CLERK

30

7698

03-DEC-81

950

WARD

SALESMAN

30

7698

22-FEB-81

1250

FORD

ANALYST

20

7566

03-DEC-81

3000

SMITH

CLERK

20

7902

17-DEC-80

800

SCOTT

ANALYST

20

7566

09-DEC-82

3000

ADAMS

CLERK

20

7788

12-JAN-83

1100

MILLER

CLERK

10

7782

23-JAN-82

1300

Processed So Far...

PL/SQL procedure successfully completed.


SQL> /
Enter value for givetable: Dept
*******Department Information********************
---------------------------------------Deptno Dname
Loc
---------------------------------------10
ACCOUNTING ACCOUNTING
20
RESEARCH
RESEARCH
30
SALES
SALES
40
OPERATIONS OPERATIONS
4 Rows Processed So Far...
PL/SQL procedure successfully completed.
SQL> /
Enter value for givetable: SalGrade
*****Salary Grade Information********************
---------------------------------------Grade
LoSal
HiSal
---------------------------------------1
700
1200
2
1201
1400
3
1401
2000
4
2001
3000
5
3001
9999
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

5 Rows Processed So Far...


PL/SQL procedure successfully completed.
SQL> /
Enter value for givetable: Sample
Sorry You Either Do Not Have Permissions on The Table OR The Requested
Table
Does Not Exist.
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 V_RowCount NUMBER(4);
3 TYPE GenericCursor
4 IS REF CURSOR;
5 V_GenericCursor GenericCursor;
6 TYPE TablesRecordType IS RECORD
7 (
8
EmpRecord Emp%ROWTYPE
9 );
10 V_EmpRecordType TablesRecordType;
11 BEGIN
12 DBMS_OUTPUT.ENABLE(1000000);
13 DBMS_OUTPUT.PUT_LINE(RPAD(LPAD('Employees Information', 49, '*'),
80, '*'));
14 DBMS_OUTPUT.PUT_LINE(RPAD('-', 80,'-'));
15 DBMS_OUTPUT.PUT_LINE(RPAD('EmpNo', 8)|| RPAD('Ename',
12)||RPAD('Job', 12)||RPAD('Deptno', 8)||RPAD('Mgr',
10)||RPAD('Hiredate', 12)||RPAD('Sal', 12)||RPAD('Comm', 10));
16 DBMS_OUTPUT.PUT_LINE(RPAD('-', 80,'-'));
17 FOR LoopIndex IN (
18
SELECT Deptno, Dname
19
FROM Dept
20
)
21 LOOP
22
OPEN V_GenericCursor
23
FOR
24
SELECT *
25
FROM Emp
26
WHERE Deptno = LoopIndex.Deptno;
27
DBMS_OUTPUT.PUT_LINE('-----------------------------------------------------------------------------');
28
DBMS_OUTPUT.PUT_LINE('Now Printing The Employees of Department :
'||LoopIndex.Dname);
29
DBMS_OUTPUT.PUT_LINE('-----------------------------------------------------------------------------');
30
V_RoWCount := 0;
31
LOOP
32
FETCH V_GenericCursor INTO V_EmpRecordType.EmpRecord;
33
EXIT WHEN V_GenericCursor%NOTFOUND;
34
V_RoWCount := V_GenericCursor%ROWCOUNT;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

35
DBMS_OUTPUT.PUT_LINE(RPAD(V_EmpRecordType.EmpRecord.Empno,
8) ||RPAD(V_EmpRecordType.EmpRecord.Ename,
12)||RPAD(V_EmpRecordType.EmpRecord.Job,
12)||RPAD(V_EmpRecordType.EmpRecord.Deptno,
8)||NVL(TO_CHAR(RPAD(V_EmpRecordType.EmpRecord.MGR, 10)),'No
Manager')||RPAD(V_EmpRecordType.EmpRecord.Hiredate,
12)||RPAD(V_EmpRecordType.EmpRecord.Sal,
12)||NVL(TO_CHAR(RPAD(V_EmpRecordType.EmpRecord.Comm, 12)),'-NA-'));
36
END LOOP;
37
CLOSE V_GenericCursor;
38 DBMS_OUTPUT.PUT_LINE(V_RowCount||' Rows Processed So Far...');
39 END LOOP;
40 END;
41 /
****************************Employees
Information*******************************
------------------------------------------------------------------------------EmpNo
Ename
Job
Deptno Mgr
Hiredate
Sal
Comm
----------------------------------------------------------------------------------------------------------------------------------------------------------Now Printing The Employees of Department : ACCOUNTING
----------------------------------------------------------------------------7839
KING
PRESIDENT
10
No Manager17-NOV-81
5000
-NA7782
CLARK
MANAGER
10
7839
09-JUN-81
2450
-NA7934
MILLER
CLERK
10
7782
23-JAN-82
1300
-NA3 Rows Processed So Far...
----------------------------------------------------------------------------Now Printing The Employees of Department : RESEARCH
----------------------------------------------------------------------------7566
JONES
MANAGER
20
7839
02-APR-81
2975
-NA7902
FORD
ANALYST
20
7566
03-DEC-81
3000
-NA7369
SMITH
CLERK
20
7902
17-DEC-80
800
-NA7788
SCOTT
ANALYST
20
7566
09-DEC-82
3000
-NA7876
ADAMS
CLERK
20
7788
12-JAN-83
1100
-NA5 Rows Processed So Far...
----------------------------------------------------------------------------Now Printing The Employees of Department : SALES
----------------------------------------------------------------------------Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7698
BLAKE
MANAGER
30
7839
01-MAY-81
2850
-NA7654
MARTIN
SALESMAN
30
7698
28-SEP-81
1250
1400
7499
ALLEN
SALESMAN
30
7698
20-FEB-81
1600
300
7844
TURNER
SALESMAN
30
7698
08-SEP-81
1500
0
7900
JAMES
CLERK
30
7698
03-DEC-81
950
-NA7521
WARD
SALESMAN
30
7698
22-FEB-81
1250
500
6 Rows Processed So Far...
----------------------------------------------------------------------------Now Printing The Employees of Department : OPERATIONS
----------------------------------------------------------------------------0 Rows Processed So Far...
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 CURSOR EmpCursor
3 IS
4 SELECT Ename, Sal
5 FROM Emp;
6 TYPE EmpCursorTableType
7 IS TABLE OF
8 EmpCursor%ROWTYPE
9 INDEX BY BINARY_INTEGER;
10 V_EmpTableType EmpCursorTableType;
11 BEGIN
12 IF NOT EmpCursor%ISOPEN
13 THEN
14 OPEN EmpCursor;
15 ELSE
16 DBMS_OUTPUT.PUT_LINE('Cursor is Already Open Proceed With Result
Set Operation''s.');
17 END IF;
18 DECLARE
19 V_TableIndex PLS_INTEGER := 0;
20 BEGIN
21 DBMS_OUTPUT.PUT_LINE('Loading The Data From Context Area into
PL/SQL Tables Please Wait...');
22 LOOP
23 FETCH EmpCursor INTO V_EmpTableType(V_TableIndex).Ename,
V_EmpTableType(V_TableIndex).Sal;
24 EXIT WHEN EmpCursor%NOTFOUND OR EmpCursor%NOTFOUND IS NULL;
25 V_TableIndex := V_TableIndex + 1;
26 END LOOP;
27 DBMS_OUTPUT.PUT_LINE('Loading The Data into PL/SQL Tables is Done
Successfully...');
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

28 END;
29 BEGIN
30 DBMS_OUTPUT.PUT_LINE('Displaying The Data From The Pl/SQL
Table...Please Wait...');
31 FOR IndexVariable IN V_EmpTableType.FIRST .. V_EmpTableType.LAST
32 LOOP
33 DBMS_OUTPUT.PUT_LINE(V_EmpTableType(IndexVariable).Ename || ' is
Fixed With A Salary of ' || V_EmpTableType(IndexVariable).Sal);
34 END LOOP;
35 DBMS_OUTPUT.PUT_LINE('Displaying The Data From The Pl/SQL Table
Was Sucessfull...');
36 DBMS_OUTPUT.PUT_LINE('The Total Records Processed Are
'||V_EmpTableType.COUNT);
37 END;
38 END;
39 /
Loading The Data From Context Area into PL/SQL Tables Please Wait...
Loading The Data into PL/SQL Tables is Done Successfully...
Displaying The Data From The Pl/SQL Table...Please Wait...
KING is Fixed With A Salary of 5000
BLAKE is Fixed With A Salary of 2850
CLARK is Fixed With A Salary of 2450
JONES is Fixed With A Salary of 2975
MARTIN is Fixed With A Salary of 1250
ALLEN is Fixed With A Salary of 1600
TURNER is Fixed With A Salary of 1500
JAMES is Fixed With A Salary of 950
WARD is Fixed With A Salary of 1250
FORD is Fixed With A Salary of 3000
SMITH is Fixed With A Salary of 800
SCOTT is Fixed With A Salary of 3000
ADAMS is Fixed With A Salary of 1100
MILLER is Fixed With A Salary of 1300
Displaying The Data From The Pl/SQL Table Was Sucessfull...
The Total Records Processed Are 14
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 TYPE EmpTableType
3 IS TABLE OF
4 Emp%ROWTYPE;
5 V_EmpTableType EmpTableType;
6 BEGIN
7 SELECT *
8 BULK COLLECT INTO V_EmpTableType
9 FROM Emp;
10 FOR IndexVariable IN V_EmpTableType.FIRST .. V_EmpTableType.LAST
11 LOOP
12 DBMS_OUTPUT.PUT_LINE(V_EmpTableType(IndexVariable).Ename || ' is
Fixed With A Salary of ' || V_EmpTableType(IndexVariable).Sal);
13 END LOOP;
14 END;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

15 /
KING is Fixed With A Salary of 5000
BLAKE is Fixed With A Salary of 2850
CLARK is Fixed With A Salary of 2450
JONES is Fixed With A Salary of 2975
MARTIN is Fixed With A Salary of 1250
ALLEN is Fixed With A Salary of 1600
TURNER is Fixed With A Salary of 1500
JAMES is Fixed With A Salary of 950
WARD is Fixed With A Salary of 1250
FORD is Fixed With A Salary of 3000
SMITH is Fixed With A Salary of 800
SCOTT is Fixed With A Salary of 3000
ADAMS is Fixed With A Salary of 1100
MILLER is Fixed With A Salary of 1300
PL/SQL procedure successfully completed.
SQL> DECLARE
2 TYPE MyArray IS
3 TABLE OF
4 Emp%ROWTYPE;
5 V_MyArray MyArray;
6 TYPE GenericCursor
7 IS REF CURSOR;
8 V_GenericCursor GenericCursor;
9 BEGIN
10 OPEN V_GenericCursor FOR
11 SELECT *
12 FROM Emp;
13 FETCH V_GenericCursor BULK COLLECT INTO V_MyArray;
14 CLOSE V_GenericCursor;
15 FOR LoopIndex IN 1 .. V_MyArray.Count
16 LOOP
17 DBMS_OUTPUT.PUT_LINE( TO_CHAR(LoopIndex, '09') || ') ' ||
V_MyArray(LoopIndex).Ename );
18 END LOOP;
19 END;
20 /
01) KING
02) BLAKE
03) CLARK
04) JONES
05) MARTIN
06) ALLEN
07) TURNER
08) JAMES
09) WARD
10) FORD
11) SMITH
12) SCOTT
13) ADAMS
14) MILLER
PL/SQL procedure successfully completed.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SET VERIFY OFF


SQL> SET AUTOTRACE ON EXPLAIN
SQL> cl scr
SQL> DECLARE
2
V_Empno Emp.Empno%TYPE := &Empno;
3
V_Ename Emp.Ename%TYPE;
4
V_Sal Emp.Sal%TYPE;
5 BEGIN
6
SELECT Ename, Sal INTO V_Ename, V_Sal
7
FROM Emp
8
WHERE Empno = V_Empno;
9
DBMS_OUTPUT.PUT_LINE('Name : '||V_Ename||' Salary : '||V_Sal);
10 END;
11 /
Enter value for empno: 7839
PL/SQL procedure successfully completed.
SQL> SET SERVEROUTPUT On
SQL> /
Enter value for empno: 7839
Name : KING Salary : 5000
PL/SQL procedure successfully completed.
SQL> /
Enter value for empno: 7654
Name : MARTIN Salary : 1250
PL/SQL procedure successfully completed.
SQL> /
Enter value for empno: 1234
DECLARE
*
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at line 6

SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14

DECLARE
V_Empno Emp.Empno%TYPE := &Empno;
V_Ename Emp.Ename%TYPE;
V_Sal Emp.Sal%TYPE;
BEGIN
SELECT Ename, Sal INTO V_Ename, V_Sal
FROM Emp
WHERE Empno = V_Empno;
DBMS_OUTPUT.PUT_LINE('Name : '||V_Ename||' Salary : '||V_Sal);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Sorry, Data is Not Found.');
END;
/
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Enter value for empno: 1234


Sorry, Data is Not Found.
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2
V_Emp Emp%ROWTYPE;
3
V_Sal Emp.Sal%TYPE := &Sal;
4 BEGIN
5
SELECT * INTO V_Emp
6
FROM Emp
7
WHERE Sal = V_Sal;
8
DBMS_OUTPUT.PUT_LINE('Name : '||V_Emp.Ename||' Salary : '||V_Emp.Sal);
9 END ;
10 /
Enter value for sal: 800
Name : SMITH Salary : 800
PL/SQL procedure successfully completed.
SQL> /
Enter value for sal: 5000
Name : KING Salary : 5000
PL/SQL procedure successfully completed.
SQL> /
Enter value for sal: 3000
DECLARE
*
ERROR at line 1:
ORA-01422: exact fetch returns more than requested number of rows
ORA-06512: at line 5

SQL> DECLARE
2
V_Emp Emp%ROWTYPE;
3
V_Sal Emp.Sal%TYPE := &Sal;
4 BEGIN
5
SELECT * INTO V_Emp
6
FROM Emp
7
WHERE Sal = V_Sal;
8
DBMS_OUTPUT.PUT_LINE('Name : '||V_Emp.Ename||' Salary : '||V_Emp.Sal);
9
EXCEPTION
10
WHEN TOO_MANY_ROWS THEN
11
DBMS_OUTPUT.PUT_LINE('More Than One Employee Having Same Salary');
12 END ;
13 /
Enter value for sal: 3000
More Than One Employee Having Same Salary
PL/SQL procedure successfully completed.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
Enter value for sal: 1234
DECLARE
*
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at line 5

SQL> DECLARE
2
V_Emp Emp%ROWTYPE;
3
V_Sal Emp.Sal%TYPE := &Sal;
4 BEGIN
5
SELECT * INTO V_Emp
6
FROM Emp
7
WHERE Sal = V_Sal;
8
DBMS_OUTPUT.PUT_LINE('Name : '||V_Emp.Ename||' Salary : '||V_Emp.Sal);
9
EXCEPTION
10
WHEN TOO_MANY_ROWS THEN
11
DBMS_OUTPUT.PUT_LINE('More Than One Employee Having Same Salary');
12
WHEN NO_DATA_FOUND THEN
13 DBMS_OUTPUT.PUT_LINE('Sorry, Data is Not Found.');
14 END ;
15 /
Enter value for sal: 3000
More Than One Employee Having Same Salary
PL/SQL procedure successfully completed.
SQL> /
Enter value for sal: 1234
Sorry, Data is Not Found.
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2
V_Empno VARCHAR2(4):='&Empno';
3
V_Ename VARCHAR2(20):='&Ename';
4
V_Deptno VARCHAR2(2):='&Deptno';
5 BEGIN
6
INSERT INTO Emp(Empno,Ename,Deptno)
7
VALUES (V_Empno,V_Ename,V_Deptno);
8 EXCEPTION
9
WHEN INVALID_NUMBER THEN
10
DBMS_OUTPUT.PUT_LINE('Given Employee Number or Department Number is
Invalid');
11 END ;
12 /
Enter value for empno: 1234
Enter value for ename: SAMPLE
Enter value for deptno: 30
PL/SQL procedure successfully completed.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
Enter value for empno: 123A
Enter value for ename: SAMPLE
Enter value for deptno: 30
Given Employee Number or Department Number is Invalid
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> DECLARE
2
V_Num1 NUMBER;
3 BEGIN
4
V_Num1 := '&GiveNumber1' + '&GiveNumber2';
5
DBMS_OUTPUT.PUT_LINE ('The Result of the Operation is: ' || V_Num1);
6 EXCEPTION
7
WHEN VALUE_ERROR THEN
8
DBMS_OUTPUT.PUT_LINE ('Please Check - There is a Source of Invalid
Values in your input (OR) Operations.');
9 END ;
10 /
Enter value for givenumber1: 1234
Enter value for givenumber2: 2345
The Result of the Operation is: 3579
PL/SQL procedure successfully completed.
SQL> /
Enter value for givenumber1: 123A
Enter value for givenumber2: 2345
Please Check - There is a Source of Invalid Values in your input (OR)
Operations.
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1 DECLARE
2
V_Num1 NUMBER;
3 BEGIN
4
V_Num1 := '&GiveNumber1' + '&GiveNumber2';
5
DBMS_OUTPUT.PUT_LINE ('The Result of the Operation is: ' || V_Num1);
6 EXCEPTION
7
WHEN INVALID_NUMBER THEN
8
DBMS_OUTPUT.PUT_LINE ('Please Check - There is a Source of Invalid
Values in your input (OR) Operations.');
9* END ;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
Enter value for givenumber1: 123A
Enter value for givenumber2: 2345
DECLARE
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at line 4

SQL> ROLBACK;
SP2-0042: unknown command "ROLBACK" - rest of line ignored.
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> DECLARE
2
V_Empno Emp.Empno%TYPE := &Empno;
3
V_Ename Emp.Ename%TYPE := '&Ename';
4
V_Deptno Emp.Deptno%TYPE := &Deptno;
5 BEGIN
6
INSERT INTO Emp(Empno,Ename,Deptno)
7
VALUES (V_Empno,V_Ename,V_Deptno);
8
DBMS_OUTPUT.PUT_LINE('Employee Successfully Inserted');
9 END ;
10 /
Enter value for empno: 7654
Enter value for ename: SAMPLE
Enter value for deptno: 30
DECLARE
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.EMP_PRIMARY_KEY) violated
ORA-06512: at line 6

SQL> DECLARE
2
V_Empno Emp.Empno%TYPE := &Empno;
3
V_Ename Emp.Ename%TYPE := '&Ename';
4
V_Deptno Emp.Deptno%TYPE := &Deptno;
5 BEGIN
6
INSERT INTO Emp(Empno,Ename,Deptno)
7
VALUES (V_Empno,V_Ename,V_Deptno);
8
DBMS_OUTPUT.PUT_LINE('Employee Successfully Inserted');
9 EXCEPTION
10
WHEN DUP_VAL_ON_INDEX THEN
11
DBMS_OUTPUT.PUT_LINE('Employee ID Already Exists');
12 END ;
13 /
Enter value for empno: 1234
Enter value for ename: SAMPLE
Enter value for deptno: 30
Employee Successfully Inserted
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

PL/SQL procedure successfully completed.


SQL> /
Enter value
Enter value
Enter value
Employee ID

for empno: 1234


for ename: SAMPLE
for deptno: 30
Already Exists

PL/SQL procedure successfully completed.


SQL> cl scr
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> DECLARE
2
V_Ename Emp.Ename% TYPE;
3
V_Sal Emp.Sal%TYPE;
4
V_RowCount PLS_INTEGER := 0;
5
CURSOR EmpRowCount IS
6
SELECT Ename, Sal
7
FROM Emp
8
ORDER BY Ename;
9
BEGIN
10
OPEN EMPROWCOUNT;
11
LOOP
12
FETCH EmpRowCount INTO V_Ename, V_Sal;
13
EXIT WHEN EmpRowCount%NOTFOUND;
14
V_RoWCount := EmpRoWCount%ROWCOUNT;
15
DBMS_OUTPUT.PUT_LINE('Employee Name is,'||V_Ename||' his Salary
16 is '||V_Sal);
17
END LOOP;
18
OPEN EMPROWCOUNT;
19
DBMS_OUTPUT.PUT_LINE(V_RowCount||' Rows Processed So Far...');
20
CLOSE EmpRowCount;
21 EXCEPTION
22 WHEN CURSOR_ALREADY_OPEN THEN
23 DBMS_OUTPUT.PUT_LINE('The Requested Cursor is already Open.');
24 END;
25 /
Employee Name is,ADAMS his Salary
is 1100
Employee Name is,ALLEN his Salary
is 1600
Employee Name is,BLAKE his Salary
is 2850
Employee Name is,CLARK his Salary
is 2450
Employee Name is,FORD his Salary
is 3000
Employee Name is,JAMES his Salary
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

is 950
Employee Name
is 2975
Employee Name
is 5000
Employee Name
is 1250
Employee Name
is 1300
Employee Name
is 3000
Employee Name
is 800
Employee Name
is 1500
Employee Name
is 1250
The Requested

is,JONES his Salary


is,KING his Salary
is,MARTIN his Salary
is,MILLER his Salary
is,SCOTT his Salary
is,SMITH his Salary
is,TURNER his Salary
is,WARD his Salary
Cursor is already Open.

PL/SQL procedure successfully completed.


SQL> cl scr
SQL> DECLARE
2
V_Ename Emp.Ename% TYPE;
3
V_Sal Emp.Sal%TYPE;
4
V_RowCount PLS_INTEGER := 0;
5
CURSOR EmpRowCount IS
6
SELECT Ename, Sal
7
FROM Emp
8
ORDER BY Ename;
9
BEGIN
10
OPEN EMPROWCOUNT;
11
LOOP
12
FETCH EmpRowCount INTO V_Ename, V_Sal;
13
EXIT WHEN EmpRowCount%NOTFOUND;
14
V_RoWCount := EmpRoWCount%ROWCOUNT;
15
DBMS_OUTPUT.PUT_LINE('Employee Name is,'||V_Ename||' his Salary
16 is '||V_Sal);
17
END LOOP;
18
DBMS_OUTPUT.PUT_LINE(V_RowCount||' Rows Processed So Far...');
19
CLOSE EmpRowCount;
20
CLOSE EmpRowCount;
21 EXCEPTION
22 WHEN INVALID_CURSOR THEN
23 DBMS_OUTPUT.PUT_LINE('The Requested Cursor is either not open or is already
closed.');
24 END;
25 /
Employee Name is,ADAMS his Salary
is 1100
Employee Name is,ALLEN his Salary
is 1600
Employee Name is,BLAKE his Salary
is 2850
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Employee Name is,CLARK his Salary


is 2450
Employee Name is,FORD his Salary
is 3000
Employee Name is,JAMES his Salary
is 950
Employee Name is,JONES his Salary
is 2975
Employee Name is,KING his Salary
is 5000
Employee Name is,MARTIN his Salary
is 1250
Employee Name is,MILLER his Salary
is 1300
Employee Name is,SCOTT his Salary
is 3000
Employee Name is,SMITH his Salary
is 800
Employee Name is,TURNER his Salary
is 1500
Employee Name is,WARD his Salary
is 1250
14 Rows Processed So Far...
The Requested Cursor is either not open or is already closed.
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2
V_Grade CHAR := UPPER('&EnterGrade');
3 BEGIN
4 CASE V_Grade
5
WHEN 'A' THEN DBMS_OUTPUT.PUT_LINE('You are Awarded with Excellent
Grade');
6
WHEN 'B' THEN DBMS_OUTPUT.PUT_LINE('You are Awarded with Very Good
Grade');
7
WHEN 'C' THEN DBMS_OUTPUT.PUT_LINE('You are Awarded with Good Grade');
8
WHEN 'D' THEN DBMS_OUTPUT.PUT_LINE('You are Awarded with Fair Grade');
9
WHEN 'E' THEN DBMS_OUTPUT.PUT_LINE('You are Awarded with Poor Grade');
10 END CASE;
11 EXCEPTION
12 WHEN CASE_NOT_FOUND THEN
13 DBMS_OUTPUT.PUT_LINE('The Supplied Case '||V_Grade||' not found. Please
Check once again.');
14 END;
15 /
Enter value for entergrade: E
You are Awarded with Poor Grade
PL/SQL procedure successfully completed.
SQL> /
Enter value for entergrade: F
The Supplied Case F not found. Please Check once again.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

PL/SQL procedure successfully completed.


SQL> ED
Wrote file afiedt.buf
1 DECLARE
2
V_Grade CHAR := UPPER('&EnterGrade');
3 BEGIN
4 CASE V_Grade
5
WHEN 'A' THEN DBMS_OUTPUT.PUT_LINE('You are Awarded
Grade');
6
WHEN 'B' THEN DBMS_OUTPUT.PUT_LINE('You are Awarded
Grade');
7
WHEN 'C' THEN DBMS_OUTPUT.PUT_LINE('You are Awarded
8
WHEN 'D' THEN DBMS_OUTPUT.PUT_LINE('You are Awarded
9
WHEN 'E' THEN DBMS_OUTPUT.PUT_LINE('You are Awarded
10 END CASE;
11* END;
SQL> /
Enter value for entergrade: F
DECLARE
*
ERROR at line 1:
ORA-06592: CASE not found while executing CASE statement
ORA-06512: at line 4

with Excellent
with Very Good
with Good Grade');
with Fair Grade');
with Poor Grade');

SQL> cl scr
SQL> DECLARE
2
V_Num1 NUMBER := &GiveNumber1;
3
V_Num2 NUMBER := &GiveNumber2;
4
V_Result NUMBER;
5 BEGIN
6
V_Result := V_Num1/V_Num2;
7
DBMS_OUTPUT.PUT_LINE ('The Result is: ' || V_Result);
8 EXCEPTION
9
WHEN ZERO_DIVIDE THEN
10
DBMS_OUTPUT.PUT_LINE ('Fatal Error - Division by zero occurred');
11 END ;
12 /
Enter value for givenumber1: 25
Enter value for givenumber2: 5
The Result is: 5
PL/SQL procedure successfully completed.
SQL> /
Enter value for givenumber1: 25
Enter value for givenumber2: 0
Fatal Error - Division by zero occurred
PL/SQL procedure successfully completed.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2
V_Num1 NUMBER := &GiveNumber1;
3
V_Num2 NUMBER := &GiveNumber2;
4
V_Result NUMBER;
5 BEGIN
6
V_Result := V_Num1/V_Num2;
7
DBMS_OUTPUT.PUT_LINE ('The Result is: ' || V_Result);
8* END ;
SQL> /
Enter value for givenumber1: 25
Enter value for givenumber2: 0
DECLARE
*
ERROR at line 1:
ORA-01476: divisor is equal to zero
ORA-06512: at line 6

SQL> cl scr
SQL> ROLLBACk;
Rollback complete.
SQL>
2
3
4
5

CREATE TABLE Messages


(
Results VARCHAR2(200)
)
/

Table created.
SQL> SELECT * FROM Messages;
no rows selected

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=102
)
1

TABLE ACCESS (FULL) OF 'MESSAGES' (TABLE) (Cost=2 Card=1 B


ytes=102)

SQL> DECLARE
2
V_Ename Emp.Ename%TYPE;
3
V_Sal Emp.Sal%TYPE := &Sal;
4
BEGIN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

5
SELECT Ename INTO V_Ename
6
FROM Emp
7
WHERE Sal = V_Sal;
8
INSERT INTO Messages(Results)
9
VALUES(USER||' Queried for Salary of '||V_Sal||' and '||V_Ename||' was
Found.');
10 EXCEPTION
11
WHEN NO_DATA_FOUND THEN
12
INSERT INTO Messages(Results)
13
VALUES(USER||' Queried For '||V_Sal||' Salary on '||TO_CHAR(SYSDATE,'DD,
Month YYYY, HH24:MI:SS')||' And The Requested Salary Was Not Found.');
14 WHEN TOO_MANY_ROWS THEN
15
INSERT INTO Messages(Results)
16
VALUES(USER||' Queried For '||V_Sal||' Salary on
'||TO_CHAR(SYSDATE,'FMDD, Month YYYY, HH24:MI:SS')||' And Many Records Were
Matching Upon That Salary Hence Query Failed To Retrieve The Data.');
17 WHEN OTHERS THEN
18 INSERT INTO Messages(Results)
19
VALUES(USER||' Executed For Some Data '||TO_CHAR(SYSDATE,'FMDD, Month
YYYY, HH24:MI:SS')||' And Administrators Attention is Expected.');
20 END ;
21 /
Enter value for sal: 800
PL/SQL procedure successfully completed.
SQL> /
Enter value for sal: 5000
PL/SQL procedure successfully completed.
SQL> /
Enter value for sal: 3000
PL/SQL procedure successfully completed.
SQL> /
Enter value for sal: 1234
PL/SQL procedure successfully completed.
SQL> /
Enter value for sal: 1250
PL/SQL procedure successfully completed.
SQL> SELECT * FROM Messages;
RESULTS
-------------------------------------------------------------------------------SCOTT Queried for Salary of 800 and SMITH was Found.
SCOTT Queried for Salary of 5000 and KING was Found.
SCOTT Queried For 3000 Salary on 12, July 2010, 10:57:27 And Many Records Were M
atching Upon That Salary Hence Query Failed To Retrieve The Data.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SCOTT Queried For 1234 Salary on 12, July


Salary Was Not Found.

2010, 10:57:32 And The Requested

SCOTT Queried For 1250 Salary on 12, July 2010, 10:57:43 And Many Records Were M
atching Upon That Salary Hence Query Failed To Retrieve The Data.

Execution Plan
---------------------------------------------------------0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=5 Bytes=510
)
1

TABLE ACCESS (FULL) OF 'MESSAGES' (TABLE) (Cost=3 Card=5 B


ytes=510)

SQL> SPOOL OFF


SQL> cl scr
SQL> SET SERVEROUTPUT ON
SQL> SET VERIFY OFF
SQL> cl scr
SQL> DECLARE
2 V_Ename Emp.Ename%TYPE;
3 V_Sal Emp.Sal%TYPE;
4 V_Job Emp.Job%TYPE;
5 V_Deptno Emp.Deptno%TYPE;
6 BEGIN
7 SELECT Ename, Sal, Job, Deptno
8 INTO
9 V_Ename, V_Sal, V_Job, V_Deptno
10 FROM Emp
11 WHERE Empno = &GiveEmpNo;
12 DBMS_OUTPUT.PUT_LINE('The Employee Name is :'||V_Ename||' Working for
Department '||V_Deptno||' Having Salary of '||V_Sal||'.');
13
DECLARE
14
V_Staff NUMBER(1);
15
BEGIN
16
SELECT COUNT(*)
17
INTO V_Staff
18
FROM Emp
19
WHERE Deptno = V_Deptno;
20
DBMS_OUTPUT.PUT_LINE('The Total Number of Employees Working in Department
'||V_Deptno||' are '||V_Staff||'.');
21
EXCEPTION
22
WHEN VALUE_ERROR OR INVALID_NUMBER THEN
23
DBMS_OUTPUT.PUT_LINE('There is some Error in the Data inputs (OR) Data
outputs, Please Check, Debug the Source.');
24
END;
25 EXCEPTION
26 WHEN NO_DATA_FOUND THEN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

27 DBMS_OUTPUT.PUT_LINE('The Given Information is Missing in the Database,


Check for Proper Values.');
28 END;
29 /
Enter value for giveempno: 1234
The Given Information is Missing in the Database, Check for Proper Values.
PL/SQL procedure successfully completed.
SQL> /
Enter value for giveempno: 7839
The Employee Name is :KING Working for Department 10 Having Salary of 5000.
The Total Number of Employees Working in Department 10 are 3.
PL/SQL procedure successfully completed.
SQL> /
Enter value for giveempno: 7566
The Employee Name is :JONES Working for Department 20 Having Salary of 2975.
The Total Number of Employees Working in Department 20 are 5.
PL/SQL procedure successfully completed.
SQL> /
Enter value for giveempno: 7654
The Employee Name is :MARTIN Working for Department 30 Having Salary of 1250.
The Total Number of Employees Working in Department 30 are 6.
PL/SQL procedure successfully completed.
SQL> INSERT INTO Emp(Empno, Ename, Deptno, Job)
2 VALUES(1234, 'SAMPLE01', 30, 'CLERK');
1 row created.
SQL> DECLARE
2 V_Ename Emp.Ename%TYPE;
3 V_Sal Emp.Sal%TYPE;
4 V_Job Emp.Job%TYPE;
5 V_Deptno Emp.Deptno%TYPE;
6 BEGIN
7 SELECT Ename, Sal, Job, Deptno
8 INTO
9 V_Ename, V_Sal, V_Job, V_Deptno
10 FROM Emp
11 WHERE Empno = &GiveEmpNo;
12 DBMS_OUTPUT.PUT_LINE('The Employee Name is :'||V_Ename||' Working for
Department '||V_Deptno||' Having Salary of '||V_Sal||'.');
13
DECLARE
14
V_Staff NUMBER(1);
15
BEGIN
16
SELECT COUNT(*)
17
INTO V_Staff
18
FROM Emp
19
WHERE Deptno = V_Deptno;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

20
DBMS_OUTPUT.PUT_LINE('The Total Number of Employees Working in Department
'||V_Deptno||' are '||V_Staff||'.');
21
EXCEPTION
22
WHEN VALUE_ERROR OR INVALID_NUMBER THEN
23
DBMS_OUTPUT.PUT_LINE('There is some Error in the Data inputs (OR) Data
outputs, Please Check, Debug the Source.');
24
END;
25 EXCEPTION
26 WHEN NO_DATA_FOUND THEN
27 DBMS_OUTPUT.PUT_LINE('The Given Information is Missing in the Database,
Check for Proper Values.');
28 END;
29 /
Enter value for giveempno: 7654
The Employee Name is :MARTIN Working for Department 30 Having Salary of 1250.
The Total Number of Employees Working in Department 30 are 7.
PL/SQL procedure successfully completed.
SQL> INSERT INTO Emp(Empno, Ename, Deptno, Job)
2 VALUES(1235, 'SAMPLE02', 30, 'CLERK');
1 row created.
SQL> DECLARE
2 V_Ename Emp.Ename%TYPE;
3 V_Sal Emp.Sal%TYPE;
4 V_Job Emp.Job%TYPE;
5 V_Deptno Emp.Deptno%TYPE;
6 BEGIN
7 SELECT Ename, Sal, Job, Deptno
8 INTO
9 V_Ename, V_Sal, V_Job, V_Deptno
10 FROM Emp
11 WHERE Empno = &GiveEmpNo;
12 DBMS_OUTPUT.PUT_LINE('The Employee Name is :'||V_Ename||' Working for
Department '||V_Deptno||' Having Salary of '||V_Sal||'.');
13
DECLARE
14
V_Staff NUMBER(1);
15
BEGIN
16
SELECT COUNT(*)
17
INTO V_Staff
18
FROM Emp
19
WHERE Deptno = V_Deptno;
20
DBMS_OUTPUT.PUT_LINE('The Total Number of Employees Working in Department
'||V_Deptno||' are '||V_Staff||'.');
21
EXCEPTION
22
WHEN VALUE_ERROR OR INVALID_NUMBER THEN
23
DBMS_OUTPUT.PUT_LINE('There is some Error in the Data inputs (OR) Data
outputs, Please Check, Debug the Source.');
24
END;
25 EXCEPTION
26 WHEN NO_DATA_FOUND THEN
27 DBMS_OUTPUT.PUT_LINE('The Given Information is Missing in the Database,
Check for Proper Values.');
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

28 END;
29 /
Enter value for giveempno: 7654
The Employee Name is :MARTIN Working for Department 30 Having Salary of 1250.
The Total Number of Employees Working in Department 30 are 8.
PL/SQL procedure successfully completed.
SQL> INSERT INTO Emp(Empno, Ename, Deptno, Job)
2 VALUES(1236, 'SAMPLE03', 30, 'CLERK');
1 row created.
SQL> DECLARE
2 V_Ename Emp.Ename%TYPE;
3 V_Sal Emp.Sal%TYPE;
4 V_Job Emp.Job%TYPE;
5 V_Deptno Emp.Deptno%TYPE;
6 BEGIN
7 SELECT Ename, Sal, Job, Deptno
8 INTO
9 V_Ename, V_Sal, V_Job, V_Deptno
10 FROM Emp
11 WHERE Empno = &GiveEmpNo;
12 DBMS_OUTPUT.PUT_LINE('The Employee Name is :'||V_Ename||' Working for
Department '||V_Deptno||' Having Salary of '||V_Sal||'.');
13
DECLARE
14
V_Staff NUMBER(1);
15
BEGIN
16
SELECT COUNT(*)
17
INTO V_Staff
18
FROM Emp
19
WHERE Deptno = V_Deptno;
20
DBMS_OUTPUT.PUT_LINE('The Total Number of Employees Working in Department
'||V_Deptno||' are '||V_Staff||'.');
21
EXCEPTION
22
WHEN VALUE_ERROR OR INVALID_NUMBER THEN
23
DBMS_OUTPUT.PUT_LINE('There is some Error in the Data inputs (OR) Data
outputs, Please Check, Debug the Source.');
24
END;
25 EXCEPTION
26 WHEN NO_DATA_FOUND THEN
27 DBMS_OUTPUT.PUT_LINE('The Given Information is Missing in the Database,
Check for Proper Values.');
28 END;
29 /
Enter value for giveempno: 7654
The Employee Name is :MARTIN Working for Department 30 Having Salary of 1250.
The Total Number of Employees Working in Department 30 are 9.
PL/SQL procedure successfully completed.
SQL> INSERT INTO Emp(Empno, Ename, Deptno, Job)
2 VALUES(1237, 'SAMPLE04', 30, 'CLERK');
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1 row created.
SQL> DECLARE
2 V_Ename Emp.Ename%TYPE;
3 V_Sal Emp.Sal%TYPE;
4 V_Job Emp.Job%TYPE;
5 V_Deptno Emp.Deptno%TYPE;
6 BEGIN
7 SELECT Ename, Sal, Job, Deptno
8 INTO
9 V_Ename, V_Sal, V_Job, V_Deptno
10 FROM Emp
11 WHERE Empno = &GiveEmpNo;
12 DBMS_OUTPUT.PUT_LINE('The Employee Name is :'||V_Ename||' Working for
Department '||V_Deptno||' Having Salary of '||V_Sal||'.');
13
DECLARE
14
V_Staff NUMBER(1);
15
BEGIN
16
SELECT COUNT(*)
17
INTO V_Staff
18
FROM Emp
19
WHERE Deptno = V_Deptno;
20
DBMS_OUTPUT.PUT_LINE('The Total Number of Employees Working in Department
'||V_Deptno||' are '||V_Staff||'.');
21
EXCEPTION
22
WHEN VALUE_ERROR OR INVALID_NUMBER THEN
23
DBMS_OUTPUT.PUT_LINE('There is some Error in the Data inputs (OR) Data
outputs, Please Check, Debug the Source.');
24
END;
25 EXCEPTION
26 WHEN NO_DATA_FOUND THEN
27 DBMS_OUTPUT.PUT_LINE('The Given Information is Missing in the Database,
Check for Proper Values.');
28 END;
29 /
Enter value for giveempno: 7654
The Employee Name is :MARTIN Working for Department 30 Having Salary of 1250.
There is some Error in the Data inputs (OR) Data outputs, Please Check, Debug
the Source.
PL/SQL procedure successfully completed.
SQL> ROLLBACK;
Rollback complete.
SQL>
2
3
4
5
6
7
8
9

DECLARE
V_Ename Emp.Ename%TYPE;
V_Sal Emp.Sal%TYPE;
V_Job Emp.Job%TYPE;
V_Deptno Emp.Deptno%TYPE;
BEGIN
SELECT Ename, Sal, Job, Deptno
INTO
V_Ename, V_Sal, V_Job, V_Deptno
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

10 FROM Emp
11 WHERE Empno = &GiveEmpNo;
12 DBMS_OUTPUT.PUT_LINE('The Employee Name is :'||V_Ename||' Working for
Department '||V_Deptno||' Having Salary of '||V_Sal||'.');
13
DECLARE
14
V_Staff NUMBER(1);
15
BEGIN
16
SELECT COUNT(*)
17
INTO V_Staff
18
FROM Emp
19
WHERE Deptno = V_Deptno;
20
DBMS_OUTPUT.PUT_LINE('The Total Number of Employees Working in Department
'||V_Deptno||' are '||V_Staff||'.');
21
EXCEPTION
22
WHEN VALUE_ERROR OR INVALID_NUMBER THEN
23
DBMS_OUTPUT.PUT_LINE('There is some Error in the Data inputs (OR) Data
outputs, Please Check, Debug the Source.');
24
END;
25 EXCEPTION
26 WHEN NO_DATA_FOUND THEN
27 DBMS_OUTPUT.PUT_LINE('The Given Information is Missing in the Database,
Check for Proper Values.');
28 END;
29 /
Enter value for giveempno: 7654
The Employee Name is :MARTIN Working for Department 30 Having Salary of 1250.
The Total Number of Employees Working in Department 30 are 6.
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 E_EmpRemaining EXCEPTION;
3 PRAGMA EXCEPTION_INIT(E_EmpRemaining, -2292);
4 V_Deptno Emp.Deptno%TYPE := &GiveDeptno;
5 BEGIN
6 DELETE FROM Dept
7 WHERE Deptno = V_Deptno;
8 IF SQL%NOTFOUND THEN
9 DBMS_OUTPUT.PUT_LINE('The Given Information is Missing in the Database,
Check for Proper Values.');
10 END IF;
11 ROLLBACK;
12 END;
13 /
Enter value for givedeptno: 40
PL/SQL procedure successfully completed.
SQL> /
Enter value for givedeptno: 30
DECLARE
*
ERROR at line 1:
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ORA-02292: integrity constraint (SCOTT.EMP_FOREIGN_KEY) violated - child record


found
ORA-06512: at line 6

SQL> DECLARE
2 E_EmpRemaining EXCEPTION;
3 PRAGMA EXCEPTION_INIT(E_EmpRemaining, -2292);
4 V_Deptno Emp.Deptno%TYPE := &GiveDeptno;
5 BEGIN
6 DELETE FROM Dept
7 WHERE Deptno = V_Deptno;
8 IF SQL%NOTFOUND THEN
9 DBMS_OUTPUT.PUT_LINE('The Given Information is Missing in the Database,
Check for Proper Values.');
10 END IF;
11 ROLLBACK;
12 EXCEPTION
13 WHEN E_EmpRemaining THEN
14 DBMS_OUTPUT.PUT_LINE('Unable to Delete the Department Number '||V_Deptno||'
as the Employees are Existing. Validate Your Relations and then Try Once
Again.');
15 WHEN NO_DATA_FOUND THEN
16 DBMS_OUTPUT.PUT_LINE('The Given Information is Missing in the Database,
Check for Proper Values.');
17 END;
18 /
Enter value for givedeptno: 30
Unable to Delete the Department Number 30 as the Employees are Existing.
Validate Your Relations and then Try Once Again.
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 E_EmpExists EXCEPTION;
3 V_Count NUMBER(2);
4 V_SalSum NUMBER(6);
5 PRAGMA EXCEPTION_INIT(E_EmpExists, -2292);
6 V_Empno Emp.Empno%TYPE := &GiveEmpno;
7 BEGIN
8 DELETE FROM Emp
9 WHERE Empno = V_Empno;
10 IF SQL%NOTFOUND THEN
11 DBMS_OUTPUT.PUT_LINE('The Given Employee Number '||V_Empno||' is Missing in
the Database, Check for Proper Values.');
12 ROLLBACK;
13 ELSE
14 COMMIT;
15 END IF;
16 EXCEPTION
17 WHEN E_EmpExists THEN

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

18 DBMS_OUTPUT.PUT_LINE('Unable to Delete the Employee Details '||V_Empno||'


as the Employees are Existing. Validate Your Relations and then Try Once
Again.');
19 WHEN NO_DATA_FOUND THEN
20 DBMS_OUTPUT.PUT_LINE('The Given Information is Missing in the Database,
Check for Proper Values.');
21 END;
22 /
Enter value for giveempno: 7654
PL/SQL procedure successfully completed.
SQL> /
Enter value for giveempno: 7566
Unable to Delete the Employee Details 7566 as the Employees are Existing.
Validate Your Relations and then Try Once Again.
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 E_NotNULLViolation EXCEPTION;
3 PRAGMA EXCEPTION_INIT(E_NotNULLViolation, -1400);
4 BEGIN
5 INSERT INTO Emp(Empno, Ename, Job, Sal, Comm, Deptno)
6 VALUES(&Empno, 'SATISH', 'ANALYST', 25000, NULL, &Deptno);
7 COMMIT;
8 EXCEPTION
9 WHEN E_NotNULLViolation THEN
10 DBMS_OUTPUT.PUT_LINE('A Field which Cannot be NULL, is not attended, Please
Check Properly...');
11 END;
12 /
Enter value for empno: 1234
Enter value for deptno: 30
PL/SQL procedure successfully completed.
SQL> /
Enter value for empno: NULL
Enter value for deptno: 30
A Field which Cannot be NULL, is not attended, Please Check Properly...
PL/SQL procedure successfully completed.
SQL> /
Enter value for empno: 1235
Enter value for deptno: NULL
A Field which Cannot be NULL, is not attended, Please Check Properly...
PL/SQL procedure successfully completed.
SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL>
2
3
4

ALTER TABLE Emp


ADD CONSTRAINT EmpEnameCHK CHECK(Ename = UPPER(Ename))
ADD CONSTRAINT EmpJobCHK CHECK(Job = UPPER(Job))
/

Table altered.
SQL> cl scr
SQL> DECLARE
2 E_NotNULLViolation EXCEPTION;
3 PRAGMA EXCEPTION_INIT(E_NotNULLViolation, -1400);
4 E_CheckViolation EXCEPTION;
5 PRAGMA EXCEPTION_INIT(E_CheckViolation, -2290);
6 BEGIN
7 INSERT INTO Emp(Empno, Ename, Job, Sal, Comm, Deptno)
8 VALUES(&Empno, '&Ename', '&Job', 25000, NULL, &Deptno);
9 COMMIT;
10 EXCEPTION
11 WHEN E_CheckViolation THEN
12 DBMS_OUTPUT.PUT_LINE('A Field with Check Constraint is not Attended
Properly, Please Check Properly.');
13 WHEN E_NotNULLViolation THEN
14 DBMS_OUTPUT.PUT_LINE('A Field which Cannot be NULL, is not attended, Please
Check Properly.');
15 END;
16 /
Enter value for empno: 1235
Enter value for ename: SAMPLE
Enter value for job: CLERK
Enter value for deptno: 30
PL/SQL procedure successfully completed.
SQL> /
Enter value for empno: 1236
Enter value for ename: Sample
Enter value for job: CLERK
Enter value for deptno: 30
A Field with Check Constraint is not Attended Properly, Please Check Properly.
PL/SQL procedure successfully completed.
SQL> /
Enter value for empno: NULL
Enter value for ename: SAMPLE
Enter value for job: CLERK
Enter value for deptno: 30
A Field which Cannot be NULL, is not attended, Please Check Properly.
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2 E_NoData EXCEPTION;
3 V_Empno Emp.Empno%TYPE := &GEmpno;
4 V_Ename Emp.Ename%TYPE;
5 BEGIN
6 SELECT Ename INTO V_Ename
7 FROM Emp
8 WHERE Empno = V_Empno;
9 DBMS_OUTPUT.PUT_LINE('The Employee : '||V_Ename);
10 EXCEPTION
11 WHEN NO_DATA_FOUND THEN
12 DBMS_OUTPUT.PUT_LINE('Sorry! Data Not Found');
13 END;
14 /
Enter value for gempno: 7839
The Employee : KING
PL/SQL procedure successfully completed.
SQL> /
Enter value for gempno: 2345
Sorry! Data Not Found
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 E_NoData EXCEPTION;
3 PRAGMA EXCEPTION_INIT(E_NoData, -1403);
4 V_Empno Emp.Empno%TYPE := &GEmpno;
5 V_Ename Emp.Ename%TYPE;
6 BEGIN
7 SELECT Ename INTO V_Ename
8 FROM Emp
9 WHERE Empno = V_Empno;
10 DBMS_OUTPUT.PUT_LINE('The Employee : '||V_Ename);
11 EXCEPTION
12 WHEN E_NoData THEN
13 DBMS_OUTPUT.PUT_LINE('Sorry! Data Not Found');
14* END;
SQL> /
Enter value for gempno: 2345
E_NoData EXCEPTION;
*
ERROR at line 2:
ORA-06550: line 2, column 1:
PLS-00701: illegal ORACLE error number -1403 for PRAGMA EXCEPTION_INIT

SQL> EDED
SP2-0042: unknown command "EDED" - rest of line ignored.
SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1 DECLARE
2 E_NoData EXCEPTION;
3 PRAGMA EXCEPTION_INIT(E_NoData, +100);
4 V_Empno Emp.Empno%TYPE := &GEmpno;
5 V_Ename Emp.Ename%TYPE;
6 BEGIN
7 SELECT Ename INTO V_Ename
8 FROM Emp
9 WHERE Empno = V_Empno;
10 DBMS_OUTPUT.PUT_LINE('The Employee : '||V_Ename);
11 EXCEPTION
12 WHEN E_NoData THEN
13 DBMS_OUTPUT.PUT_LINE('Sorry! Data Not Found');
14* END;
SQL> /
Enter value for gempno: 2345
Sorry! Data Not Found
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 V_ErrorCode NUMBER(6);
3 V_ErrorMessage VARCHAR2(200);
4 BEGIN
5 INSERT INTO Dept
6 VALUES(&DeptNumber, '&DeptName', '&DeptLocation');
7 EXCEPTION
8 WHEN OTHERS THEN
9 V_ErrorCode := SQLCODE;
10 V_ErrorMessage := SUBSTR(SQLERRM, 1, 200);
11 DBMS_OUTPUT.PUT_LINE('The Error Code Traced is : '||V_ErrorCode);
12 DBMS_OUTPUT.PUT_LINE('The Error Message Traced is : '||V_ErrorMessage);
13 END;
14 /
Enter value for deptnumber: 50
Enter value for deptname: SHIPPING
Enter value for deptlocation: CHENNAI
PL/SQL procedure successfully completed.
SQL> /
Enter value for deptnumber: 50
Enter value for deptname: SHIPPING
Enter value for deptlocation: CHENNAI
The Error Code Traced is : -1
The Error Message Traced is : ORA-00001: unique constraint
(SCOTT.DEPT_PRIMARY_KEY) violated
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1 DECLARE
2 V_ErrorCode NUMBER(6);
3 V_ErrorMessage VARCHAR2(200);
4 BEGIN
5 INSERT INTO Dept
6 VALUES(&DeptNumber, '&DeptName', '&DeptLocation');
7 EXCEPTION
8 WHEN DUP_VAL_ON_INDEX THEN
9 DBMS_OUTPUT.PUT_LINE('Sorry Department Number Cannot Be Duplicated');
10 WHEN OTHERS THEN
11 V_ErrorCode := SQLCODE;
12 V_ErrorMessage := SUBSTR(SQLERRM, 1, 200);
13 DBMS_OUTPUT.PUT_LINE('The Error Code Traced is : '||V_ErrorCode);
14 DBMS_OUTPUT.PUT_LINE('The Error Message Traced is : '||V_ErrorMessage);
15* END;
SQL> /
Enter value for deptnumber: 50
Enter value for deptname: SHIPPING
Enter value for deptlocation: CHENNAI
Sorry Department Number Cannot Be Duplicated
PL/SQL procedure successfully completed.
SQL> /
Enter value for deptnumber: NULL
Enter value for deptname: CARGO
Enter value for deptlocation: DELHI
The Error Code Traced is : -1400
The Error Message Traced is : ORA-01400: cannot insert NULL into
("SCOTT"."DEPT"."DEPTNO")
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19*

DECLARE
E_NullDept EXCEPTION;
PRAGMA EXCEPTION_INIT(E_NullDept, -1400);
V_ErrorCode NUMBER(6);
V_ErrorMessage VARCHAR2(200);
BEGIN
INSERT INTO Dept
VALUES(&DeptNumber, '&DeptName', '&DeptLocation');
EXCEPTION
WHEN E_NullDept THEN
DBMS_OUTPUT.PUT_LINE('Department Number Cannot Be Null');
WHEN DUP_VAL_ON_INDEX THEN
DBMS_OUTPUT.PUT_LINE('Sorry Department Number Cannot Be Duplicated');
WHEN OTHERS THEN
V_ErrorCode := SQLCODE;
V_ErrorMessage := SUBSTR(SQLERRM, 1, 200);
DBMS_OUTPUT.PUT_LINE('The Error Code Traced is : '||V_ErrorCode);
DBMS_OUTPUT.PUT_LINE('The Error Message Traced is : '||V_ErrorMessage);
END;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
Enter value for deptnumber: NULL
Enter value for deptname: CARGO
Enter value for deptlocation: DELHI
Department Number Cannot Be Null
PL/SQL procedure successfully completed.
SQL> cl scr
SQL>
2
3
4
5
6
7

CREATE TABLE MyAudit


(
UserName VARCHAR2(15),
ModDate DATE,
Message VARCHAR2(100)
)
/

Table created.
SQL>
2
3
4
5
6
7

CREATE TABLE TrappedMessages


(
ErrorNum NUMBER(6),
ErrorMsg VARCHAR2(250),
TrapDate DATE
)
/

Table created.
SQL> BEGIN
2 INSERT INTO Dept
3 VALUES(&DeptNumber, '&DeptName', '&DeptLocation');
4 COMMIT;
5 INSERT INTO MyAudit(UserName, ModDate)
6 VALUES(USER, SYSDATE);
7 COMMIT;
8 EXCEPTION
9 WHEN OTHERS THEN
10
DECLARE
11
V_ErrorCode NUMBER(6);
12
V_ErrorMessage VARCHAR2(200);
13
BEGIN
14
V_ErrorCode := SQLCODE;
15
V_ErrorMessage := SUBSTR(SQLERRM, 1, 200);
16
DBMS_OUTPUT.PUT_LINE('The Error Code Traced is : '||V_ErrorCode);
17
DBMS_OUTPUT.PUT_LINE('The Error Message Traced is : '||V_ErrorMessage);
18
INSERT INTO TrappedMessages(ErrorNum, ErrorMsg, TrapDate)
19
VALUES(V_ErrorCode, V_ErrorMessage, SYSDATE);
20
COMMIT;
21
END;
22 END;
23 /
Enter value for deptnumber: 60
Enter value for deptname: CARGO
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Enter value for deptlocation: DELHI


PL/SQL procedure successfully completed.
SQL> /
Enter value for deptnumber: 50
Enter value for deptname: COURIER
Enter value for deptlocation: MUMBAI
The Error Code Traced is : -1
The Error Message Traced is : ORA-00001: unique constraint
(SCOTT.DEPT_PRIMARY_KEY) violated
PL/SQL procedure successfully completed.
SQL> SELECT * FROM MyAudit;
USERNAME
MODDATE
--------------- --------MESSAGE
-------------------------------------------------------------------------------SCOTT
13-JUL-10

SQL> SELECT * FROM TrappedMessages;


ERRORNUM
---------ERRORMSG
-------------------------------------------------------------------------------TRAPDATE
---------1
ORA-00001: unique constraint (SCOTT.DEPT_PRIMARY_KEY) violated
13-JUL-10

SQL> cl scr
SQL> DECLARE
2 V_DeptNo Dept.Deptno%TYPE := &DeptNumber;
3 V_DeptName Dept.Dname%TYPE := '&DeptName';
4 V_DeptLoc Dept.Loc%TYPE := '&DeptLocation';
5 E_InvalidDept EXCEPTION;
6 BEGIN
7 UPDATE Dept
8 SET Dname = V_DeptName,
9
Loc = V_DeptLoc
10 WHERE Deptno = V_DeptNo;
11 END;
12 /
Enter value for deptnumber: 30
Enter value for deptname: SALESDIV
Enter value for deptlocation: DELHI
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

PL/SQL procedure successfully completed.


SQL> /
Enter value for deptnumber: 70
Enter value for deptname: SAMPLE
Enter value for deptlocation: SAMPLE
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 V_DeptNo Dept.Deptno%TYPE := &DeptNumber;
3 V_DeptName Dept.Dname%TYPE := '&DeptName';
4 V_DeptLoc Dept.Loc%TYPE := '&DeptLocation';
5 E_InvalidDept EXCEPTION;
6 BEGIN
7 UPDATE Dept
8 SET Dname = V_DeptName,
9
Loc = V_DeptLoc
10 WHERE Deptno = V_DeptNo;
11 IF SQL%NOTFOUND THEN
12 DBMS_OUTPUT.PUT_LINE('The Specific Department Number '||V_DeptNo||' you
wanted to Update is not Found. Please Confirm the Data.');
13 ENd IF;
14 END;
15 /
Enter value for deptnumber: 70
Enter value for deptname: SAMPLE
Enter value for deptlocation: SAMPLE
The Specific Department Number 70 you wanted to Update is not Found. Please
Confirm the Data.
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 V_DeptNo Dept.Deptno%TYPE := &DeptNumber;
3 V_DeptName Dept.Dname%TYPE := '&DeptName';
4 V_DeptLoc Dept.Loc%TYPE := '&DeptLocation';
5 E_InvalidDept EXCEPTION;
6 BEGIN
7 UPDATE Dept
8 SET Dname = V_DeptName,
9
Loc = V_DeptLoc
10 WHERE Deptno = V_DeptNo;
11 IF SQL%NOTFOUND THEN
12 RAISE E_InvalidDept;
13 ENd IF;
14 COMMIT;
15 EXCEPTION
16 WHEN E_InvalidDept THEN
17 DBMS_OUTPUT.PUT_LINE('The Specific Department Number '||V_DeptNo||' you
wanted to Update is not Found. Please Confirm the Data.');
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

18 INSERT INTO MyAudit(UserName, ModDate, Message)


19 VALUES(USER, SYSDATE, 'Tried Illegal Update.');
20 END;
21 /
Enter value for deptnumber: 70
Enter value for deptname: SAMPLE
Enter value for deptlocation: SAMPLE
The Specific Department Number 70 you wanted to Update is not Found. Please
Confirm the Data.
PL/SQL procedure successfully completed.
SQL> SELECT * FROm MyAudit;
USERNAME
MODDATE
--------------- --------MESSAGE
-------------------------------------------------------------------------------SCOTT
13-JUL-10

SCOTT
13-JUL-10
Tried Illegal Update.

SQL> SPOOL OFF


SQL> cl scr
SQL> SET SERVEROUTPUT ON
SQL> SET VERIFY OFF
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

DECLARE
TYPE ValidateInsertValues
IS
RECORD
(
ValidateJob
NUMBER(2),
ValidateDeptno
NUMBER(2),
ValidateManager
NUMBER(2),
SalaryLess
NUMBER(4),
SalaryMore
NUMBER(6),
CurrentDate
DATE
);
ValidateRecordValues
ValidateInsertValues;
V_Empno
Emp.Empno%TYPE := &Empno;
V_Ename
Emp.Ename%TYPE := '&Ename';
V_Job
Emp.Job%TYPE := '&Job';
V_Sal
Emp.Sal%TYPE := &Salary;
V_Comm
Emp.Comm%TYPE := &Commission;
V_Deptno
Emp.Deptno%TYPE := &Deptno;
V_MGR
Emp.MGR%TYPE := &Manager;
V_HireDate
Emp.HireDate%TYPE := '&HireDate';
E_SalLess
EXCEPTION;
E_SalMore
EXCEPTION;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

24 E_NoDept
EXCEPTION;
25 E_NoJob
EXCEPTION;
26 E_InvalidHireDate
EXCEPTION;
27 E_InvalidManager
EXCEPTION;
28 E_NotNULLViolation EXCEPTION;
29 PRAGMA EXCEPTION_INIT(E_NotNULLViolation, -1400);
30 E_CheckViolation
EXCEPTION;
31 PRAGMA EXCEPTION_INIT(E_CheckViolation, -2290);
32 BEGIN
33 ValidateRecordValues.SalaryLess := 500;
34 ValidateRecordValues.SalaryMore := 150000;
35 SELECT
36 SYSDATE
37 INTO
38 ValidateRecordValues.CurrentDate
39 FROM DUAL;
40 ValidateRecordValues.CurrentDate :=
TO_DATE(TO_CHAR(ValidateRecordValues.CurrentDate, 'DD-MON-YY'), 'DD-MON-YY');
41 SELECT
42 COUNT(*)
43 INTO
44 ValidateRecordValues.ValidateJob
45 FROM Emp
46 WHERE Job = V_Job;
47 SELECT
48 COUNT(*)
49 INTO
50 ValidateRecordValues.ValidateDeptno
51 FROM Dept
52 WHERE Deptno = V_Deptno;
53 SELECT
54 COUNT(*)
55 INTO
56 ValidateRecordValues.ValidateManager
57 FROM Emp
58 WHERE MGR = V_MGR;
59 IF ValidateRecordValues.ValidateJob = 0
60 THEN
61
RAISE E_NoJob;
62 ELSIF ValidateRecordValues.ValidateDeptno = 0
63 THEN
64
RAISE E_NoDept;
65 ELSIF ValidateRecordValues.ValidateManager = 0
66 THEN
67
RAISE E_InvalidManager;
68 END IF;
69 IF V_Sal < ValidateRecordValues.SalaryLess
70 THEN
71
RAISE E_SalLess;
72 ELSIF V_Sal > ValidateRecordValues.SalaryMore
73 THEN
74
RAISE E_SalMore;
75 END IF;
76 IF ValidateRecordValues.CurrentDate <> V_HireDate
77 THEN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

78
RAISE E_InvalidHireDate;
79 END IF;
80 INSERT INTO Emp(Empno, Ename, Job, Sal, Comm, Deptno, MGR, HireDate)
81 VALUES(V_Empno, V_Ename, V_Job, V_Sal, V_Comm, V_Deptno, V_MGR,
V_HireDate);
82 COMMIT;
83 EXCEPTION
84 WHEN DUP_VAL_ON_INDEX THEN
85 DBMS_OUTPUT.PUT_LINE('Sorry, The Field With Unique Value is Getting
Duplicated.');
86 ROLLBACK;
87 WHEN E_CheckViolation THEN
88 DBMS_OUTPUT.PUT_LINE('A Field with Check Constraint is not Attended
Properly, Please Check Properly.');
89 ROLLBACK;
90 WHEN E_NotNULLViolation THEN
91 DBMS_OUTPUT.PUT_LINE('A Field which Cannot be NULL, is not attended, Please
Check Properly.');
92 ROLLBACK;
93 WHEN E_NoJob THEN
94 DBMS_OUTPUT.PUT_LINE('Sorry, The Job To be Inserted is Not Acceptable.');
95 ROLLBACK;
96 WHEN E_NoDept THEN
97 DBMS_OUTPUT.PUT_LINE('Sorry, The Department Number To be Inserted is Not
Acceptable.');
98 ROLLBACK;
99 WHEN E_InvalidManager THEN
100 DBMS_OUTPUT.PUT_LINE('Sorry, The Manager Number To be Inserted is Not
Acceptable.');
101 ROLLBACK;
102 WHEN E_SalLess THEN
103 DBMS_OUTPUT.PUT_LINE('Sorry, The Salary To be Inserted is Less Than The
Acceptable Value.');
104 ROLLBACK;
105 WHEN E_SalMore THEN
106 DBMS_OUTPUT.PUT_LINE('Sorry, The Salary To be Inserted is More Than The
Acceptable Value.');
107 ROLLBACK;
108 WHEN E_InvalidHireDate THEN
109 DBMS_OUTPUT.PUT_LINE('Sorry, The Hire Date To be Inserted is Not
Acceptable.');
110 ROLLBACK;
111 END;
112 /
Enter value for empno: 1234
Enter value for ename: SAMPLE
Enter value for job: CLERK
Enter value for salary: 2500
Enter value for commission: NULL
Enter value for deptno: 30
Enter value for manager: 7566
Enter value for hiredate: 14-JUL-10
PL/SQL procedure successfully completed.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
Enter value for empno: 1234
Enter value for ename: SAMPLE
Enter value for job: CLERK
Enter value for salary: 2000
Enter value for commission: NULL
Enter value for deptno: 30
Enter value for manager: 7566
Enter value for hiredate: 14-JUL-10
Sorry, The Field With Unique Value is Getting Duplicated.
PL/SQL procedure successfully completed.
SQL> /
Enter value for empno: 1235
Enter value for ename: SAMPLE
Enter value for job: CLERK
Enter value for salary: 250
Enter value for commission: NULL
Enter value for deptno: 30
Enter value for manager: 7566
Enter value for hiredate: 14-JUL-10
Sorry, The Salary To be Inserted is Less Than The Acceptable Value.
PL/SQL procedure successfully completed.
SQL> /
Enter value for
Enter value for
Enter value for
Enter value for
Enter value for
Enter value for
Enter value for
Enter value for
Sorry, The Hire

empno: 1235
ename: SAMPLE
job: CLERK
salary: 2500
commission: NULL
deptno: 30
manager: 7566
hiredate: 11-JUl-10
Date To be Inserted is Not Acceptable.

PL/SQL procedure successfully completed.


SQL> cl scr
SQL> SELECT MGR, COUNT(*) EmpCount
2 FROM Emp
3 GROUP BY MGR;
MGR
EMPCOUNT
---------- ---------7566
3
7698
5
7782
1
7788
1
7839
3
7902
1
1
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7 rows selected.
SQL> DELETE FROM Emp
2 WHERE Empno = 1234;
1 row deleted.
SQL> COMMIT;
Commit complete.
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>

COLUMN
COLUMN
COLUMN
COLUMN
COLUMN
COLUMN
cl scr

Empno FORMAT 9999


Sal FORMAT 9999
Comm FORMAT 9999
MGR FORMAT 99
MGR FORMAT 9999
Deptno FORMAT 99

SQL> SELECT * FROM Emp;


EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20

EMPNO
----7788
7876
7934

ENAME
---------SCOTT
ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM DEPTNO
--------- ----- --------- ----- ----- -----ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

14 rows selected.
SQL>
2
3
4
5
6
7
8
9
10
11
12

DECLARE
V_Ename Emp.Ename%TYPE;
V_Job Emp.Job%TYPE;
E_ManyEmployees EXCEPTION;
CURSOR EmpCursor IS
SELECT MGR, COUNT(*) Tot_Emp
FROM Emp
WHERE MGR IS NOT NULL
GROUP BY MGR;
BEGIN
FOR MgrRecord IN EmpCursor
LOOP
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

13 BEGIN
14 SELECT Ename, Job INTO
15 V_Ename, V_Job
16 FROM Emp
17 WHERE Empno = MgrRecord.Mgr;
18 IF MgrRecord.Tot_Emp > 3 THEN
19 RAISE E_ManyEmployees;
20 ELSE
21 DBMS_OUTPUT.PUT_LINE('Employee, '||V_Ename||' Manages
'||MgrRecord.Tot_Emp||' Employees.');
22 END IF;
23 EXCEPTION
24 WHEN E_ManyEmployees THEN
25 DBMS_OUTPUT.PUT_LINE('Employee, '||V_EName||' Manages Many Employees,
Chance of decreasing his Performance, Recommend for Extra Allowances or
Emoluments.');
26 END;
27 END LOOP;
28 END;
29 /
Employee, JONES Manages 2 Employees.
Employee, BLAKE Manages Many Employees, Chance of decreasing his Performance,
Recommend for Extra Allowances or Emoluments.
Employee, CLARK Manages 1 Employees.
Employee, SCOTT Manages 1 Employees.
Employee, KING Manages 3 Employees.
Employee, FORD Manages 1 Employees.
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 V_Empno Emp.Empno%TYPE := &GEmpno;
3 V_Ename Emp.Ename%TYPE;
4 BEGIN
5 SELECT Ename INTo V_Ename
6 FROM Emp
7 WHERE Empno = V_Empno;
8 EXCEPTION
9 WHEN NO_DATA_FOUND THEN
10 DBMS_OUTPUT.PUT_LINE('Sorry Data Not Found');
11 END;
12 /
Enter value for gempno: 7839
PL/SQL procedure successfully completed.
SQL> /
Enter value for gempno: 1234
Sorry Data Not Found
PL/SQL procedure successfully completed.
SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf


1 DECLARE
2 V_Empno Emp.Empno%TYPE := &GEmpno;
3 V_Ename Emp.Ename%TYPE;
4 BEGIN
5 SELECT Ename INTo V_Ename
6 FROM Emp
7 WHERE Empno = V_Empno;
8 EXCEPTION
9 WHEN NO_DATA_FOUND THEN
10 RAISE_APPLICATION_ERROR(-20220, 'Sorry Data Not Found');
11* END;
SQL> /
Enter value for gempno: 1234
DECLARE
*
ERROR at line 1:
ORA-20220: Sorry Data Not Found
ORA-06512: at line 10

SQL> cl scr
SQL> DECLARE
2 V_Deptno Dept.Deptno%TYPE := &Deptno;
3 V_TotEmp NUMBER;
4 E_InvalidDept EXCEPTION;
5 BEGIN
6 IF V_Deptno NOT IN (10, 20, 30, 40) THEN
7 RAISE E_InvalidDept;
8 ELSE
9 SELECT COUNT(*) INTO
10 V_TotEmp FROM Emp
11 WHERE Deptno = V_Deptno;
12 DBMS_OUTPUT.PUT_LINE('The Total Employees in '||V_Deptno||' are
'||V_TotEmp||'.');
13 END IF;
14 DBMS_OUTPUT.PUT_LINE('No Exception was Raised...');
15 EXCEPTION
16 WHEN E_InvalidDept THEN
17 RAISE_APPLICATION_ERROR(-20220, 'Sorry There is no Such Department...as You
requested.');
18 END;
19 /
Enter value for deptno: 30
The Total Employees in 30 are 6.
No Exception was Raised...
PL/SQL procedure successfully completed.
SQL> /
Enter value for deptno: 50
DECLARE
*
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ERROR at line 1:
ORA-20220: Sorry There is no Such Department...as You requested.
ORA-06512: at line 17

SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr
SQL> SELECT MGR, COUNT(*)
2 FROM Emp
3 GROUP BY MGR;
MGR
COUNT(*)
---------- ---------7566
2
7698
5
7782
1
7788
1
7839
3
7902
1
1
7 rows selected.
SQL> DECLARE
2 V_Ename Emp.Ename%TYPE;
3 V_Job Emp.Job%TYPE;
4 E_ManyEmployees EXCEPTION;
5 CURSOR EmpCursor IS
6 SELECT MGR, COUNT(*) Tot_Emp
7 FROM Emp
8 WHERE MGR IS NOT NULL
9 GROUP BY MGR;
10 BEGIN
11 FOR MgrRecord IN EmpCursor
12 LOOP
13
BEGIN
14
SELECT Ename, Job INTO
15
V_Ename, V_Job
16
FROM Emp
17
WHERE Empno = MgrRecord.Mgr;
18
IF MgrRecord.Tot_Emp > 3 THEN
19
RAISE E_ManyEmployees;
20
ELSE
21
DBMS_OUTPUT.PUT_LINE('Employee, '||V_Ename||' Manages
'||MgrRecord.Tot_Emp||' Employees.');
22
END IF;
23
EXCEPTION
24
WHEN E_ManyEmployees THEN
25
DBMS_OUTPUT.PUT_LINE('Employee, '||V_EName||' Manages Many Employees,
Chance of decreasing his Performance, Recommend for Extra Allowances or
Emoluments.');
26
END;
27 END LOOP;
28 END;
29 /
Employee, JONES Manages 2 Employees.
Employee, BLAKE Manages Many Employees, Chance of decreasing his Performance,
Recommend for Extra Allowances or Emoluments.
Employee, CLARK Manages 1 Employees.
Employee, SCOTT Manages 1 Employees.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Employee, KING Manages 3 Employees.


Employee, FORD Manages 1 Employees.
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DECLARE
2 V_TestVariable CHAR(5) := '&String';
3 BEGIN
4 DBMS_OUTPUT.PUT_LINE ('This is A Test Line.');
5 DBMS_OUTPUT.PUT_LINE(V_TestVariable);
6 EXCEPTION
7 WHEN INVALID_NUMBER OR VALUE_ERROR THEN
8 DBMS_OUTPUT.PUT_LINE('An Error Raised.');
9 WHEN OTHERS THEN
10 DBMS_OUTPUT.PUT_LINE('Some Error, Please Check');
11 END;
12 /
Enter value for string: Snake
This is A Test Line.
Snake
PL/SQL procedure successfully completed.
SQL> /
Enter value for string: Sample
DECLARE
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at line 2

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18*

BEGIN
DECLARE
V_TestVariable CHAR(5) := '&String';
BEGIN
DBMS_OUTPUT.PUT_LINE ('This is A Test Line.');
DBMS_OUTPUT.PUT_LINE(V_TestVariable);
EXCEPTION
WHEN INVALID_NUMBER OR VALUE_ERROR THEN
DBMS_OUTPUT.PUT_LINE('An Error Raised.');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Some Error, Please Check');
END;
EXCEPTION
WHEN INVALID_NUMBER OR VALUE_ERROR THEN
DBMS_OUTPUT.PUT_LINE('An Error Raised.');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Some Error, Please Check');
END;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
Enter value for string: Snake
This is A Test Line.
Snake
PL/SQL procedure successfully completed.
SQL> /
Enter value for string: Sample
An Error Raised.
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1 BEGIN
2
DECLARE
3
V_TestVariable CHAR(5) := '&String';
4
BEGIN
5
DBMS_OUTPUT.PUT_LINE ('This is A Test Line.');
6
DBMS_OUTPUT.PUT_LINE(V_TestVariable);
7
EXCEPTION
8
WHEN INVALID_NUMBER OR VALUE_ERROR THEN
9
DBMS_OUTPUT.PUT_LINE('An Error Raised.');
10
WHEN OTHERS THEN
11
DBMS_OUTPUT.PUT_LINE('Some Error, Please Check');
12
END;
13 EXCEPTION
14 WHEN INVALID_NUMBER OR VALUE_ERROR THEN
15 DBMS_OUTPUT.PUT_LINE('An Error Raised.');
16 WHEN OTHERS THEN
17 DBMS_OUTPUT.PUT_LINE('Some Error, Please Check');
18* END;
SQL> /
Enter value for string: Sample
An Error Raised.
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10

BEGIN
DECLARE
V_TestVariable CHAR(5) := '&String';
BEGIN
DBMS_OUTPUT.PUT_LINE ('This is A Test Line.');
DBMS_OUTPUT.PUT_LINE(V_TestVariable);
EXCEPTION
WHEN INVALID_NUMBER OR VALUE_ERROR THEN
DBMS_OUTPUT.PUT_LINE('An Error Raised.');
WHEN OTHERS THEN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

11
DBMS_OUTPUT.PUT_LINE('Some Error, Please Check');
12
END;
13 EXCEPTION
14 WHEN INVALID_NUMBER OR VALUE_ERROR THEN
15 RAISE_APPLICATION_ERROR(-20001, 'The Actual Size of The Memory Allocated is
'||VSIZE(V_TestVariable)||' Bytes, You Are Trying To Occupy
'||LENGTH(V_TestVariable)||' Characters...');
16 WHEN OTHERS THEN
17 DBMS_OUTPUT.PUT_LINE('Some Error, Please Check');
18* END;
SQL> /
Enter value for string: Snake
RAISE_APPLICATION_ERROR(-20001, 'The Actual Size of The Memory Allocated is
'||VSIZE(V_TestVariable)||' Bytes, You Are Trying To Occupy
'||LENGTH(V_TestVariable)||' Characters...');
*
ERROR at line 15:
ORA-06550: line 15, column 86:
PLS-00201: identifier 'V_TESTVARIABLE' must be declared
ORA-06550: line 15, column 1:
PL/SQL: Statement ignored

SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_INTestVariable CHAR(5);
3 BEGIN
4
DECLARE
5
V_TestVariable CHAR(5) := '&String';
6
BEGIN
7
DBMS_OUTPUT.PUT_LINE ('This is A Test Line.');
8
DBMS_OUTPUT.PUT_LINE(V_TestVariable);
9
V_INTestVariable := V_TestVariable;
10
EXCEPTION
11
WHEN INVALID_NUMBER OR VALUE_ERROR THEN
12
DBMS_OUTPUT.PUT_LINE('An Error Raised.');
13
WHEN OTHERS THEN
14
DBMS_OUTPUT.PUT_LINE('Some Error, Please Check');
15
END;
16 EXCEPTION
17 WHEN INVALID_NUMBER OR VALUE_ERROR THEN
18 RAISE_APPLICATION_ERROR(-20001, 'The Actual Size of The Memory Allocated is
'||VSIZE(V_INTestVariable)||' Bytes, You Are Trying To Occupy 6 Characters...');
19 WHEN OTHERS THEN
20 DBMS_OUTPUT.PUT_LINE('Some Error, Please Check');
21* END;
SQL> /
Enter value for string: Snake
RAISE_APPLICATION_ERROR(-20001, 'The Actual Size of The Memory Allocated is
'||VSIZE(V_INTestVariable)||' Bytes, You Are Trying To Occupy 6 Characters...');
*
ERROR at line 18:
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ORA-06550: line 18, column 80:


PLS-00204: function or pseudo-column 'VSIZE' may be used inside a SQL statement
only
ORA-06550: line 18, column 1:
PL/SQL: Statement ignored

SQL> EDED
SP2-0042: unknown command "EDED" - rest of line ignored.
SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_INTestVariable CHAR(5);
3 V_Size NUMBER;
4 V_Message VARCHAR2(200);
5 BEGIN
6
DECLARE
7
V_TestVariable CHAR(5) := '&String';
8
BEGIN
9
DBMS_OUTPUT.PUT_LINE ('This is A Test Line.');
10
DBMS_OUTPUT.PUT_LINE(V_TestVariable);
11
V_INTestVariable := V_TestVariable;
12
EXCEPTION
13
WHEN INVALID_NUMBER OR VALUE_ERROR THEN
14
DBMS_OUTPUT.PUT_LINE('An Error Raised.');
15
WHEN OTHERS THEN
16
DBMS_OUTPUT.PUT_LINE('Some Error, Please Check');
17
END;
18 EXCEPTION
19 WHEN INVALID_NUMBER OR VALUE_ERROR THEN
20 V_Size := VSIZE(V_INTestVariable);
21 V_Message := 'The Actual Size of The Memory Allocated is '||V_Size||' Bytes,
You Are Trying To Occupy 6 Characters...';
22 RAISE_APPLICATION_ERROR(-20001, V_Size);
23 WHEN OTHERS THEN
24 DBMS_OUTPUT.PUT_LINE('Some Error, Please Check');
25* END;
SQL> /
Enter value for string: Snake
V_Size := VSIZE(V_INTestVariable);
*
ERROR at line 20:
ORA-06550: line 20, column 11:
PLS-00204: function or pseudo-column 'VSIZE' may be used inside a SQL statement
only
ORA-06550: line 20, column 1:
PL/SQL: Statement ignored

SQL> ED
Wrote file afiedt.buf
1
2

DECLARE
V_INTestVariable CHAR(5);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

3 V_Size NUMBER;
4 V_Message VARCHAR2(200);
5 BEGIN
6
DECLARE
7
V_TestVariable CHAR(5) := '&String';
8
BEGIN
9
DBMS_OUTPUT.PUT_LINE ('This is A Test Line.');
10
DBMS_OUTPUT.PUT_LINE(V_TestVariable);
11
V_INTestVariable := V_TestVariable;
12
EXCEPTION
13
WHEN INVALID_NUMBER OR VALUE_ERROR THEN
14
DBMS_OUTPUT.PUT_LINE('An Error Raised.');
15
WHEN OTHERS THEN
16
DBMS_OUTPUT.PUT_LINE('Some Error, Please Check');
17
END;
18 EXCEPTION
19 WHEN INVALID_NUMBER OR VALUE_ERROR THEN
20 SELECT VSIZE(V_INTestVariable) INTO V_Size
21 FROM DUAL;
22 V_Message := 'The Actual Size of The Memory Allocated is '||V_Size||' Bytes,
You Are Trying To Occupy 6 Characters...';
23 RAISE_APPLICATION_ERROR(-20001, V_Size);
24 WHEN OTHERS THEN
25 DBMS_OUTPUT.PUT_LINE('Some Error, Please Check');
26* END;
SQL> /
Enter value for string: Snake
This is A Test Line.
Snake
PL/SQL procedure successfully completed.
SQL> /
Enter value for string: Sample
DECLARE
*
ERROR at line 1:
ORA-20001:
ORA-06512: at line 23

SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11

DECLARE
V_Deptno Dept.Deptno%TYPE := &Deptno;
V_TotEmp NUMBER;
E_InvalidDept EXCEPTION;
BEGIN
IF V_Deptno NOT IN (10, 20, 30, 40) THEN
RAISE E_InvalidDept;
ELSE
SELECT COUNT(*) INTO
V_TotEmp FROM Emp
WHERE Deptno = V_Deptno;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

12 DBMS_OUTPUT.PUT_LINE('The Total Employees in '||V_Deptno||' are


'||V_TotEmp||'.');
13 END IF;
14 DBMS_OUTPUT.PUT_LINE('No Exception was Raised...');
15 EXCEPTION
16 WHEN E_InvalidDept THEN
17 RAISE_APPLICATION_ERROR(-20220, 'Sorry There is no Such Department...as You
requested.');
18 END;
19 /
Enter value for deptno: 20
The Total Employees in 20 are 5.
No Exception was Raised...
PL/SQL procedure successfully completed.
SQL> /
Enter value for deptno: 50
DECLARE
*
ERROR at line 1:
ORA-20220: Sorry There is no Such Department...as You requested.
ORA-06512: at line 17

SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

DECLARE
TYPE ValidateInsertValues
IS
RECORD
(
ValidateJob
NUMBER(2),
ValidateDeptno
NUMBER(2),
ValidateManager
NUMBER(2),
SalaryLess
NUMBER(4),
SalaryMore
NUMBER(6),
CurrentDate
DATE
);
ValidateRecordValues
ValidateInsertValues;
V_Empno
Emp.Empno%TYPE := &Empno;
V_Ename
Emp.Ename%TYPE := '&Ename';
V_Job
Emp.Job%TYPE := '&Job';
V_Sal
Emp.Sal%TYPE := &Salary;
V_Comm
Emp.Comm%TYPE := &Commission;
V_Deptno
Emp.Deptno%TYPE := &Deptno;
V_MGR
Emp.MGR%TYPE := &Manager;
V_HireDate
Emp.HireDate%TYPE := '&HireDate';
E_NotNULLViolation EXCEPTION;
PRAGMA EXCEPTION_INIT(E_NotNULLViolation, -1400);
E_CheckViolation
EXCEPTION;
PRAGMA EXCEPTION_INIT(E_CheckViolation, -2290);
BEGIN
ValidateRecordValues.SalaryLess := 500;
ValidateRecordValues.SalaryMore := 150000;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

29 SELECT
30 SYSDATE
31 INTO
32 ValidateRecordValues.CurrentDate
33 FROM DUAL;
34 ValidateRecordValues.CurrentDate :=
TO_DATE(TO_CHAR(ValidateRecordValues.CurrentDate, 'DD-MON-YY'), 'DD-MON-YY');
35 SELECT
36 COUNT(*)
37 INTO
38 ValidateRecordValues.ValidateJob
39 FROM Emp
40 WHERE Job = V_Job;
41 SELECT
42 COUNT(*)
43 INTO
44 ValidateRecordValues.ValidateDeptno
45 FROM Dept
46 WHERE Deptno = V_Deptno;
47 SELECT
48 COUNT(*)
49 INTO
50 ValidateRecordValues.ValidateManager
51 FROM Emp
52 WHERE MGR = V_MGR;
53 IF ValidateRecordValues.ValidateJob = 0
54 THEN
55
RAISE_APPLICATION_ERROR(-20100, 'Sorry, The Job To be Inserted is Not
Acceptable.');
56
ROLLBACK;
57 ELSIF ValidateRecordValues.ValidateDeptno = 0
58 THEN
59
RAISE_APPLICATION_ERROR(-20101, 'Sorry, The Department Number To be
Inserted is Not Acceptable.');
60
ROLLBACK;
61 ELSIF ValidateRecordValues.ValidateManager = 0
62 THEN
63
RAISE_APPLICATION_ERROR(-20102, 'Sorry, The Manager Number To be Inserted
is Not Acceptable.');
64
ROLLBACK;
65 END IF;
66 IF V_Sal < ValidateRecordValues.SalaryLess
67 THEN
68
RAISE_APPLICATION_ERROR(-20103, 'Sorry, The Salary Value is Less Than
Expected, Hence Insert is Not Acceptable.');
69
ROLLBACK;
70 ELSIF V_Sal > ValidateRecordValues.SalaryMore
71 THEN
72
RAISE_APPLICATION_ERROR(-20104, 'Sorry, The Salary Value is More Than
Expected, Hence Insert is Not Acceptable.');
73
ROLLBACK;
74 END IF;
75 IF ValidateRecordValues.CurrentDate <> V_HireDate
76 THEN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

77
RAISE_APPLICATION_ERROR(-20105, 'Sorry, The Hire Date Value is Above The
System Requirements, Hence Insert is Not Acceptable.');
78
ROLLBACK;
79 END IF;
80 INSERT INTO Emp(Empno, Ename, Job, Sal, Comm, Deptno, MGR, HireDate)
81 VALUES(V_Empno, V_Ename, V_Job, V_Sal, V_Comm, V_Deptno, V_MGR,
V_HireDate);
82 COMMIT;
83 EXCEPTION
84 WHEN DUP_VAL_ON_INDEX THEN
85 DBMS_OUTPUT.PUT_LINE('Sorry, The Field With Unique Value is Getting
Duplicated.');
86 ROLLBACK;
87 WHEN E_CheckViolation THEN
88 RAISE_APPLICATION_ERROR(-20106, 'A Field with Check Constraint is not
Attended Properly, Please Check Properly.');
89 ROLLBACK;
90 WHEN E_NotNULLViolation THEN
91 RAISE_APPLICATION_ERROR(-20107, 'A Field which Cannot be NULL, is not
attended, Please Check Properly.');
92 ROLLBACK;
93 END;
94 /
Enter value for empno: 7839
Enter value for ename: SAMPLE
Enter value for job: CLERK
Enter value for salary: 2500
Enter value for commission: NULL
Enter value for deptno: 30
Enter value for manager: 7566
Enter value for hiredate: 30-AUG-10
Sorry, The Field With Unique Value is Getting Duplicated.
PL/SQL procedure successfully completed.
SQL> /
Enter value for empno: NULL
Enter value for ename: SAMPLE
Enter value for job: CLERK
Enter value for salary: 2000
Enter value for commission: NULL
Enter value for deptno: 30
Enter value for manager: 7566
Enter value for hiredate: 30-AUG-10
DECLARE
*
ERROR at line 1:
ORA-20107: A Field which Cannot be NULL, is not attended, Please Check
Properly.
ORA-06512: at line 91

SQL> /
Enter value for empno: 1234
Enter value for ename: Sample
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Enter value for job: SRCLERK


Enter value for salary: 2000
Enter value for commission: NULL
Enter value for deptno: 30
Enter value for manager: 7566
Enter value for hiredate: 30-AUG-10
DECLARE
*
ERROR at line 1:
ORA-20100: Sorry, The Job To be Inserted is Not Acceptable.
ORA-06512: at line 55

SQL> cl scr
SQL> <<EmpSearch>>
2 DECLARE
3 V-Empno Emp.Empno%TYPE := &PEmpno;
4 V_Ename Emp.Ename%TYPE;
5 BEGIN
6 SELECT Ename INTO V_Ename
7 FROM Emp
8 WHERE Empno = V_Empno;
9 DBMS_OUTPUT.PUT_LINE(V_Ename);
10 EXCEPTION
11 WHEN NO_DATA_FOUND THEN
12 DBMS_OUTPUT.PUT_LINE('Sorry!');
13 END EmpSearch;
14 /
Enter value for pempno: 7839
V-Empno Emp.Empno%TYPE := 7839;
*
ERROR at line 3:
ORA-06550: line 3, column 2:
PLS-00103: Encountered the symbol "-" when expecting one of the following:
constant exception <an identifier>
<a double-quoted delimited-identifier> table LONG_ double ref
char time timestamp interval date binary national character
nchar

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11

<<EmpSearch>>
DECLARE
V_Empno Emp.Empno%TYPE := &PEmpno;
V_Ename Emp.Ename%TYPE;
BEGIN
SELECT Ename INTO V_Ename
FROM Emp
WHERE Empno = V_Empno;
DBMS_OUTPUT.PUT_LINE(V_Ename);
EXCEPTION
WHEN NO_DATA_FOUND THEN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

12 DBMS_OUTPUT.PUT_LINE('Sorry!');
13* END EmpSearch;
SQL> /
Enter value for pempno: 7839
KING
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13
14*
SQL>

CREATE OR REPLACE PROCEDURE


EmpSearch(PEmpno Emp.Empno%TYPE)
IS
V_Empno Emp.Empno%TYPE := PEmpno;
V_Ename Emp.Ename%TYPE;
BEGIN
SELECT Ename INTO V_Ename
FROM Emp
WHERE Empno = V_Empno;
DBMS_OUTPUT.PUT_LINE(V_Ename);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Sorry!');
END EmpSearch;
/

Procedure created.
SQL> EXEC EmpSearch(7839);
KING
PL/SQL procedure successfully completed.
SQL> SPOOL OFF
SQL> cl scr
SQL> DESC USER_OBJECTS
Name
Null?
----------------------------------------- -------OBJECT_NAME
SUBOBJECT_NAME
OBJECT_ID
DATA_OBJECT_ID
OBJECT_TYPE
CREATED
LAST_DDL_TIME
TIMESTAMP
STATUS
TEMPORARY
GENERATED
SECONDARY

Type
---------------------------VARCHAR2(128)
VARCHAR2(30)
NUMBER
NUMBER
VARCHAR2(19)
DATE
DATE
VARCHAR2(19)
VARCHAR2(7)
VARCHAR2(1)
VARCHAR2(1)
VARCHAR2(1)

SQL> SELECT OBJECT_NAME, OBJECT_TYPE


2 FROM USER_OBJECTS;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

OBJECT_NAME
-------------------------------------------------------------------------------OBJECT_TYPE
------------------ORDID
SEQUENCE
PRODID
SEQUENCE
CUSTID
SEQUENCE

OBJECT_NAME
-------------------------------------------------------------------------------OBJECT_TYPE
------------------MESSAGES
TABLE
EMPSEARCH
PROCEDURE
EMPLOYEE
SYNONYM

OBJECT_NAME
-------------------------------------------------------------------------------OBJECT_TYPE
------------------EMPENAME
VIEW
EMPLOYEENAMES
SYNONYM
EMPENAMEJOB
VIEW

OBJECT_NAME
-------------------------------------------------------------------------------OBJECT_TYPE
------------------SAMPLESEQ01
SEQUENCE
EMPNAMEJOBS
SYNONYM
EMPENAMES
VIEW
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

OBJECT_NAME
-------------------------------------------------------------------------------OBJECT_TYPE
------------------SAMPLESEQ02
SEQUENCE
NAMEATLEASTWITHONEA
SYNONYM
SAMPLESEQ03
SEQUENCE

OBJECT_NAME
-------------------------------------------------------------------------------OBJECT_TYPE
------------------EMPENAMES01
VIEW
SAMPLESEQ04
SEQUENCE
NAMESTARTINGWITHS
SYNONYM

OBJECT_NAME
-------------------------------------------------------------------------------OBJECT_TYPE
------------------SAMPLESEQ05
SEQUENCE
MYAUDIT
TABLE
SAMPLESEQ06
SEQUENCE

OBJECT_NAME
-------------------------------------------------------------------------------OBJECT_TYPE
------------------TRAPPEDMESSAGES
TABLE
DEPT
TABLE
DEPT_PRIMARY_KEY
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

INDEX

OBJECT_NAME
-------------------------------------------------------------------------------OBJECT_TYPE
------------------EMP
TABLE
SAMPLESEQ07
SEQUENCE
EMP_PRIMARY_KEY
INDEX

OBJECT_NAME
-------------------------------------------------------------------------------OBJECT_TYPE
------------------BONUS
TABLE
SALGRADE
TABLE
DUMMY
TABLE

OBJECT_NAME
-------------------------------------------------------------------------------OBJECT_TYPE
------------------CUSTOMER
TABLE
CUSTOMER_PRIMARY_KEY
INDEX
ORD
TABLE

OBJECT_NAME
-------------------------------------------------------------------------------OBJECT_TYPE
------------------ORD_PRIMARY_KEY
INDEX
ITEM
TABLE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ITEM_PRIMARY_KEY
INDEX

OBJECT_NAME
-------------------------------------------------------------------------------OBJECT_TYPE
------------------PRODUCT
TABLE
PRODUCT_PRIMARY_KEY
INDEX
PRICE
TABLE

OBJECT_NAME
-------------------------------------------------------------------------------OBJECT_TYPE
------------------PRICE_INDEX
INDEX
SALES
VIEW

41 rows selected.
SQL> cl scr
SQL> SET SERVEROUTPUT ON
SQL> SET VERIFY OFF
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14

CREATE OR REPLACE PROCEDURE


MyBonus
AS
CURSOR DeptCursor IS
SELECT Deptno FROm Dept;
BEGIN
FOR R_GroupBonus IN DeptCursor LOOP
UPDATE Emp
SET Sal = Sal * 0.95
WHERE Deptno = R_GroupBonus.DeptNo;
DBMS_OUTPUT.PUT_LINe('The Bonus Information is '||R_GroupBonus.Deptno);
END LOOP;
END MyBonus;
/

Procedure created.
SQL> COLUMN Empno FORMAT 9999
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL>
SQL>
SQL>
SQL>
SQL>
2
3

COLUMN Sal FORMAT 9999


COLUMN Comm FORMAT 9999
COLUMN MGR FORMAT 9999
COLUMN Sal FORMAT 999999
SELECT Ename, Sal, Deptno
FROM Emp
ORDER BY Deptno;

ENAME
SAL
DEPTNO
---------- ------- ---------KING
5000
10
CLARK
2450
10
MILLER
1300
10
JONES
2975
20
SCOTT
3000
20
ADAMS
1100
20
SMITH
800
20
FORD
3000
20
BLAKE
2850
30
MARTIN
1250
30
ALLEN
1600
30
ENAME
SAL
DEPTNO
---------- ------- ---------TURNER
1500
30
JAMES
950
30
WARD
1250
30
14 rows selected.
SQL> cl scr
SQL> DESC USER_OBJECTS
Name
Null?
----------------------------------------- -------OBJECT_NAME
SUBOBJECT_NAME
OBJECT_ID
DATA_OBJECT_ID
OBJECT_TYPE
CREATED
LAST_DDL_TIME
TIMESTAMP
STATUS
TEMPORARY
GENERATED
SECONDARY
SQL>
SQL>
SQL>
SQL>
2
3

Type
---------------------------VARCHAR2(128)
VARCHAR2(30)
NUMBER
NUMBER
VARCHAR2(19)
DATE
DATE
VARCHAR2(19)
VARCHAR2(7)
VARCHAR2(1)
VARCHAR2(1)
VARCHAR2(1)

COLUMN OBJECT_NAME FORMAT A15


COLUMN OBJECT_TYPE FORMAT A15
COLUMN STATUS FORMAT A10
SELECT OBJECT_NAME, OBJECT_TYPE, STATUS
FROM USER_OBJECTS
WHERE OBJECT_TYPE = 'PROCEDURE';
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

OBJECT_NAME
--------------EMPSEARCH
MYBONUS

OBJECT_TYPE
--------------PROCEDURE
PROCEDURE

STATUS
---------INVALID
VALID

SQL> ALTER PROCEDURE EMPSEARCH COMPILE;


Procedure altered.
SQL> SELECT OBJECT_NAME, OBJECT_TYPE, STATUS
2 FROM USER_OBJECTS
3 WHERE OBJECT_TYPE = 'PROCEDURE';
OBJECT_NAME
--------------EMPSEARCH
MYBONUS

OBJECT_TYPE
--------------PROCEDURE
PROCEDURE

STATUS
---------VALID
VALID

SQL> BEGIN
2 EmpSearch(&GEmpno);
3 END;
4 /
Enter value for gempno: 7839
KING
PL/SQL procedure successfully completed.
SQL> /
Enter value for gempno: 7654
MARTIN
PL/SQL procedure successfully completed.
SQL> /
Enter value for gempno: 1234
Sorry!
PL/SQL procedure successfully completed.
SQL> EXEC EmpSearch(&GEmpno);
Enter value for gempno: 7839
KING
PL/SQL procedure successfully completed.
SQL> /
Enter value for gempno: 7654
MARTIN
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> SELECT OBJECT_NAME, OBJECT_TYPE, STATUS
2 FROM USER_OBJECTS
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

WHERE OBJECT_TYPE = 'PROCEDURE';

OBJECT_NAME
--------------EMPSEARCH
MYBONUS

OBJECT_TYPE
--------------PROCEDURE
PROCEDURE

STATUS
---------VALID
VALID

SQL> SELECT Ename, Sal


2 FROM Emp
3 ORDER BY Deptno;
ENAME
SAL
---------- ------KING
5000
CLARK
2450
MILLER
1300
JONES
2975
SCOTT
3000
ADAMS
1100
SMITH
800
FORD
3000
BLAKE
2850
MARTIN
1250
ALLEN
1600
ENAME
SAL
---------- ------TURNER
1500
JAMES
950
WARD
1250
14 rows selected.
SQL> EXEC
The Bonus
The Bonus
The Bonus
The Bonus

MYBONUS
Information
Information
Information
Information

is
is
is
is

10
20
30
40

PL/SQL procedure successfully completed.


SQL> SELECT Ename, Sal
2 FROM Emp
3 ORDER BY Deptno;
ENAME
SAL
---------- ------KING
4750
CLARK
2328
MILLER
1235
JONES
2826
SCOTT
2850
ADAMS
1045
SMITH
760
FORD
2850
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

BLAKE
MARTIN
ALLEN

2708
1188
1520

ENAME
SAL
---------- ------TURNER
1425
JAMES
903
WARD
1188
14 rows selected.
SQL> cl scr
SQL> DESC USER_SOURCE
Name
Null?
----------------------------------------- -------NAME
TYPE
LINE
TEXT
SQL>
SQL>
2
3

COLUMN TEXT FORMAT A40


SELECT TO_CHAR(Line, 99)||'>', Text
FROM USER_SOURCE
WHERE NAME = 'EMPSEARCH';

TO_C
---1>
2>
3>
4>
5>
6>
7>
8>
9>
10>
11>

TEXT
---------------------------------------PROCEDURE
EmpSearch(PEmpno Emp.Empno%TYPE)
IS
V_Empno Emp.Empno%TYPE := PEmpno;
V_Ename Emp.Ename%TYPE;
BEGIN
SELECT Ename INTO V_Ename
FROM Emp
WHERE Empno = V_Empno;
DBMS_OUTPUT.PUT_LINE(V_Ename);
EXCEPTION

TO_C
---12>
13>
14>

TEXT
---------------------------------------WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Sorry!');
END EmpSearch;

Type
---------------------------VARCHAR2(30)
VARCHAR2(12)
NUMBER
VARCHAR2(4000)

14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT TO_CHAR(Line, 99)||'>', Text
2 FROM USER_SOURCE
3* WHERE NAME = 'MYBONUS'
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
TO_C
---1>
2>
3>
4>
5>
6>
7>
8>
9>
10>
11>

TEXT
---------------------------------------PROCEDURE
MyBonus
AS
CURSOR DeptCursor IS
SELECT Deptno FROm Dept;
BEGIN
FOR R_GroupBonus IN DeptCursor LOOP
UPDATE Emp
SET Sal = Sal * 0.95
WHERE Deptno = R_GroupBonus.DeptNo;
DBMS_OUTPUT.PUT_LINe('The Bonus Informat

TO_C TEXT
---- ---------------------------------------ion is '||R_GroupBonus.Deptno);
12> END LOOP;
13> END MyBonus;
13 rows selected.
SQL> ROLLBACK:
2
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> SELECT Ename, Sal
2 FROM Emp;
ENAME
SAL
---------- ------KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
ALLEN
1600
TURNER
1500
JAMES
950
WARD
1250
FORD
3000
SMITH
800
ENAME
SAL
---------- ------SCOTT
3000
ADAMS
1100
MILLER
1300
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

14 rows selected.
SQL> cl scr
SQL> CREATE OR REPLACE PROCEDURE
2 EmpBonus
3 AS
4 CURSOR DeptCursor IS
5 SELECT Deptno FROM Dept;
6 BEGIN
7 FOR R_GroupBonus IN DeptCursor
8 LOOP
9
DECLARE
10
E_JobNotFound EXCEPTION;
11
CURSOR EmpCursor IS
12
SELECT *
13
FROM Emp
14
WHERE Deptno = R_GroupBonus.Deptno;
15
BEGIN
16
FOR R_EmpCursor IN EmpCursor
17
LOOP
18
IF R_EmpCursor.Job = 'PRESIDENT'
19
THEN
20
UPDATE Emp
21
SET Sal = Sal + (Sal * 0.40)
22
WHERE Empno = R_EmpCursor.Empno;
23
DBMS_OUTPUT.PUT_LINE('The Job For Updation is '||R_EmpCursor.Job);
24
DBMS_OUTPUT.PUT_LINE('Old Sal : '||R_EmpCursor.Sal);
25
DBMS_OUTPUT.PUT_LINE('Increament Added : '||((R_EmpCursor.Sal +
(R_EmpCursor.Sal * 0.40)) - (R_EmpCursor.Sal)));
26
DBMS_OUTPUT.PUT_LINE('The Salary With Increment is : '||(R_EmpCursor.Sal +
(R_EmpCursor.Sal * 0.40)));
27
ELSE
28
IF R_EmpCursor.Job = 'MANAGER'
29
THEN
30
UPDATE Emp
31
SET Sal = Sal + (Sal * 0.35)
32
WHERE Empno = R_EmpCursor.Empno;
33
DBMS_OUTPUT.PUT_LINE('The Job For Updation is '||R_EmpCursor.Job);
34
DBMS_OUTPUT.PUT_LINE('Old Sal : '||R_EmpCursor.Sal);
35
DBMS_OUTPUT.PUT_LINE('Increament Added : '||((R_EmpCursor.Sal +
(R_EmpCursor.Sal * 0.40)) - (R_EmpCursor.Sal)));
36
DBMS_OUTPUT.PUT_LINE('The Salary With Increment is :
'||(R_EmpCursor.Sal + (R_EmpCursor.Sal * 0.40)));
37
IF R_EmpCursor.Job = 'ANALYST'
38
THEN
39
UPDATE Emp
40
SET Sal = Sal + (Sal * 0.30)
41
WHERE Empno = R_EmpCursor.Empno;
42
DBMS_OUTPUT.PUT_LINE('The Job For Updation is
'||R_EmpCursor.Job);
43
DBMS_OUTPUT.PUT_LINE('Old Sal : '||R_EmpCursor.Sal);
44
DBMS_OUTPUT.PUT_LINE('Increament Added : '||((R_EmpCursor.Sal
+ (R_EmpCursor.Sal * 0.40)) - (R_EmpCursor.Sal)));
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

45
DBMS_OUTPUT.PUT_LINE('The Salary With Increment is :
'||(R_EmpCursor.Sal + (R_EmpCursor.Sal * 0.40)));
46
ELSE
47
IF R_EmpCursor.Job = 'SALESMAN'
48
THEN
49
UPDATE Emp
50
SET Sal = Sal + (Sal * 0.25)
51
WHERE Empno = R_EmpCursor.Empno;
52
DBMS_OUTPUT.PUT_LINE('The Job For Updation is
'||R_EmpCursor.Job);
53
DBMS_OUTPUT.PUT_LINE('Old Sal : '||R_EmpCursor.Sal);
54
DBMS_OUTPUT.PUT_LINE('Increament Added :
'||((R_EmpCursor.Sal + (R_EmpCursor.Sal * 0.40)) - (R_EmpCursor.Sal)));
55
DBMS_OUTPUT.PUT_LINE('The Salary With Increment is :
'||(R_EmpCursor.Sal + (R_EmpCursor.Sal * 0.40)));
56
ELSE
57
IF R_EmpCursor.Job = 'CLERK'
58
THEN
59
UPDATE Emp
60
SET Sal = Sal + (Sal * 0.20)
61
WHERE Empno = R_EmpCursor.Empno;
62
ELSE
63
DBMS_OUTPUT.PUT_LINE('The Job For Updation is
'||R_EmpCursor.Job);
64
DBMS_OUTPUT.PUT_LINE('Old Sal :
'||R_EmpCursor.Sal);
65
DBMS_OUTPUT.PUT_LINE('Increament Added :
'||((R_EmpCursor.Sal + (R_EmpCursor.Sal * 0.40)) - (R_EmpCursor.Sal)));
66
DBMS_OUTPUT.PUT_LINE('The Salary With Increment
is : '||(R_EmpCursor.Sal + (R_EmpCursor.Sal * 0.40)));
67
END IF;
68
END IF;
69
END IF;
70
END IF;
71
END IF;
72
END LOOP;
73
EXCEPTION
74
WHEN E_JobNotFound THEN
75
DBMS_OUTPUT.PUT_LINE('The Respective Job is Not Found...Please Verify!');
76
END;
77 DBMS_OUTPUT.PUT_LINE('The Bonus Information is '||R_GroupBonus.Deptno);
78 END LOOP;
79 END EmpBonus;
80 /
Procedure created.
SQL> EXEC EmpBonus;
The Job For Updation is PRESIDENT
Old Sal : 5000
Increament Added : 2000
The Salary With Increment is : 7000
The Job For Updation is MANAGER
Old Sal : 2450
Increament Added : 980
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

The Salary With Increment is : 3430


The Job For Updation is MANAGER
Old Sal : 2450
Increament Added : 980
The Salary With Increment is : 3430
The Bonus Information is 10
The Job For Updation is MANAGER
Old Sal : 2975
Increament Added : 1190
The Salary With Increment is : 4165
The Job For Updation is MANAGER
Old Sal : 2975
Increament Added : 1190
The Salary With Increment is : 4165
The Bonus Information is 20
The Job For Updation is MANAGER
Old Sal : 2850
Increament Added : 1140
The Salary With Increment is : 3990
The Job For Updation is MANAGER
Old Sal : 2850
Increament Added : 1140
The Salary With Increment is : 3990
The Bonus Information is 30
The Bonus Information is 40
PL/SQL procedure successfully completed.
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

CREATE OR REPLACE PROCEDURE


EmpBonus
AS
CURSOR DeptCursor IS
SELECT Deptno FROM Dept;
BEGIN
FOR R_GroupBonus IN DeptCursor
LOOP
DECLARE
E_JobNotFound EXCEPTION;
CURSOR EmpCursor IS
SELECT *
FROM Emp
WHERE Deptno = R_GroupBonus.Deptno;
BEGIN
FOR R_EmpCursor IN EmpCursor
LOOP
IF R_EmpCursor.Job = 'PRESIDENT'
THEN
UPDATE Emp
SET Sal = Sal + (Sal * 0.40)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

22
WHERE Empno = R_EmpCursor.Empno;
23
DBMS_OUTPUT.PUT_LINE('The Job For Updation is '||R_EmpCursor.Job);
24
DBMS_OUTPUT.PUT_LINE('Old Sal : '||R_EmpCursor.Sal);
25
DBMS_OUTPUT.PUT_LINE('Increament Added : '||((R_EmpCursor.Sal +
(R_EmpCursor.Sal * 0.40)) - (R_EmpCursor.Sal)));
26
DBMS_OUTPUT.PUT_LINE('The Salary With Increment is : '||(R_EmpCursor.Sal +
(R_EmpCursor.Sal * 0.40)));
27
ELSE
28
IF R_EmpCursor.Job = 'MANAGER'
29
THEN
30
UPDATE Emp
31
SET Sal = Sal + (Sal * 0.35)
32
WHERE Empno = R_EmpCursor.Empno;
33
DBMS_OUTPUT.PUT_LINE('The Job For Updation is '||R_EmpCursor.Job);
34
DBMS_OUTPUT.PUT_LINE('Old Sal : '||R_EmpCursor.Sal);
35
DBMS_OUTPUT.PUT_LINE('Increament Added : '||((R_EmpCursor.Sal +
(R_EmpCursor.Sal * 0.40)) - (R_EmpCursor.Sal)));
36
DBMS_OUTPUT.PUT_LINE('The Salary With Increment is :
'||(R_EmpCursor.Sal + (R_EmpCursor.Sal * 0.40)));
37
IF R_EmpCursor.Job = 'ANALYST'
38
THEN
39
UPDATE Emp
40
SET Sal = Sal + (Sal * 0.30)
41
WHERE Empno = R_EmpCursor.Empno;
42
DBMS_OUTPUT.PUT_LINE('The Job For Updation is
'||R_EmpCursor.Job);
43
DBMS_OUTPUT.PUT_LINE('Old Sal : '||R_EmpCursor.Sal);
44
DBMS_OUTPUT.PUT_LINE('Increament Added : '||((R_EmpCursor.Sal
+ (R_EmpCursor.Sal * 0.40)) - (R_EmpCursor.Sal)));
45
DBMS_OUTPUT.PUT_LINE('The Salary With Increment is :
'||(R_EmpCursor.Sal + (R_EmpCursor.Sal * 0.40)));
46
ELSE
47
IF R_EmpCursor.Job = 'SALESMAN'
48
THEN
49
UPDATE Emp
50
SET Sal = Sal + (Sal * 0.25)
51
WHERE Empno = R_EmpCursor.Empno;
52
DBMS_OUTPUT.PUT_LINE('The Job For Updation is
'||R_EmpCursor.Job);
53
DBMS_OUTPUT.PUT_LINE('Old Sal : '||R_EmpCursor.Sal);
54
DBMS_OUTPUT.PUT_LINE('Increament Added :
'||((R_EmpCursor.Sal + (R_EmpCursor.Sal * 0.40)) - (R_EmpCursor.Sal)));
55
DBMS_OUTPUT.PUT_LINE('The Salary With Increment is :
'||(R_EmpCursor.Sal + (R_EmpCursor.Sal * 0.40)));
56
ELSE
57
IF R_EmpCursor.Job = 'CLERK'
58
THEN
59
UPDATE Emp
60
SET Sal = Sal + (Sal * 0.20)
61
WHERE Empno = R_EmpCursor.Empno;
62
ELSE
63
DBMS_OUTPUT.PUT_LINE('The Job For Updation is
'||R_EmpCursor.Job);
64
DBMS_OUTPUT.PUT_LINE('Old Sal :
'||R_EmpCursor.Sal);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

65
DBMS_OUTPUT.PUT_LINE('Increament Added :
'||((R_EmpCursor.Sal + (R_EmpCursor.Sal * 0.40)) - (R_EmpCursor.Sal)));
66
DBMS_OUTPUT.PUT_LINE('The Salary With Increment
is : '||(R_EmpCursor.Sal + (R_EmpCursor.Sal * 0.40)));
67
END IF;
68
END IF;
69
END IF;
70
END IF;
71
END IF;
72
END LOOP;
73
EXCEPTION
74
WHEN E_JobNotFound THEN
75
DBMS_OUTPUT.PUT_LINE('The Respective Job is Not Found...Please Verify!');
76
END;
77 DBMS_OUTPUT.PUT_LINE('The Bonus Information is '||R_GroupBonus.Deptno);
78 END LOOP;
79 END EmpBonus;
80 /
Procedure created.
SQL> EXEC EmpBonus
The Job For Updation is PRESIDENT
Old Sal : 5000
Increament Added : 2000
The Salary With Increment is : 7000
The Job For Updation is MANAGER
Old Sal : 2450
Increament Added : 980
The Salary With Increment is : 3430
The Job For Updation is MANAGER
Old Sal : 2450
Increament Added : 980
The Salary With Increment is : 3430
The Bonus Information is 10
The Job For Updation is MANAGER
Old Sal : 2975
Increament Added : 1190
The Salary With Increment is : 4165
The Job For Updation is MANAGER
Old Sal : 2975
Increament Added : 1190
The Salary With Increment is : 4165
The Bonus Information is 20
The Job For Updation is MANAGER
Old Sal : 2850
Increament Added : 1140
The Salary With Increment is : 3990
The Job For Updation is MANAGER
Old Sal : 2850
Increament Added : 1140
The Salary With Increment is : 3990
The Bonus Information is 30
The Bonus Information is 40
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

PL/SQL procedure successfully completed.


SQL> cl scr
SQL> SELECT Ename, Sal FROM Emp;
ENAME
SAL
---------- ------KING
7000
BLAKE
3848
CLARK
3308
JONES
4016
MARTIN
1250
ALLEN
1600
TURNER
1500
JAMES
950
WARD
1250
FORD
3000
SMITH
800
ENAME
SAL
---------- ------SCOTT
3000
ADAMS
1100
MILLER
1300
14 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

CREATE OR REPLACE PROCEDURE


GetEnameSalJob00
(
PEmpno
Emp.Empno%TYPE
)
AS
V_Ename
Emp.Ename%TYPE;
V_Sal
Emp.Sal%TYPE;
V_Job
Emp.Job%TYPE;
BEGIN
SELECT
Ename, Sal, Job
INTO
V_Ename, V_Sal, V_Job
FROM Emp
WHERE Empno = PEmpno;
DBMS_OUTPUT.PUT_LINE('The Details of Employee '||PEmpno||' Are...');
DBMS_OUTPUT.PUT_LINE('The Name of The Employee is : '||V_Ename);
DBMS_OUTPUT.PUT_LINE('The Salary of The Employee is : '||V_Sal);
DBMS_OUTPUT.PUT_LINE('The Job of The Employee is : '||V_Job);
END GetEnameSalJob00;
/

Procedure created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> EXEC GetEnameSalJob00;


BEGIN GetEnameSalJob00; END;
*
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'GETENAMESALJOB00'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

SQL> EXEC GetEnameSalJob00(7839);


The Details of Employee 7839 Are...
The Name of The Employee is : KING
The Salary of The Employee is : 7000
The Job of The Employee is : PRESIDENT
PL/SQL procedure successfully completed.
SQL> <<GetEnameSalJob00>>
2 DECLARE
3
PEmpno
Emp.Empno%TYPE := &pEmpno;
4 V_Ename
Emp.Ename%TYPE;
5 V_Sal
Emp.Sal%TYPE;
6 V_Job
Emp.Job%TYPE;
7 BEGIN
8 SELECT
9 Ename, Sal, Job
10 INTO
11 V_Ename, V_Sal, V_Job
12 FROM Emp
13 WHERE Empno = PEmpno;
14 DBMS_OUTPUT.PUT_LINE('The Details of Employee '||PEmpno||' Are...');
15 DBMS_OUTPUT.PUT_LINE('The Name of The Employee is : '||V_Ename);
16 DBMS_OUTPUT.PUT_LINE('The Salary of The Employee is : '||V_Sal);
17 DBMS_OUTPUT.PUT_LINE('The Job of The Employee is : '||V_Job);
18 END GetEnameSalJob00;
19 /
Enter value for pempno: 7839
The Details of Employee 7839 Are...
The Name of The Employee is : KING
The Salary of The Employee is : 7000
The Job of The Employee is : PRESIDENT
PL/SQL procedure successfully completed.
SQL> cl scr
SQL>
2
3
4
5
6
7

CREATE OR REPLACE PROCEDURE


GetEnameSalJob01
(
PEmpno
Emp.Empno%TYPE
)
AS
V_EmpRec Emp%ROWTYPE;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

8
9
10
11
12
13
14
15
16
17
18
19
20

BEGIN
SELECT
*
INTO
V_EmpRec
FROM Emp
WHERE Empno = PEmpno;
DBMS_OUTPUT.PUT_LINE('The
DBMS_OUTPUT.PUT_LINE('The
DBMS_OUTPUT.PUT_LINE('The
DBMS_OUTPUT.PUT_LINE('The
END GetEnameSalJob01;
/

Details of Employee '||PEmpno||' Are...');


Name of The Employee is : '||V_EmpRec.Ename);
Salary of The Employee is : '||V_EmpRec.Sal);
Job of The Employee is : '||V_EmpRec.Job);

Procedure created.
SQL> EXEC GetEnameSalJob01(7839);
The Details of Employee 7839 Are...
The Name of The Employee is : KING
The Salary of The Employee is : 7000
The Job of The Employee is : PRESIDENT
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> CREATE OR REPLACE PROCEDURE
2 EmpInsert
3 (
4
P_Empno Emp.Empno%TYPE,
5
P_Ename Emp.Ename%TYPE,
6
P_Sal Emp.Sal%TYPE,
7
P_Deptno Emp.Deptno%TYPE,
8
P_Job Emp.Job%TYPE,
9
P_Comm
Emp.Comm%TYPE,
10
P_HireDate Emp.HireDate%TYPE,
11
P_MGR Emp.MGR%TYPE
12 )
13 AS
14 BEGIN
15 INSERT INTO
16 Emp (Empno, Ename, Sal, Deptno, Job, Comm, HireDate, MGR)
17 VALUES(P_Empno, UPPER(P_Ename), P_Sal, P_Deptno, UPPER(P_Job), P_Comm,
P_HireDate, P_MGR);
18 COMMIT;
19 Exception
20 WHEN DUP_VAL_ON_INDEX THEN
21 RAISE_APPLICATION_ERROR(-20001, 'Employee already
22 exists');
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

23
24
25
26

WHEN OTHERS THEN


RAISE_APPLICATION_ERROR(-20011, SQLERRM);
END;
/

Procedure created.
SQL> DECLARE
2 TYPE EmpRecord
3 IS RECORD
4 (
5 Empno Emp.Empno%TYPE,
6 Ename Emp.Ename%TYPE,
7 Sal
Emp.Sal%TYPE,
8 Deptno
Emp.Deptno%TYPE,
9 Job
Emp.Job%TYPE,
10 Comm
Emp.Comm%TYPE,
11 HireDate
Emp.HireDate%TYPE,
12 MGR
Emp.MGR%TYPE
13 );
14 V_EmpRecord EmpRecord;
15 BEGIN
16 V_EmpRecord.Empno := &SEmpno;
17 V_EmpRecord.Ename := '&SEname';
18 V_EmpRecord.Sal := &SSal;
19 V_EmpRecord.Deptno := &SDeptno;
20 V_EmpRecord.Job := '&SJob';
21 V_EmpRecord.Comm := &SComm;
22 V_EmpRecord.HireDate := &SHireDate;
23 V_EmpRecord.MGR := &SMGR;
24 EmpInsert(
25
V_EmpRecord.Empno,
26
V_EmpRecord.Ename,
27
V_EmpRecord.Sal,
28
V_EmpRecord.Deptno,
29
V_EmpRecord.Job,
30
V_EmpRecord.Comm,
31
V_EmpRecord.HireDate,
32
V_EmpRecord.MGR
33
);
34 END;
35 /
Enter value for sempno: 1234
Enter value for sename: SAMPLE
Enter value for ssal: 2500
Enter value for sdeptno: 30
Enter value for sjob: CLERK
Enter value for scomm: NULL
Enter value for shiredate: 31-AUG-10
Enter value for smgr: 7566
V_EmpRecord.HireDate := 31-AUG-10;
*
ERROR at line 22:
ORA-06550: line 22, column 28:
PLS-00201: identifier 'AUG' must be declared
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ORA-06550: line 22, column 1:


PL/SQL: Statement ignored

SQL> /
Enter value
Enter value
Enter value
Enter value
Enter value
Enter value
Enter value
Enter value

for
for
for
for
for
for
for
for

sempno: 1234
sename: SAMPLE
ssal: 2500
sdeptno: 30
sjob: CLERK
scomm: NULL
shiredate: '31-AUG-10'
smgr: 7566

PL/SQL procedure successfully completed.


SQL> cl scr
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> CREATE OR REPLACE PROCEDURE EmpDataDisplay
2 AS
3 V_RowCount NUMBER(4);
4 TYPE GenericCursor
5 IS REF CURSOR;
6 V_GenericCursor GenericCursor;
7 TYPE TablesRecordType IS RECORD
8 (
9
EmpRecord Emp%ROWTYPE
10 );
11 V_EmpRecordType TablesRecordType;
12 BEGIN
13 OPEN V_GenericCursor
14 FOR
15 SELECT * FROM Emp;
16 DBMS_OUTPUT.PUT_LINE(RPAD(LPAD('Employees Information', 49, '*'), 80,
'*'));
17 DBMS_OUTPUT.PUT_LINE(RPAD('-', 80,'-'));
18 DBMS_OUTPUT.PUT_LINE(RPAD('EmpNo', 8)|| RPAD('Ename', 12)||RPAD('Job',
12)||RPAD('Deptno',
19
20 8)||RPAD('Mgr', 10)||RPAD('Hiredate', 12)||RPAD('Sal', 12)||RPAD('Comm',
10));
21 DBMS_OUTPUT.PUT_LINE(RPAD('-', 80,'-'));
22 LOOP
23
FETCH V_GenericCursor INTO V_EmpRecordType.EmpRecord;
24
EXIT WHEN V_GenericCursor%NOTFOUND;
25
V_RoWCount := V_GenericCursor%ROWCOUNT;
26 DBMS_OUTPUT.PUT_LINE(RPAD(V_EmpRecordType.EmpRecord.Empno, 8)
27
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

28 ||RPAD(V_EmpRecordType.EmpRecord.Ename,
12)||RPAD(V_EmpRecordType.EmpRecord.Job,
29
30 12)||RPAD(V_EmpRecordType.EmpRecord.Deptno,
31
32 8)||NVL(TO_CHAR(RPAD(V_EmpRecordType.EmpRecord.MGR, 10)),'No
33
34 Manager')||RPAD(V_EmpRecordType.EmpRecord.Hiredate,
35
36 12)||RPAD(V_EmpRecordType.EmpRecord.Sal,
37
38 12)||NVL(TO_CHAR(RPAD(V_EmpRecordType.EmpRecord.Comm, 12)),'-NA-'));
39 END LOOP;
40 CLOSE V_GenericCursor;
41 DBMS_OUTPUT.PUT_LINE(V_RowCount||' Rows Processed So Far...');
42 END EmpDataDisplay;
43 /
Procedure created.
SQL> EXEC EmpDataDisplay;
****************************Employees Information*******************************
-------------------------------------------------------------------------------EmpNo
Ename
Job
Deptno Mgr
Hiredate
Sal
Comm
-------------------------------------------------------------------------------7839
KING
PRESIDENT
10
No
Manager17-NOV-81
7000
7698
BLAKE
MANAGER
7782
CLARK
MANAGER
7566
JONES
MANAGER
7654
MARTIN
SALESMAN
7499
ALLEN
SALESMAN
7844
TURNER
SALESMAN
7900
JAMES
CLERK
7521
WARD
SALESMAN
7902
FORD
ANALYST
7369
SMITH
CLERK
7788
SCOTT
ANALYST
7876
ADAMS
CLERK
7934
MILLER
CLERK
1234
SAMPLE
CLERK
15 Rows Processed So Far...

-NA30
10
20
30
30
30
30
30
20
20
20
20
10
30

7839
7839
7839
7698
7698
7698
7698
7698
7566
7902
7566
7788
7782
7566

01-MAY-81
09-JUN-81
02-APR-81
28-SEP-81
20-FEB-81
08-SEP-81
03-DEC-81
22-FEB-81
03-DEC-81
17-DEC-80
09-DEC-82
12-JAN-83
23-JAN-82
31-AUG-10

3847.5
3307.5
4016.25
1250
1600
1500
950
1250
3000
800
3000
1100
1300
2500

PL/SQL procedure successfully completed.


SQL>
2
3
4
5
6
7
8
9

CREATE OR REPLACE PROCEDURE DeptDataDisplay


AS
V_RowCount NUMBER(4);
TYPE GenericCursor
IS REF CURSOR;
V_GenericCursor GenericCursor;
TYPE TablesRecordType IS RECORD
(
DeptRecord Dept%ROWTYPE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

-NA-NA-NA1400
300
0
-NA500
-NA-NA-NA-NA-NA-NA-

Spool Generated For Class of Oracle By Satish K Yellanki

10 );
11 V_DeptRecordType TablesRecordType;
12 BEGIN
13
OPEN V_GenericCursor
14
FOR
15
SELECT * FROM Dept;
16
DBMS_OUTPUT.PUT_LINE(RPAD(LPAD('Department Information', 29, '*'), 49,
'*'));
17
DBMS_OUTPUT.PUT_LINE(RPAD('-', 40,'-'));
18
DBMS_OUTPUT.PUT_LINE(RPAD('Deptno', 8)|| RPAD('Dname', 12)||RPAD('Loc',
12));
19
DBMS_OUTPUT.PUT_LINE(RPAD('-', 40,'-'));
20
LOOP
21
FETCH V_GenericCursor INTO V_DeptRecordType.DeptRecord;
22
EXIT WHEN V_GenericCursor%NOTFOUND;
23
V_RoWCount := V_GenericCursor%ROWCOUNT;
24
DBMS_OUTPUT.PUT_LINE(RPAD(V_DeptRecordType.DeptRecord.Deptno, 8)
||RPAD(V_DeptRecordType.DeptRecord.Dname,
12)||RPAD(V_DeptRecordType.DeptRecord.Dname, 12));
25
END LOOP;
26
CLOSE V_GenericCursor;
27
DBMS_OUTPUT.PUT_LINE(V_RowCount||' Rows Processed So Far...');
28 END DeptDataDisplay;
29 /
Procedure created.
SQL> EXEC DeptDataDisplay
*******Department Information********************
---------------------------------------Deptno Dname
Loc
---------------------------------------10
ACCOUNTING ACCOUNTING
20
RESEARCH
RESEARCH
30
SALES
SALES
40
OPERATIONS OPERATIONS
4 Rows Processed So Far...
PL/SQL procedure successfully completed.
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15

CREATE OR REPLACE PROCEDURE SalGradeDataDisplay


AS
V_RowCount NUMBER(4);
TYPE GenericCursor
IS REF CURSOR;
V_GenericCursor GenericCursor;
TYPE TablesRecordType IS RECORD
(
SalGradeRecord SalGrade%ROWTYPE
);
V_SalGradeRecordType TablesRecordType;
BEGIN
OPEN V_GenericCursor
FOR
SELECT * FROM SalGrade;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

16
DBMS_OUTPUT.PUT_LINE(RPAD(LPAD('Salary Grade Information', 29, '*'),
49, '*'));
17
DBMS_OUTPUT.PUT_LINE(RPAD('-', 40,'-'));
18
DBMS_OUTPUT.PUT_LINE(RPAD('Grade', 8)|| RPAD('LoSal',
12)||RPAD('HiSal', 12));
19
DBMS_OUTPUT.PUT_LINE(RPAD('-', 40,'-'));
20
LOOP
21
FETCH V_GenericCursor INTO V_SalGradeRecordType.SalGradeRecord;
22
EXIT WHEN V_GenericCursor%NOTFOUND;
23
V_RoWCount := V_GenericCursor%ROWCOUNT;
24
DBMS_OUTPUT.PUT_LINE(RPAD(V_SalGradeRecordType.SalGradeRecord.Grade,
8) ||RPAD(V_SalGradeRecordType.SalGradeRecord.LoSal,
12)||RPAD(V_SalGradeRecordType.SalGradeRecord.HiSal, 12));
25
END LOOP;
26
CLOSE V_GenericCursor;
27
DBMS_OUTPUT.PUT_LINE(V_RowCount||' Rows Processed So Far...');
28 END SalGradeDataDisplay;
29 /
Procedure created.
SQL> EXEC SalGradeDataDisplay;
*****Salary Grade Information********************
---------------------------------------Grade
LoSal
HiSal
---------------------------------------1
700
1200
2
1201
1400
3
1401
2000
4
2001
3000
5
3001
9999
5 Rows Processed So Far...
PL/SQL procedure successfully completed.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

DECLARE
V_Table VARCHAR2(30) := UPPER('&GiveTableName');
E_IllegalRequest EXCEPTION;
BEGIN
IF V_Table = 'EMP' THEN
EmpDataDisplay;
ELSE
IF V_Table = 'DEPT' THEN
DeptDataDisplay;
ELSE
IF V_Table = 'SALGRADE' THEN
SalGradedataDisplay;
ELSE
RAISE E_IllegalRequest;
END IF;
END IF;
END IF;
EXCEPTION
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

19 WHEN E_IllegalRequest THEN


20 DBMS_OUTPUT.PUT_LINE('Sorry You Either Do Not Have Permissions on The Table
OR The Requested Table Does Not Exist.');
21 END;
22 /
Enter value for givetablename: Emp
****************************Employees Information*******************************
-------------------------------------------------------------------------------EmpNo
Ename
Job
Deptno Mgr
Hiredate
Sal
Comm
-------------------------------------------------------------------------------7839
KING
PRESIDENT
10
No
Manager17-NOV-81
7000
7698
BLAKE
MANAGER
7782
CLARK
MANAGER
7566
JONES
MANAGER
7654
MARTIN
SALESMAN
7499
ALLEN
SALESMAN
7844
TURNER
SALESMAN
7900
JAMES
CLERK
7521
WARD
SALESMAN
7902
FORD
ANALYST
7369
SMITH
CLERK
7788
SCOTT
ANALYST
7876
ADAMS
CLERK
7934
MILLER
CLERK
1234
SAMPLE
CLERK
15 Rows Processed So Far...

-NA30
10
20
30
30
30
30
30
20
20
20
20
10
30

7839
7839
7839
7698
7698
7698
7698
7698
7566
7902
7566
7788
7782
7566

01-MAY-81
09-JUN-81
02-APR-81
28-SEP-81
20-FEB-81
08-SEP-81
03-DEC-81
22-FEB-81
03-DEC-81
17-DEC-80
09-DEC-82
12-JAN-83
23-JAN-82
31-AUG-10

3847.5
3307.5
4016.25
1250
1600
1500
950
1250
3000
800
3000
1100
1300
2500

PL/SQL procedure successfully completed.


SQL> /
Enter value for givetablename: Dept
*******Department Information********************
---------------------------------------Deptno Dname
Loc
---------------------------------------10
ACCOUNTING ACCOUNTING
20
RESEARCH
RESEARCH
30
SALES
SALES
40
OPERATIONS OPERATIONS
4 Rows Processed So Far...
PL/SQL procedure successfully completed.
SQL> /
Enter value for givetablename: SalGrade
*****Salary Grade Information********************
---------------------------------------Grade
LoSal
HiSal
---------------------------------------1
700
1200
2
1201
1400
3
1401
2000
4
2001
3000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

-NA-NA-NA1400
300
0
-NA500
-NA-NA-NA-NA-NA-NA-

Spool Generated For Class of Oracle By Satish K Yellanki

5
3001
9999
5 Rows Processed So Far...
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13*
SQL>

CREATE OR REPLACE PROCEDURE


OddNumber(Num1 NUMBER, Num2 NUMBER)
IS
MyNum NUMBER(4);
BEGIN
MyNum := Num1;
WHILE MyNum < Num2 LOOP
IF MOD(MyNum,2) != 0 THEN
DBMS_OUTPUT.PUT_LINE('The Odd Number : '||MyNum);
End IF;
MyNum := MyNum +1;
END LOOP;
END;
/

Procedure created.
SQL> EXEC OddNumber(10, 25)
The Odd Number : 11
The Odd Number : 13
The Odd Number : 15
The Odd Number : 17
The Odd Number : 19
The Odd Number : 21
The Odd Number : 23
PL/SQL procedure successfully completed.
SQL> EXEC OddNumber(25, 10)
PL/SQL procedure successfully completed.
SQL> EXEC OddNumber(Num2 => 25, Num1 => 10)
The Odd Number : 11
The Odd Number : 13
The Odd Number : 15
The Odd Number : 17
The Odd Number : 19
The Odd Number : 21
The Odd Number : 23
PL/SQL procedure successfully completed.
SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14

CREATE OR REPLACE PROCEDURE


OddNumber(Num1 NUMBER, Num2 NUMBER DEFAULT 30)
IS
MyNum NUMBER(4);
BEGIN
MyNum := Num1;
WHILE MyNum < Num2 LOOP
IF MOD(MyNum,2) != 0 THEN
DBMS_OUTPUT.PUT_LINE('The Odd Number : '||MyNum);
End IF;
MyNum := MyNum +1;
END LOOP;
END;
/

Procedure created.
SQL> EXEC OddNumber(20);
The Odd Number : 21
The Odd Number : 23
The Odd Number : 25
The Odd Number : 27
The Odd Number : 29
PL/SQL procedure successfully completed.
SQL> EXEC OddNumber(20, 40);
The Odd Number : 21
The Odd Number : 23
The Odd Number : 25
The Odd Number : 27
The Odd Number : 29
The Odd Number : 31
The Odd Number : 33
The Odd Number : 35
The Odd Number : 37
The Odd Number : 39
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> CREATE OR REPLACE PROCEDURE
2 FindEmp
3 (I_Empno IN NUMBER,
4
O_Ename OUT VARCHAR2,
5
O_Job OUT VARCHAR2)
6 AS
7 BEGIN
8 SELECT Ename, Job INTO O_Ename, O_Job
9 FROM Emp WHERE Empno = I_Empno;
10 EXCEPTION
11 WHEN NO_DATA_FOUND THEN
12 DBMS_OUTPUT.PUT_LINE('Error in Finding the Details of Employee Number : '||
I_Empno);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

13
14

END FindEmp;
/

Procedure created.
SQL> DECLARE
2 V_Ename Emp.Ename%TYPE;
3 V_Job Emp.Job%TYPE;
4 BEGIN
5 FindEmp(7839, V_Ename, V_Job);
6 DBMS_OUTPUT.PUT_LINE('Employee 7839 is : '|| V_Ename||',
7 END;
8 /
Employee 7839 is : KING, PRESIDENT.

'||V_Job||'.');

PL/SQL procedure successfully completed.


SQL> ED
Wrote file afiedt.buf
1 DECLARE
2 V_Empno Emp.Empno%TYPE := &GEmpno;
3 V_Ename Emp.Ename%TYPE;
4 V_Job Emp.Job%TYPE;
5 BEGIN
6 FindEmp(V_Empno, V_Ename, V_Job);
7 DBMS_OUTPUT.PUT_LINE('Employee '||V_Empno||' is : '|| V_Ename||',
'||V_Job||'.');
8* END;
SQL> /
Enter value for gempno: 7654
Employee 7654 is : MARTIN, SALESMAN.
PL/SQL procedure successfully completed.
SQL> /
Enter value for gempno: 7566
Employee 7566 is : JONES, MANAGER.
PL/SQL procedure successfully completed.
SQL> /
Enter value for gempno: 7788
Employee 7788 is : SCOTT, ANALYST.
PL/SQL procedure successfully completed.
SQL> /
Enter value for gempno: 1234
Employee 1234 is : SAMPLE, CLERK.
PL/SQL procedure successfully completed.
SQL> /
Enter value for gempno: 2234
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Error in Finding the Details of Employee Number : 2234


Employee 2234 is : , .
PL/SQL procedure successfully completed.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

CREATE OR REPLACE PROCEDURE EmpInfo(I_Deptno IN NUMBER)


AS
CURSOR EmpInfoCursor IS
SELECT Ename, Job, Sal, Comm
FROM Emp
WHERE Deptno = I_Deptno;
EmpRecord EmpInfoCursor%ROWTYPE;
NEmployees NUMBER := 0;
TSalary NUMBER := 0;
AVGSalary NUMBER(7,2) := 0;
MAXSalary NUMBER(7,2) := 0;
BEGIN
OPEN EmpInfoCursor;
LOOP
FETCH EmpInfoCursor INTO EmpRecord;
EXIT WHEN EmpInfoCursor%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('Employee Name : '||EmpRecord.Ename);
DBMS_OUTPUT.PUT_LINE('Employee Job : '||EmpRecord.Job);
DBMS_OUTPUT.PUT_LINE('Employee Salary : '||EmpRecord.Sal);
DBMS_OUTPUT.PUT_LINE('Employee Comission : '||EmpRecord.Comm);
DBMS_OUTPUT.PUT_LINE('************************************');
TSalary := TSalary + EmpRecord.Sal;
NEmployees := NEmployees + 1;
IF EmpRecord.Sal > MAXSalary THEN
MAXSalary := EmpRecord.Sal;
END IF;
END LOOP;
AVGSalary := TSalary / NEmployees;
DBMS_OUTPUT.PUT_LINE('Number of Employees : '||NEmployees);
DBMS_OUTPUT.PUT_LINE('Total Salary : '||TSalary);
DBMS_OUTPUT.PUT_LINE('Maximum Salary : '||MAXSalary);
DBMS_OUTPUT.PUT_LINE('Average Salary : '||AVGSalary);
CLOSE EmpInfoCursor;
END EmpInfo;
/

Procedure created.
SQL> EXEC EmpInfo(10)
Employee Name : KING
Employee Job : PRESIDENT
Employee Salary : 7000
Employee Comission :
************************************
Employee Name : CLARK
Employee Job : MANAGER
Employee Salary : 3307.5
Employee Comission :
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

************************************
Employee Name : MILLER
Employee Job : CLERK
Employee Salary : 1300
Employee Comission :
************************************
Number of Employees : 3
Total Salary : 11607.5
Maximum Salary : 7000
Average Salary : 3869.17
PL/SQL procedure successfully completed.
SQL> /
Procedure created.
SQL> EXEC EmpInfo(20)
Employee Name : JONES
Employee Job : MANAGER
Employee Salary : 4016.25
Employee Comission :
************************************
Employee Name : FORD
Employee Job : ANALYST
Employee Salary : 3000
Employee Comission :
************************************
Employee Name : SMITH
Employee Job : CLERK
Employee Salary : 800
Employee Comission :
************************************
Employee Name : SCOTT
Employee Job : ANALYST
Employee Salary : 3000
Employee Comission :
************************************
Employee Name : ADAMS
Employee Job : CLERK
Employee Salary : 1100
Employee Comission :
************************************
Number of Employees : 5
Total Salary : 11916.25
Maximum Salary : 4016.25
Average Salary : 2383.25
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> <<EmpInfo>>
2 DECLARE
3 CURSOR EmpInfoCursor IS
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4 SELECT Ename, Job, Sal, Comm


5 FROM Emp
6 WHERE Deptno = &I_Deptno;
7 EmpRecord EmpInfoCursor%ROWTYPE;
8 NEmployees NUMBER := 0;
9 TSalary NUMBER := 0;
10 AVGSalary NUMBER(7,2) := 0;
11 MAXSalary NUMBER(7,2) := 0;
12 BEGIN
13 OPEN EmpInfoCursor;
14 LOOP
15 FETCH EmpInfoCursor INTO EmpRecord;
16 EXIT WHEN EmpInfoCursor%NOTFOUND;
17 DBMS_OUTPUT.PUT_LINE('Employee Name : '||EmpRecord.Ename);
18 DBMS_OUTPUT.PUT_LINE('Employee Job : '||EmpRecord.Job);
19 DBMS_OUTPUT.PUT_LINE('Employee Salary : '||EmpRecord.Sal);
20 DBMS_OUTPUT.PUT_LINE('Employee Comission : '||EmpRecord.Comm);
21 DBMS_OUTPUT.PUT_LINE('************************************');
22 TSalary := TSalary + EmpRecord.Sal;
23 NEmployees := NEmployees + 1;
24 IF EmpRecord.Sal > MAXSalary THEN
25 MAXSalary := EmpRecord.Sal;
26 END IF;
27 END LOOP;
28 AVGSalary := TSalary / NEmployees;
29 DBMS_OUTPUT.PUT_LINE('Number of Employees : '||NEmployees);
30 DBMS_OUTPUT.PUT_LINE('Total Salary : '||TSalary);
31 DBMS_OUTPUT.PUT_LINE('Maximum Salary : '||MAXSalary);
32 DBMS_OUTPUT.PUT_LINE('Average Salary : '||AVGSalary);
33 CLOSE EmpInfoCursor;
34 END EmpInfo;
35 /
Enter value for i_deptno: 10
Employee Name : KING
Employee Job : PRESIDENT
Employee Salary : 7000
Employee Comission :
************************************
Employee Name : CLARK
Employee Job : MANAGER
Employee Salary : 3307.5
Employee Comission :
************************************
Employee Name : MILLER
Employee Job : CLERK
Employee Salary : 1300
Employee Comission :
************************************
Number of Employees : 3
Total Salary : 11607.5
Maximum Salary : 7000
Average Salary : 3869.17
PL/SQL procedure successfully completed.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
Enter value for i_deptno: 20
Employee Name : JONES
Employee Job : MANAGER
Employee Salary : 4016.25
Employee Comission :
************************************
Employee Name : FORD
Employee Job : ANALYST
Employee Salary : 3000
Employee Comission :
************************************
Employee Name : SMITH
Employee Job : CLERK
Employee Salary : 800
Employee Comission :
************************************
Employee Name : SCOTT
Employee Job : ANALYST
Employee Salary : 3000
Employee Comission :
************************************
Employee Name : ADAMS
Employee Job : CLERK
Employee Salary : 1100
Employee Comission :
************************************
Number of Employees : 5
Total Salary : 11916.25
Maximum Salary : 4016.25
Average Salary : 2383.25
PL/SQL procedure successfully completed.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

CREATE OR REPLACE PROCEDURE


EmployeeInsert(
PEmpno
IN Emp.Empno%TYPE,
PEname
IN Emp.Ename%TYPE,
PJob
IN Emp.Job%TYPE,
PSal
IN Emp.Sal%TYPE,
PComm
IN Emp.Comm%TYPE,
PDeptno
IN Emp.Deptno%TYPE,
PMGR
IN Emp.MGR%TYPE,
PHireDate
IN Emp.HireDate%TYPE
)
IS
TYPE ValidateInsertValues
IS
RECORD
(
SalaryLess
NUMBER(4),
SalaryMore
NUMBER(6)
);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

20 ValidateRecordValues
ValidateInsertValues;
21 TYPE CheckBits
22 IS
23 RECORD
24 (
25
CheckJobBit
BOOLEAN,
26
CheckDeptnoBit
BOOLEAN,
27
CheckMGRBit
BOOLEAN,
28
CheckHireDateBit BOOLEAN,
29
CheckSalBit
BOOLEAN
30
);
31 CheckBitsInstance CheckBits;
32 E_ForiegnKey EXCEPTION;
33 PRAGMA EXCEPTION_INIT(E_ForiegnKey, -2292);
34 E_NotNULLViolation EXCEPTION;
35 PRAGMA EXCEPTION_INIT(E_NotNULLViolation, -1400);
36 E_CheckViolation
EXCEPTION;
37 PRAGMA EXCEPTION_INIT(E_CheckViolation, -2290);
38 BEGIN
39 CheckJob(PJob, CheckBitsInstance.CheckJobBit);
40 CheckDeptno(PDeptno, CheckBitsInstance.CheckDeptnoBit);
41 CheckMGRNO(PMGR, CheckBitsInstance.CheckMGRBit);
42 CheckHireDate(PHireDate, CheckBitsInstance.CheckHireDateBit);
43 CheckSalary(PSal, CheckBitsInstance.CheckSalBit);
44 IF CheckBitsInstance.CheckJobBit THEN
45
IF CheckBitsInstance.CheckDeptnoBit THEN
46
IF CheckBitsInstance.CheckMGRBit THEN
47
IF CheckBitsInstance.CheckHireDateBit THEN
48
IF CheckBitsInstance.CheckSalBit THEN
49
INSERT INTO Emp(Empno, Ename, Job, Sal, Comm,
Deptno, MGR, HireDate)
50
VALUES(PEmpno, PEname, PJob, PSal, PComm, PDeptno,
PMGR, PHireDate);
51
COMMIT;
52
DBMS_OUTPUT.PUT_LINE('Your Record is Inserted
Sucessfully...');
53
ELSE
54
DBMS_OUTPUT.PUT_LINE('Insert Failed Due To Problem
in Salary Values Out of Range');
55
END IF;
56
ELSE
57
DBMS_OUTPUT.PUT_LINE('Insert Failed Due To Problem in
Hire Date Not Matching With Server Standards.');
58
END IF;
59
ELSE
60
DBMS_OUTPUT.PUT_LINE('Insert Failed Due To Problem in Manager
Number Not Matching With Business Standards.');
61
END IF;
62
ELSE
63
DBMS_OUTPUT.PUT_LINE('Insert Failed Due To Problem in Department
Number Not Available in The Master.');
64
END IF;
65 ELSE
66
DBMS_OUTPUT.PUT_LINE('Insert Failed Due To Problem in Designation Not
Suitable To The Organization.');
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

67 END IF;
68 EXCEPTION
69 WHEN DUP_VAL_ON_INDEX THEN
70 DBMS_OUTPUT.PUT_LINE('Sorry, The Field With Unique Value is Getting
Duplicated. Hence Insert is Cancelled.');
71 ROLLBACK;
72 WHEN E_CheckViolation THEN
73 DBMS_OUTPUT.PUT_LINE('A Field with Check Constraint is not Attended
Properly, Please Check Properly. Hence Insert is Cancelled.');
74 ROLLBACK;
75 WHEN E_NotNULLViolation THEN
76 DBMS_OUTPUT.PUT_LINE('A Field which Cannot be NULL, is not attended, Please
Check Properly. Hence Insert is Cancelled.');
77 ROLLBACK;
78 WHEN E_ForiegnKey THEN
79 DBMS_OUTPUT.PUT_LINE('A Field is Violating The Parent Child Relation. Hence
Insert is Cancelled.');
80 ROLLBACK;
81 END EmployeeInsert;
82 /
Warning: Procedure created with compilation errors.
SQL> SHOW ERRORS
Errors for PROCEDURE EMPLOYEEINSERT:
LINE/COL ERROR
-------- ----------------------------------------------------------------39/1
PL/SQL: Statement ignored
39/1
PLS-00201: identifier 'CHECKJOB' must be declared
40/1
PL/SQL: Statement ignored
40/1
PLS-00201: identifier 'CHECKDEPTNO' must be declared
41/1
PL/SQL: Statement ignored
41/1
PLS-00201: identifier 'CHECKMGRNO' must be declared
42/1
PL/SQL: Statement ignored
42/1
PLS-00201: identifier 'CHECKHIREDATE' must be declared
43/1
PL/SQL: Statement ignored
43/1
PLS-00201: identifier 'CHECKSALARY' must be declared
SQL> CREATE OR REPLACE PROCEDURE
2 CheckJob(PCheckJob IN Emp.Job%TYPE, PChkBit OUT BOOLEAN)
3 IS
4 V_JobExists
NUMBER(2);
5 V_Job
Emp.Job%TYPE;
6 E_NoJob
EXCEPTION;
7 BEGIN
8 SELECT
9
COUNT(*)
10 INTO
11
V_JobExists
12 FROM Emp
13 WHERE Job = PCheckJob;
14 IF V_JobExists = 0
15 THEN
16
RAISE E_NoJob;
17 ELSE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

18 SELECT
19
DISTINCT Job
20 INTO
21
V_Job
22 FROM Emp
23 WHERE Job = PCheckJob;
24 DBMS_OUTPUT.PUT_LINE('Success! '||V_Job||' is Found...');
25 PChkBit := TRUE;
26 END IF;
27 EXCEPTION
28 WHEN E_NoJob THEN
29 DBMS_OUTPUT.PUT_LINE('Sorry, The Job '||PCheckJob||' To be Inserted is Not
Acceptable.');
30 ROLLBACK;
31 END CheckJob;
32 /
Procedure created.
SQL> ALTER PROCEDURE EMPLOYEEINSERT COMILE;
ALTER PROCEDURE EMPLOYEEINSERT COMILE
*
ERROR at line 1:
ORA-00922: missing or invalid option

SQL> ALTER PROCEDURE EMPLOYEEINSERT COMPILE;


Warning: Procedure altered with compilation errors.
SQL> SHOW ERRORS
Errors for PROCEDURE EMPLOYEEINSERT:
LINE/COL ERROR
-------- ----------------------------------------------------------------40/1
PL/SQL: Statement ignored
40/1
PLS-00201: identifier 'CHECKDEPTNO' must be declared
41/1
PL/SQL: Statement ignored
41/1
PLS-00201: identifier 'CHECKMGRNO' must be declared
42/1
PL/SQL: Statement ignored
42/1
PLS-00201: identifier 'CHECKHIREDATE' must be declared
43/1
PL/SQL: Statement ignored
43/1
PLS-00201: identifier 'CHECKSALARY' must be declared
SQL> CREATE OR REPLACE PROCEDURE
2 CheckDeptno(PCheckDeptno IN Emp.Deptno%TYPE, PChkBit OUT BOOLEAN)
3 IS
4 V_DeptnoExists
NUMBER(2);
5 V_Deptno
Emp.Job%TYPE;
6 E_NoDept
EXCEPTION;
7 BEGIN
8 SELECT
9
COUNT(*)
10 INTO
11
V_DeptnoExists
12 FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

13 WHERE Deptno = PCheckDeptno;


14 IF V_DeptnoExists = 0
15 THEN
16
RAISE E_NoDept;
17 ELSE
18 SELECT
19
DISTINCT Deptno
20 INTO
21
V_Deptno
22 FROM Dept
23 WHERE Deptno = PCheckDeptno;
24 DBMS_OUTPUT.PUT_LINE('Success! '||V_Deptno||' is Found...');
25 PChkBit := TRUE;
26 END IF;
27 EXCEPTION
28 WHEN E_NoDept THEN
29 DBMS_OUTPUT.PUT_LINE('Sorry, The Department Number '||PCheckDeptno||' To be
Inserted is Not Acceptable.');
30 ROLLBACK;
31 END CheckDeptno;
32 /
Procedure created.
SQL> ALTER PROCEDURE EMPLOYEEINSERT COMPILE;
Warning: Procedure altered with compilation errors.
SQL> SHOW ERRORS
Errors for PROCEDURE EMPLOYEEINSERT:
LINE/COL ERROR
-------- ----------------------------------------------------------------41/1
PL/SQL: Statement ignored
41/1
PLS-00201: identifier 'CHECKMGRNO' must be declared
42/1
PL/SQL: Statement ignored
42/1
PLS-00201: identifier 'CHECKHIREDATE' must be declared
43/1
PL/SQL: Statement ignored
43/1
PLS-00201: identifier 'CHECKSALARY' must be declared
SQL> CREATE OR REPLACE PROCEDURE
2 CheckMGRNO(PCheckMGRNO IN Emp.Deptno%TYPE, PChkBit OUT BOOLEAN)
3 IS
4 V_MGRNOExists
NUMBER(2);
5 V_MgrNo
Emp.MGR%TYPE;
6 E_InvalidManager
EXCEPTION;
7 BEGIN
8 SELECT
9
COUNT(*)
10 INTO
11
V_MGRNOExists
12 FROM Emp
13 WHERE MGR = PCheckMGRNO;
14 IF V_MGRNOExists = 0
15 THEN
16
RAISE E_InvalidManager;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

17 ELSE
18 SELECT
19
DISTINCT MGR
20 INTO
21
V_MgrNo
22 FROM Emp
23 WHERE MGR = PCheckMGRNO;
24 DBMS_OUTPUT.PUT_LINE('Success! '||V_MgrNo||' is Found...');
25 PChkBit := TRUE;
26 END IF;
27 EXCEPTION
28 WHEN E_InvalidManager THEN
29 DBMS_OUTPUT.PUT_LINE('Sorry, The Manager Number '||PCheckMGRNO||' To be
Inserted is Not Acceptable.');
30 ROLLBACK;
31 END CheckMGRNO;
32 /
Procedure created.
SQL> ALTER PROCEDURE EMPLOYEEINSERT COMPILE;
Warning: Procedure altered with compilation errors.
SQL> SHOW ERRORS
Errors for PROCEDURE EMPLOYEEINSERT:
LINE/COL ERROR
-------- ----------------------------------------------------------------42/1
PL/SQL: Statement ignored
42/1
PLS-00201: identifier 'CHECKHIREDATE' must be declared
43/1
PL/SQL: Statement ignored
43/1
PLS-00201: identifier 'CHECKSALARY' must be declared
SQL> CREATE OR REPLACE PROCEDURE
2 CheckHireDate(PCheckHireDate IN Emp.HireDate%TYPE, PChkBit OUT BOOLEAN)
3 IS
4 V_CurrentDate
Emp.HireDate%TYPE;
5 E_InvalidHireDate
EXCEPTION;
6 BEGIN
7 SELECT
8 SYSDATE
9 INTO
10 V_CurrentDate
11 FROM DUAL;
12 V_CurrentDate := TO_DATE(TO_CHAR(V_CurrentDate, 'DD-MON-YY'), 'DD-MON-YY');
13 IF V_CurrentDate <> PCheckHireDate
14 THEN
15
RAISE E_InvalidHireDate;
16 ELSE
17 DBMS_OUTPUT.PUT_LINE('Success! '||V_CurrentDate||' Matches The Server
Clock.');
18 PChkBit := TRUE;
19 END IF;
20 EXCEPTION
21 WHEN E_InvalidHireDate THEN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

22 DBMS_OUTPUT.PUT_LINE('Sorry, The Hire Date '||PCheckHireDate||' To be


Inserted is Not Acceptable.');
23 ROLLBACK;
24 END CheckHireDate;
25 /
Procedure created.
SQL> ALTER PROCEDURE EMPLOYEEINSERT COMPILE;
Warning: Procedure altered with compilation errors.
SQL> SHOW ERRORS
Errors for PROCEDURE EMPLOYEEINSERT:
LINE/COL ERROR
-------- ----------------------------------------------------------------43/1
PL/SQL: Statement ignored
43/1
PLS-00201: identifier 'CHECKSALARY' must be declared
SQL> CREATE OR REPLACE PROCEDURE
2 CheckSalary(PCheckSalary IN Emp.Sal%TYPE, PChkBit OUT BOOLEAN)
3 IS
4 V_SalaryLess
NUMBER(6);
5 V_SalaryMore
NUMBER(6);
6 E_SalLess
EXCEPTION;
7 E_SalMore
EXCEPTION;
8 BEGIN
9 V_SalaryLess := 500;
10 V_SalaryMore := 150000;
11 IF PCheckSalary < V_SalaryLess
12 THEN
13
RAISE E_SalLess;
14 ELSIF PCheckSalary > V_SalaryMore
15 THEN
16
RAISE E_SalMore;
17 END IF;
18 DBMS_OUTPUT.PUT_LINE('Success! The Salary '||PCheckSalary||' is
Acceptable.');
19 PChkBit := TRUE;
20 EXCEPTION
21 WHEN E_SalLess THEN
22 DBMS_OUTPUT.PUT_LINE('Sorry, The Salary '||PCheckSalary||' To be Inserted
is Less Than The Acceptable Value.');
23 ROLLBACK;
24 WHEN E_SalMore THEN
25 DBMS_OUTPUT.PUT_LINE('Sorry, The Salary '||PCheckSalary||' To be Inserted
is More Than The Acceptable Value.');
26 ROLLBACK;
27 END CheckSalary;
28 /
Procedure created.
SQL> ALTER PROCEDURE EMPLOYEEINSERT COMPILE;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Procedure altered.
SQL> DECLARE
2 V_Empno
Emp.Empno%TYPE := &Empno;
3 V_Ename
Emp.Ename%TYPE := '&Ename';
4 V_Job
Emp.Job%TYPE := '&Job';
5 V_Sal
Emp.Sal%TYPE := &Sal;
6 V_Comm
Emp.Comm%TYPE := &Commission;
7 V_Deptno
Emp.Deptno%TYPE := &Deptno;
8 V_MGR
Emp.MGR%TYPE := &MGR;
9 V_HireDate
Emp.HireDate%TYPE := '&HireDate';
10 BEGIN
11 EmployeeInsert(V_Empno, V_Ename, V_Job, V_Sal, V_Comm, V_Deptno, V_MGR,
V_HireDate);
12 END;
13 /
Enter value for empno: 1235
Enter value for ename: SAMPLE
Enter value for job: CLERK
Enter value for sal: 2500
Enter value for commission: NULL
Enter value for deptno: 30
Enter value for mgr: 7566
Enter value for hiredate: 31-AUG-10
Success! CLERK is Found...
Success! 30 is Found...
Success! 7566 is Found...
Success! 31-AUG-10 Matches The Server Clock.
Success! The Salary 2500 is Acceptable.
Your Record is Inserted Sucessfully...
PL/SQL procedure successfully completed.
SQL> /
Enter value for empno: 1236
Enter value for ename: SAMPLE
Enter value for job: SRCLERK
Enter value for sal: 2000
Enter value for commission: NULL
Enter value for deptno: 80
Enter value for mgr: 7654
Enter value for hiredate: 28-AUG-10
Sorry, The Job SRCLERK To be Inserted is Not Acceptable.
Sorry, The Department Number 80 To be Inserted is Not Acceptable.
Sorry, The Manager Number 7654 To be Inserted is Not Acceptable.
Sorry, The Hire Date 28-AUG-10 To be Inserted is Not Acceptable.
Success! The Salary 2000 is Acceptable.
Insert Failed Due To Problem in Designation Not Suitable To The Organization.
PL/SQL procedure successfully completed.
SQL> SPOOL OFF
SQL> cl scr
SQL> CREATE OR REPLACE FUNCTION
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

2
3
4
5
6
7
8
9
10
11
12
13

Factorial(Num NUMBER)
RETURN NUMBER
IS
Fact NUMBER(4) := 1;
BEGIN
FOR MyIndex IN REVERSE 1..Num
LOOP
Fact := Fact * MyIndex;
END LOOP;
RETURN Fact;
END;
/

Function created.
SQL> EXEC Factorial(5)
BEGIN Factorial(5); END;
*
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00221: 'FACTORIAL' is not a procedure or is undefined
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

SQL> cl scr
SQL> SELECT Factorial(5) Fact FROM DUAL;
FACT
---------120
SQL> CREATE TABLE SampFun
2 (
3
SampID NUMBER(2),
4
SampFact NUMBER(4)
5 );
Table created.
SQL> INSERT INTO SampFun
2 VALUES(1, Factorial(1));
1 row created.
SQL> INSERT INTO SampFun
2 VALUES(2, Factorial(2));
1 row created.
SQL> INSERT INTO SampFun
2 VALUES(3, Factorial(3));
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1 row created.
SQL> INSERT INTO SampFun
2 VALUES(4, Factorial(4));
1 row created.
SQL> INSERT INTO SampFun
2 VALUES(5, Factorial(5));
1 row created.
SQL> SELECT * FROM SampFun;
SAMPID
SAMPFACT
---------- ---------1
1
2
2
3
6
4
24
5
120
SQL>
2
3
4

UPDATE SampFun
SET
SampFact = Factorial(5)
WHERE SampID = 3;

1 row updated.
SQL> SELECT * FROM SampFun;
SAMPID
SAMPFACT
---------- ---------1
1
2
2
3
120
4
24
5
120
SQL>
2
3
4

UPDATE SampFun
SET
SampFact = Factorial(5)
WHERE SampFact = Factorial(4);

1 row updated.
SQL> SELECT * FROM SampFun;
SAMPID
SAMPFACT
---------- ---------1
1
2
2
3
120
4
120
5
120
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> DELETE FROM SampFun


2 WHERE SampID = 3;
1 row deleted.
SQL> SELECT * FROM SampFun;
SAMPID
SAMPFACT
---------- ---------1
1
2
2
4
120
5
120
SQL> DELETE FROM SampFun
2 WHERE SampFact = Factorial(5);
2 rows deleted.
SQL> SELECT * FROM SampFun;
SAMPID
SAMPFACT
---------- ---------1
1
2
2
SQL> DROP TABLE SampFun;
Table dropped.
SQL> PURGE RECYCLEBIN;
Recyclebin purged.
SQL> cl scr
SQL> ED
Wrote file afiedt.buf
1 CREATE TABLE SampFun
2 (
3
SampID NUMBER(2),
4
SampFact NUMBER(4)
5
CONSTRAINT SampFun_SampFact_CHK
6
CHECK(SampFact > Factorial(5))
7* )
SQL> /
CHECK(SampFact > Factorial(5))
*
ERROR at line 6:
ORA-00904: "FACTORIAL": invalid identifier

SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> DECLARE
2 V_Factorial NUMBER(4) := 0;
3 BEGIN
4 V_Factorial := Factorial(5);
5 DBMS_OUTPUT.PUT_LINE('The Factorial is : '||V_Factorial);
6 END;
7 /
The Factorial is : 120
PL/SQL procedure successfully completed.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10

CREATE OR REPLACE FUNCTION


Combination(Num1 NUMBER, Num2 NUMBER)
RETURN NUMBER
IS
Combi NUMBER(4,2) := 1;
BEGIN
Combi := (Factorial(Num1) / (Factorial(Num1 - Num2) * Factorial(Num2)));
RETURN Combi;
END;
/

Function created.
SQL> SELECT Combination(6, 2) Combi FROM DUAl;
COMBI
---------15
SQL> DROP FUNCTION Factorial;
Function dropped.
SQL> SELECT Combination(6, 2) Combi FROM DUAl;
SELECT Combination(6, 2) Combi FROM DUAl
*
ERROR at line 1:
ORA-06575: Package or function COMBINATION is in an invalid state

SQL>
2
3
4
5
6
7
8
9
10
11

CREATE OR REPLACE FUNCTION


Factorial(Num NUMBER)
RETURN NUMBER
IS
Fact NUMBER(4) := 1;
BEGIN
FOR MyIndex IN REVERSE 1..Num
LOOP
Fact := Fact * MyIndex;
END LOOP;
RETURN Fact;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

12
13

END;
/

Function created.
SQL> SELECT Combination(6, 2) Combi FROM DUAl;
COMBI
---------15
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14

CREATE OR REPLACE FUNCTION


EmpExp(V_Empno NUMBER)
RETURN NUMBER
IS
V_HireDate Emp.HireDate%TYPE;
V_Exp NUMBER(4,2) := 1;
BEGIN
SELECT HireDate INTO V_HireDate
FROM Emp
WHERE Empno = V_Empno;
V_Exp := MONTHS_BETWEEN(SYSDATE,V_HireDate) / 12;
RETURN V_Exp;
END;
/

Function created.
SQL> SELECT Ename, HireDate, MONTHS_BETWEEN(SYSDATE, HireDate) / 12 EmpExp
2 FROM Emp
3 WHERE Empno = 7839;
ENAME
HIREDATE
EMPEXP
---------- --------- ---------KING
17-NOV-81 28.7912641
SQL> SELECT Ename, HireDate, EmpExp(Empno) EmpExp
2 FROM Emp
3 WHERE Empno = 7839;
ENAME
HIREDATE
EMPEXP
---------- --------- ---------KING
17-NOV-81
28.79
SQL> SELECT Ename, HireDate, EmpExp(Empno) EmpExp
2 FROM Emp;
ENAME
---------KING
BLAKE
CLARK
JONES

HIREDATE
EMPEXP
--------- ---------17-NOV-81
28.79
01-MAY-81
29.33
09-JUN-81
29.23
02-APR-81
29.41
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

28-SEP-81
20-FEB-81
08-SEP-81
03-DEC-81
22-FEB-81
03-DEC-81
17-DEC-80

28.93
29.53
28.98
28.75
29.53
28.75
29.71

ENAME
---------SCOTT
ADAMS
MILLER

HIREDATE
EMPEXP
--------- ---------09-DEC-82
27.73
12-JAN-83
27.64
23-JAN-82
28.61

14 rows selected.
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15

CREATE OR REPLACE FUNCTION


EmpTotSal(V_Empno NUMBER)
RETURN NUMBER
IS
V_Sal Emp.Sal%TYPE;
V_Comm Emp.Comm%TYPE;
V_TotSal NUMBER(9, 2) := 1;
BEGIN
SELECT Sal, Comm INTO V_Sal, V_Comm
FROM Emp
WHERE Empno = V_Empno;
V_TotSal := V_Sal + NVL(V_Comm, 0);
RETURN V_TotSal;
END;
/

Function created.
SQL> SELECT Ename, Sal, Comm, EmpTotSal(Empno) TotSal, HireDate, EmpExp(Empno)
EmpExp
2 FROM Emp;
ENAME
SAL
COMM
TOTSAL HIREDATE
EMPEXP
---------- ---------- ---------- ---------- --------- ---------KING
5000
5000 17-NOV-81
28.79
BLAKE
2850
2850 01-MAY-81
29.33
CLARK
2450
2450 09-JUN-81
29.23
JONES
2975
2975 02-APR-81
29.41
MARTIN
1250
1400
2650 28-SEP-81
28.93
ALLEN
1600
300
1900 20-FEB-81
29.53
TURNER
1500
0
1500 08-SEP-81
28.98
JAMES
950
950 03-DEC-81
28.75
WARD
1250
500
1750 22-FEB-81
29.53
FORD
3000
3000 03-DEC-81
28.75
SMITH
800
800 17-DEC-80
29.71
ENAME
SAL
COMM
TOTSAL HIREDATE
EMPEXP
---------- ---------- ---------- ---------- --------- ---------SCOTT
3000
3000 09-DEC-82
27.73
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ADAMS
MILLER

1100
1300

1100 12-JAN-83
1300 23-JAN-82

27.64
28.61

14 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

CREATE OR REPLACE PROCEDURE


EmpInfo(I_Deptno IN NUMBER)
AS
CURSOR EmpInfoCursor IS
SELECT Empno, Ename, Job, Sal, Comm
FROM Emp
WHERE Deptno = I_Deptno;
EmpRecord EmpInfoCursor%ROWTYPE;
NEmployees NUMBER := 0;
TSalary NUMBER := 0;
AVGSalary NUMBER(7,2) := 0;
MAXSalary NUMBER(7,2) := 0;
V_Exp NUMBER(4,2) := 1;
BEGIN
OPEN EmpInfoCursor;
LOOP
FETCH EmpInfoCursor INTO EmpRecord;
EXIT WHEN EmpInfoCursor%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('Employee Name : '||EmpRecord.Ename);
DBMS_OUTPUT.PUT_LINE('Employee Job : '||EmpRecord.Job);
DBMS_OUTPUT.PUT_LINE('Employee Salary : '||EmpRecord.Sal);
DBMS_OUTPUT.PUT_LINE('Employee Comission : '||EmpRecord.Comm);
V_Exp := EmpExp(EmpRecord.Empno);
DBMS_OUTPUT.PUT_LINE('Employee''s Experiance : '||V_Exp);
DBMS_OUTPUT.PUT_LINE('************************************');
TSalary := TSalary + EmpRecord.Sal;
NEmployees := NEmployees + 1;
IF EmpRecord.Sal > MAXSalary THEN
MAXSalary := EmpRecord.Sal;
END IF;
END LOOP;
AVGSalary := TSalary / NEmployees;
DBMS_OUTPUT.PUT_LINE('Number of Employees : '||NEmployees);
DBMS_OUTPUT.PUT_LINE('Total Salary : '||TSalary);
DBMS_OUTPUT.PUT_LINE('Maximum Salary : '||MAXSalary);
DBMS_OUTPUT.PUT_LINE('Average Salary : '||AVGSalary);
CLOSE EmpInfoCursor;
END EmpInfo;
/

Procedure created.
SQL> EXEC EmpInfo(10)
Employee Name : KING
Employee Job : PRESIDENT
Employee Salary : 5000
Employee Comission :
Employee's Experiance : 28.79
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

************************************
Employee Name : CLARK
Employee Job : MANAGER
Employee Salary : 2450
Employee Comission :
Employee's Experiance : 29.23
************************************
Employee Name : MILLER
Employee Job : CLERK
Employee Salary : 1300
Employee Comission :
Employee's Experiance : 28.61
************************************
Number of Employees : 3
Total Salary : 8750
Maximum Salary : 5000
Average Salary : 2916.67
PL/SQL procedure successfully completed.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13

CREATE OR REPLACE FUNCTION


GetDeptDetails(P_Deptno NUMBER)
RETURN Dept%ROWTYPE
IS
V_DeptRec Dept%ROWTYPE;
V_Deptno Dept.Deptno%TYPE := P_Deptno;
BEGIN
SELECT * INTO V_DeptRec
FROM Dept
WHERE Deptno = V_Deptno;
RETURN V_DeptRec;
END;
/

Function created.
SQL> SELECT GetDeptDetails(10) Dept10Det FROM DUAL;
SELECT GetDeptDetails(10) Dept10Det FROM DUAL
*
ERROR at line 1:
ORA-00902: invalid datatype

SQL> DECLARE
2 V_DeptRec Dept%ROWTYPE;
3 BEGIN
4 V_DeptRec.Deptno := &GDeptno;
5 V_DeptRec := GetDeptDetails(V_DeptRec.Deptno);
6 DBMS_OUTPUT.PUT_LINE(V_DeptRec.Deptno||' '||V_DeptRec.DName||'
'||V_DeptRec.Loc);
7 END;
8 /
Enter value for gdeptno: 10
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

10 ACCOUNTING NEW YORK


PL/SQL procedure successfully completed.
SQL> cl scr
SQL> CREATE OR REPLACE PROCEDURE
2 EmpInfo(I_Deptno IN NUMBER)
3 AS
4 V_DeptRec Dept%ROWTYPE;
5 V_Exp NUMBER(4,2) := 1;
6 CURSOR EmpInfoCursor IS
7 SELECT Empno, Ename, Job, Sal, Comm
8 FROM Emp
9 WHERE Deptno = I_Deptno;
10 EmpRecord EmpInfoCursor%ROWTYPE;
11 BEGIN
12 OPEN EmpInfoCursor;
13 V_DeptRec := GetDeptDetails(I_Deptno);
14 DBMS_OUTPUT.PUT_LINE('Displaying The Report of...');
15 DBMS_OUTPUT.PUT_LINE('Department Number : '||V_DeptRec.Deptno||', Name :
'||V_DeptRec.DName||', Location : '||V_DeptRec.Loc);
16 LOOP
17 FETCH EmpInfoCursor INTO EmpRecord;
18 EXIT WHEN EmpInfoCursor%NOTFOUND;
19 DBMS_OUTPUT.PUT_LINE('Employee Name : '||EmpRecord.Ename);
20 DBMS_OUTPUT.PUT_LINE('Employee Job : '||EmpRecord.Job);
21 DBMS_OUTPUT.PUT_LINE('Employee Salary : '||EmpRecord.Sal);
22 DBMS_OUTPUT.PUT_LINE('Employee Comission : '||NVL(TO_CHAR(EmpRecord.Comm),
'NO COMMISSION'));
23 V_Exp := EmpExp(EmpRecord.Empno);
24 DBMS_OUTPUT.PUT_LINE('Employee''s Experiance : '||V_Exp);
25 DBMS_OUTPUT.PUT_LINE('************************************');
26 END LOOP;
27 CLOSE EmpInfoCursor;
28 END EmpInfo;
29 /
Procedure created.
SQL> EXEC EmpInfo(10);
Displaying The Report of...
Department Number : 10, Name : ACCOUNTING, Location : NEW YORK
Employee Name : KING
Employee Job : PRESIDENT
Employee Salary : 5000
Employee Comission : NO COMMISSION
Employee's Experiance : 28.79
************************************
Employee Name : CLARK
Employee Job : MANAGER
Employee Salary : 2450
Employee Comission : NO COMMISSION
Employee's Experiance : 29.23
************************************
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Employee Name : MILLER


Employee Job : CLERK
Employee Salary : 1300
Employee Comission : NO COMMISSION
Employee's Experiance : 28.61
************************************
PL/SQL procedure successfully completed.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12

CREATE OR REPLACE PACKAGE MathsBody


IS
FUNCTION Factorial(Num NUMBER)
RETURN NUMBER;
FUNCTION Combination(Num1 NUMBER, Num2 NUMBER)
RETURN NUMBER;
PROCEDURE ProdSeries(StartRange NUMBER);
PROCEDURE PrintEvenOdd(Num1 NUMBER, Num2 NUMBER);
PROCEDURE SquareArea(Side IN NUMBER);
PROCEDURE CubeVolume(Radius IN NUMBER);
END MathsBody;
/

Package created.
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

CREATE OR REPLACE PACKAGE BODY MathsBody


AS
FUNCTION Factorial(Num NUMBER)
RETURN NUMBER
IS
Fact NUMBER(4) := 1;
BEGIN
FOR MyIndex IN REVERSE 1..Num
LOOP
Fact := Fact * MyIndex;
END LOOP;
RETURN Fact;
END Factorial;
FUNCTION Combination(Num1 NUMBER, Num2 NUMBER)
RETURN NUMBER
IS
Combi NUMBER(4,2) := 1;
BEGIN
Combi := (Factorial(Num1) /( Factorial(Num1-Num2) * Factorial(Num2)));
RETURN Combi;
END Combination;
PROCEDURE ProdSeries(StartRange NUMBER)
IS
Result NUMBER;
BEGIN
FOR MyIndex IN 1..5 LOOP
Result := StartRange * MyIndex;
DBMS_OUTPUT.PUT_LINE(StartRange||' X '||MyIndex||' = '|| Result);
END LOOP;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

30 END ProdSeries;
31 PROCEDURE PrintEvenOdd(Num1 NUMBER, Num2 NUMBER)
32 IS
33 V_Num1 NUMBER;
34 EvenValue VARCHAR2(1000);
35 OddValue VARCHAR2(1000);
36 BEGIN
37 V_Num1 := Num1;
38 WHILE V_Num1 < Num1
39 LOOP
40 IF MOD(V_Num1,2) != 0 THEN
41 OddValue := OddValue||' '||V_Num1;
42 ELSE
43 EvenValue := EvenValue||' '||V_Num1;
44 END IF;
45 V_Num1 := V_Num1 + 1;
46 END LOOP;
47 DBMS_OUTPUT.PUT_LINE('The Odd Numbers in The Series are : '||OddValue);
48 DBMS_OUTPUT.PUT_LINE('The Even Numbers in The Series are : '||EvenValue);
49 END PrintEvenOdd;
50 PROCEDURE SquareArea(Side IN NUMBER)
51 IS
52 BEGIN
53 DBMS_OUTPUT.PUT_LINE('Area of The Square = ' || (Side * Side) );
54 END;
55 PROCEDURE CubeVolume(Radius IN NUMBER)
56 IS
57 BEGIN
58 DBMS_OUTPUT.PUT_LINE('Volume of The Cube = ' || (Radius * Radius *
Radius));
59 END;
60 END MathsBody;
61 /
Package body created.
SQL> SELECT Factorial(5) FROM DUAl;
FACTORIAL(5)
-----------120
SQL> SELECT MathsBody.Factorial(5) FROM DUAl;
MATHSBODY.FACTORIAL(5)
---------------------120
SQL> DROP FUNCTION Factorial;
Function dropped.
SQL> SELECT Factorial(5) FROM DUAl;
SELECT Factorial(5) FROM DUAl
*
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

ERROR at line 1:
ORA-00904: "FACTORIAL": invalid identifier

SQL> SELECT MathsBody.Factorial(5) FROM DUAl;


MATHSBODY.FACTORIAL(5)
---------------------120
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14

CREATE OR REPLACE PACKAGE EmpPackage


IS
PROCEDURE MyBonus;
PROCEDURE FindEmp
(I_Empno IN NUMBER,
O_Ename OUT VARCHAR2,
O_Job OUT VARCHAR2);
PROCEDURE EmpInfo(I_Deptno IN NUMBER);
FUNCTION EmpExp(V_Empno NUMBER)
RETURN NUMBER;
FUNCTION EmpGrade(I_Grade NUMBER)
RETURN VARCHAR2;
END EmpPackage;
/

Package created.
SQL> CREATE OR REPLACE PACKAGE BODY EmpPackage
2 IS
3 PROCEDURE MyBonus
4 AS
5 CURSOR DeptCursor IS
6 SELECT Deptno FROm Dept;
7 BEGIN
8 FOR R_GroupBonus IN DeptCursor LOOP
9 UPDATE Emp
10 SET Sal = Sal * 0.95
11 WHERE Deptno = R_GroupBonus.DeptNo;
12 DBMS_OUTPUT.PUT_LINe('The Bonus Information is '||R_GroupBonus.Deptno);
13 END LOOP;
14 END MyBonus;
15 PROCEDURE FindEmp
16 (I_Empno IN NUMBER,
17
O_Ename OUT VARCHAR2,
18
O_Job OUT VARCHAR2)
19 AS
20 BEGIN
21 SELECT Ename, Job INTO O_Ename, O_Job
22 FROM Emp WHERE Empno = I_Empno;
23 EXCEPTION
24 WHEN NO_DATA_FOUND THEN
25 DBMS_OUTPUT.PUT_LINE('Error in Finding the Details of Employee Number : '||
I_Empno);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80

END FindEmp;
PROCEDURE EmpInfo(I_Deptno IN NUMBER)
AS
CURSOR EmpInfoCursor IS
SELECT Ename, Job, Sal, Comm
FROM Emp
WHERE Deptno = I_Deptno;
EmpRecord EmpInfoCursor%ROWTYPE;
NEmployees NUMBER := 0;
TSalary NUMBER := 0;
AVGSalary NUMBER(7,2) := 0;
MAXSalary NUMBER(7,2) := 0;
BEGIN
OPEN EmpInfoCursor;
LOOP
FETCH EmpInfoCursor INTO EmpRecord;
EXIT WHEN EmpInfoCursor%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('Employee Name : '||EmpRecord.Ename);
DBMS_OUTPUT.PUT_LINE('Employee Job : '||EmpRecord.Job);
DBMS_OUTPUT.PUT_LINE('Employee Salary : '||EmpRecord.Sal);
DBMS_OUTPUT.PUT_LINE('Employee Comission : '||EmpRecord.Comm);
DBMS_OUTPUT.PUT_LINE('************************************');
TSalary := TSalary + EmpRecord.Sal;
NEmployees := NEmployees + 1;
IF EmpRecord.Sal > MAXSalary THEN
MAXSalary := EmpRecord.Sal;
END IF;
END LOOP;
AVGSalary := TSalary / NEmployees;
DBMS_OUTPUT.PUT_LINE('Number of Employees : '||NEmployees);
DBMS_OUTPUT.PUT_LINE('Total Salary : '||TSalary);
DBMS_OUTPUT.PUT_LINE('Maximum Salary : '||MAXSalary);
DBMS_OUTPUT.PUT_LINE('Average Salary : '||AVGSalary);
CLOSE EmpInfoCursor;
END EmpInfo;
FUNCTION EmpExp(V_Empno NUMBER)
RETURN NUMBER
IS
V_HireDate Emp.HireDate%TYPE;
V_Exp NUMBER(4,2) := 1;
BEGIN
SELECT HireDate INTO V_HireDate
FROM Emp
WHERE Empno = V_Empno;
V_Exp := MONTHS_BETWEEN(SYSDATE,V_HireDate) / 12;
RETURN V_Exp;
END EmpExp;
FUNCTION EmpGrade(I_Grade NUMBER)
RETURN VARCHAR2
IS
V_Num NUMBER(4);
BEGIN
SELECT COUNT(*) INTO V_Num
FROM Emp, SalGrade
WHERE Sal BETWEEN LoSal AND HiSal AND
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

81
82
83
84
85

Grade = I_Grade;
RETURN 'The Total Employees For The Grade Given By You Are : '||V_Num;
END EmpGrade;
END EmpPackage;
/

Package body created.


SQL> SELECT Ename, HireDate, EmpExp(Empno) EmpExp
2 FROM Emp;
ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

HIREDATE
EMPEXP
--------- ---------17-NOV-81
28.79
01-MAY-81
29.33
09-JUN-81
29.23
02-APR-81
29.41
28-SEP-81
28.93
20-FEB-81
29.53
08-SEP-81
28.98
03-DEC-81
28.75
22-FEB-81
29.53
03-DEC-81
28.75
17-DEC-80
29.71

ENAME
---------SCOTT
ADAMS
MILLER

HIREDATE
EMPEXP
--------- ---------09-DEC-82
27.73
12-JAN-83
27.64
23-JAN-82
28.61

14 rows selected.
SQL> SELECT Ename, HireDate, EmpPackage.EmpExp(Empno) EmpExp
2 FROM Emp;
ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

HIREDATE
EMPEXP
--------- ---------17-NOV-81
28.79
01-MAY-81
29.33
09-JUN-81
29.23
02-APR-81
29.41
28-SEP-81
28.93
20-FEB-81
29.53
08-SEP-81
28.98
03-DEC-81
28.75
22-FEB-81
29.53
03-DEC-81
28.75
17-DEC-80
29.71

ENAME
---------SCOTT
ADAMS
MILLER

HIREDATE
EMPEXP
--------- ---------09-DEC-82
27.73
12-JAN-83
27.64
23-JAN-82
28.61
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

14 rows selected.
SQL> DROP FUNCTION EMPEXP;
Function dropped.
SQL> SELECT Ename, HireDate, EmpExp(Empno) EmpExp
2 FROM Emp;
SELECT Ename, HireDate, EmpExp(Empno) EmpExp
*
ERROR at line 1:
ORA-00904: "EMPEXP": invalid identifier

SQL> SELECT Ename, HireDate, EmpPackage.EmpExp(Empno) EmpExp


2 FROM Emp;
ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

HIREDATE
EMPEXP
--------- ---------17-NOV-81
28.79
01-MAY-81
29.33
09-JUN-81
29.23
02-APR-81
29.41
28-SEP-81
28.93
20-FEB-81
29.53
08-SEP-81
28.98
03-DEC-81
28.75
22-FEB-81
29.53
03-DEC-81
28.75
17-DEC-80
29.71

ENAME
---------SCOTT
ADAMS
MILLER

HIREDATE
EMPEXP
--------- ---------09-DEC-82
27.73
12-JAN-83
27.64
23-JAN-82
28.61

14 rows selected.
SQL> SPOOL OFF
SQL> cl scr
SQL> SET VERIFY OFF
SQL> SET SERVEROUTPUT ON
SQL> cl scr
SQL> SELECT MathsBody.Factorial(5) Fact FROM DUAL;
FACT
---------120
SQL> SELECT MathsBody.Combination(6, 2) Combi FROM DUAL;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

COMBI
---------15
SQL>
2
3
4
5
6
7
8
9
10

CREATE OR REPLACE PACKAGE MathsBody


IS
FUNCTION Combination(Num1 NUMBER, Num2 NUMBER)
RETURN NUMBER;
PROCEDURE ProdSeries(StartRange NUMBER);
PROCEDURE PrintEvenOdd(Num1 NUMBER, Num2 NUMBER);
PROCEDURE SquareArea(Side IN NUMBER);
PROCEDURE CubeVolume(Radius IN NUMBER);
END MathsBody;
/

Package created.
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

CREATE OR REPLACE PACKAGE BODY MathsBody


AS
FUNCTION Factorial(Num NUMBER)
RETURN NUMBER
IS
Fact NUMBER(4) := 1;
BEGIN
FOR MyIndex IN REVERSE 1..Num
LOOP
Fact := Fact * MyIndex;
END LOOP;
RETURN Fact;
END Factorial;
FUNCTION Combination(Num1 NUMBER, Num2 NUMBER)
RETURN NUMBER
IS
Combi NUMBER(4,2) := 1;
BEGIN
Combi := (Factorial(Num1) /( Factorial(Num1-Num2) * Factorial(Num2)));
RETURN Combi;
END Combination;
PROCEDURE ProdSeries(StartRange NUMBER)
IS
Result NUMBER;
BEGIN
FOR MyIndex IN 1..5 LOOP
Result := StartRange * MyIndex;
DBMS_OUTPUT.PUT_LINE(StartRange||' X '||MyIndex||' = '|| Result);
END LOOP;
END ProdSeries;
PROCEDURE PrintEvenOdd(Num1 NUMBER, Num2 NUMBER)
IS
V_Num1 NUMBER;
EvenValue VARCHAR2(1000);
OddValue VARCHAR2(1000);
BEGIN
V_Num1 := Num1;
WHILE V_Num1 < Num1
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

39 LOOP
40 IF MOD(V_Num1,2) != 0 THEN
41 OddValue := OddValue||' '||V_Num1;
42 ELSE
43 EvenValue := EvenValue||' '||V_Num1;
44 END IF;
45 V_Num1 := V_Num1 + 1;
46 END LOOP;
47 DBMS_OUTPUT.PUT_LINE('The Odd Numbers in The Series are : '||OddValue);
48 DBMS_OUTPUT.PUT_LINE('The Even Numbers in The Series are : '||EvenValue);
49 END PrintEvenOdd;
50 PROCEDURE SquareArea(Side IN NUMBER)
51 IS
52 BEGIN
53 DBMS_OUTPUT.PUT_LINE('Area of The Square = ' || (Side * Side) );
54 END;
55 PROCEDURE CubeVolume(Radius IN NUMBER)
56 IS
57 BEGIN
58 DBMS_OUTPUT.PUT_LINE('Volume of The Cube = ' || (Radius * Radius *
Radius));
59 END;
60 END MathsBody;
61 /
Package body created.
SQL> SELECT MathsBody.Factorial(5) Fact FROM DUAL;
SELECT MathsBody.Factorial(5) Fact FROM DUAL
*
ERROR at line 1:
ORA-00904: "MATHSBODY"."FACTORIAL": invalid identifier

SQL> SELECT MathsBody.Combination(6, 2) Combi FROM DUAL;


COMBI
---------15
SQL> cl scr
SQL> EXEC EmpPackage.EmpInfo(10);
Employee Name : KING
Employee Job : PRESIDENT
Employee Salary : 5000
Employee Comission :
************************************
Employee Name : CLARK
Employee Job : MANAGER
Employee Salary : 2450
Employee Comission :
************************************
Employee Name : MILLER
Employee Job : CLERK
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Employee Salary : 1300


Employee Comission :
************************************
Number of Employees : 3
Total Salary : 8750
Maximum Salary : 5000
Average Salary : 2916.67
PL/SQL procedure successfully completed.
SQL> SELECT Ename, HireDate, EmpPackage.EmpExp(Empno) EmpExp
2 FROM Emp;
ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

HIREDATE
EMPEXP
--------- ---------17-NOV-81
28.79
01-MAY-81
29.34
09-JUN-81
29.23
02-APR-81
29.42
28-SEP-81
28.93
20-FEB-81
29.54
08-SEP-81
28.98
03-DEC-81
28.75
22-FEB-81
29.53
03-DEC-81
28.75
17-DEC-80
29.71

ENAME
---------SCOTT
ADAMS
MILLER

HIREDATE
EMPEXP
--------- ---------09-DEC-82
27.73
12-JAN-83
27.64
23-JAN-82
28.61

14 rows selected.
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

CREATE OR REPLACE PACKAGE BODY EmpPackage


IS
PROCEDURE MyBonus
AS
CURSOR DeptCursor IS
SELECT Deptno FROm Dept;
BEGIN
FOR R_GroupBonus IN DeptCursor LOOP
UPDATE Emp
SET Sal = Sal * 0.95
WHERE Deptno = R_GroupBonus.DeptNo;
DBMS_OUTPUT.PUT_LINe('The Bonus Information is '||R_GroupBonus.Deptno);
END LOOP;
END MyBonus;
PROCEDURE FindEmp
(I_Empno IN NUMBER,
O_Ename OUT VARCHAR2,
O_Job OUT VARCHAR2)
AS
BEGIN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

21 SELECT Ename, Job INTO O_Ename, O_Job


22 FROM Emp WHERE Empno = I_Empno;
23 EXCEPTION
24 WHEN NO_DATA_FOUND THEN
25 DBMS_OUTPUT.PUT_LINE('Error in Finding the Details of Employee Number : '||
I_Empno);
26 END FindEmp;
27 PROCEDURE EmpInfo(I_Deptno IN NUMBER)
28 AS
29 CURSOR EmpInfoCursor IS
30 SELECT Empno, Ename, Job, Sal, Comm
31 FROM Emp
32 WHERE Deptno = I_Deptno;
33 EmpRecord EmpInfoCursor%ROWTYPE;
34 NEmployees NUMBER := 0;
35 TSalary NUMBER := 0;
36 AVGSalary NUMBER(7,2) := 0;
37 MAXSalary NUMBER(7,2) := 0;
38 V_EmpExp NUMBER(4, 2);
39 BEGIN
40 OPEN EmpInfoCursor;
41 LOOP
42 FETCH EmpInfoCursor INTO EmpRecord;
43 EXIT WHEN EmpInfoCursor%NOTFOUND;
44 DBMS_OUTPUT.PUT_LINE('Employee Name : '||EmpRecord.Ename);
45 DBMS_OUTPUT.PUT_LINE('Employee Job : '||EmpRecord.Job);
46 DBMS_OUTPUT.PUT_LINE('Employee Salary : '||EmpRecord.Sal);
47 DBMS_OUTPUT.PUT_LINE('Employee Comission : '||EmpRecord.Comm);
48 V_EmpExp := EmpExp(EmpRecord.Empno);
49 DBMS_OUTPUT.PUT_LINE('Employee Experience : '||V_EmpExp);
50 DBMS_OUTPUT.PUT_LINE('************************************');
51 TSalary := TSalary + EmpRecord.Sal;
52 NEmployees := NEmployees + 1;
53 IF EmpRecord.Sal > MAXSalary THEN
54 MAXSalary := EmpRecord.Sal;
55 END IF;
56 END LOOP;
57 AVGSalary := TSalary / NEmployees;
58 DBMS_OUTPUT.PUT_LINE('Number of Employees : '||NEmployees);
59 DBMS_OUTPUT.PUT_LINE('Total Salary : '||TSalary);
60 DBMS_OUTPUT.PUT_LINE('Maximum Salary : '||MAXSalary);
61 DBMS_OUTPUT.PUT_LINE('Average Salary : '||AVGSalary);
62 CLOSE EmpInfoCursor;
63 END EmpInfo;
64 FUNCTION EmpExp(V_Empno NUMBER)
65 RETURN NUMBER
66 IS
67 V_HireDate Emp.HireDate%TYPE;
68 V_Exp NUMBER(4,2) := 1;
69 BEGIN
70 SELECT HireDate INTO V_HireDate
71 FROM Emp
72 WHERE Empno = V_Empno;
73 V_Exp := MONTHS_BETWEEN(SYSDATE,V_HireDate) / 12;
74 RETURN V_Exp;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

75
76
77
78
79
80
81
82
83
84
85
86
87
88

END EmpExp;
FUNCTION EmpGrade(I_Grade NUMBER)
RETURN VARCHAR2
IS
V_Num NUMBER(4);
BEGIN
SELECT COUNT(*) INTO V_Num
FROM Emp, SalGrade
WHERE Sal BETWEEN LoSal AND HiSal AND
Grade = I_Grade;
RETURN 'The Total Employees For The Grade Given By You Are : '||V_Num;
END EmpGrade;
END EmpPackage;
/

Package body created.


SQL> SELECT Ename, HireDate, EmpPackage.EmpExp(Empno) EmpExp
2 FROM Emp;
ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

HIREDATE
EMPEXP
--------- ---------17-NOV-81
28.79
01-MAY-81
29.34
09-JUN-81
29.23
02-APR-81
29.42
28-SEP-81
28.93
20-FEB-81
29.54
08-SEP-81
28.98
03-DEC-81
28.75
22-FEB-81
29.53
03-DEC-81
28.75
17-DEC-80
29.71

ENAME
---------SCOTT
ADAMS
MILLER

HIREDATE
EMPEXP
--------- ---------09-DEC-82
27.73
12-JAN-83
27.64
23-JAN-82
28.61

14 rows selected.
SQL> EXEC EmpPackage.EmpInfo(10);
Employee Name : KING
Employee Job : PRESIDENT
Employee Salary : 5000
Employee Comission :
Employee Experience : 28.79
************************************
Employee Name : CLARK
Employee Job : MANAGER
Employee Salary : 2450
Employee Comission :
Employee Experience : 29.23
************************************
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Employee Name : MILLER


Employee Job : CLERK
Employee Salary : 1300
Employee Comission :
Employee Experience : 28.61
************************************
Number of Employees : 3
Total Salary : 8750
Maximum Salary : 5000
Average Salary : 2916.67
PL/SQL procedure successfully completed.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12

CREATE OR REPLACE PACKAGE EmpPackage


IS
PROCEDURE MyBonus;
PROCEDURE FindEmp
(I_Empno IN NUMBER,
O_Ename OUT VARCHAR2,
O_Job OUT VARCHAR2);
PROCEDURE EmpInfo(I_Deptno IN NUMBER);
FUNCTION EmpGrade(I_Grade NUMBER)
RETURN VARCHAR2;
END EmpPackage;
/

Package created.
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

CREATE OR REPLACE PACKAGE BODY EmpPackage


IS
PROCEDURE MyBonus
AS
CURSOR DeptCursor IS
SELECT Deptno FROm Dept;
BEGIN
FOR R_GroupBonus IN DeptCursor LOOP
UPDATE Emp
SET Sal = Sal * 0.95
WHERE Deptno = R_GroupBonus.DeptNo;
DBMS_OUTPUT.PUT_LINe('The Bonus Information is '||R_GroupBonus.Deptno);
END LOOP;
END MyBonus;
PROCEDURE FindEmp
(I_Empno IN NUMBER,
O_Ename OUT VARCHAR2,
O_Job OUT VARCHAR2)
AS
BEGIN
SELECT Ename, Job INTO O_Ename, O_Job
FROM Emp WHERE Empno = I_Empno;
EXCEPTION
WHEN NO_DATA_FOUND THEN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

25 DBMS_OUTPUT.PUT_LINE('Error in Finding the Details of Employee Number : '||


I_Empno);
26 END FindEmp;
27 PROCEDURE EmpInfo(I_Deptno IN NUMBER)
28 AS
29 CURSOR EmpInfoCursor IS
30 SELECT Empno, Ename, Job, Sal, Comm
31 FROM Emp
32 WHERE Deptno = I_Deptno;
33 EmpRecord EmpInfoCursor%ROWTYPE;
34 NEmployees NUMBER := 0;
35 TSalary NUMBER := 0;
36 AVGSalary NUMBER(7,2) := 0;
37 MAXSalary NUMBER(7,2) := 0;
38 V_EmpExp NUMBER(4, 2);
39 BEGIN
40 OPEN EmpInfoCursor;
41 LOOP
42 FETCH EmpInfoCursor INTO EmpRecord;
43 EXIT WHEN EmpInfoCursor%NOTFOUND;
44 DBMS_OUTPUT.PUT_LINE('Employee Name : '||EmpRecord.Ename);
45 DBMS_OUTPUT.PUT_LINE('Employee Job : '||EmpRecord.Job);
46 DBMS_OUTPUT.PUT_LINE('Employee Salary : '||EmpRecord.Sal);
47 DBMS_OUTPUT.PUT_LINE('Employee Comission : '||EmpRecord.Comm);
48 V_EmpExp := EmpExp(EmpRecord.Empno);
49 DBMS_OUTPUT.PUT_LINE('Employee Experience : '||V_EmpExp);
50 DBMS_OUTPUT.PUT_LINE('************************************');
51 TSalary := TSalary + EmpRecord.Sal;
52 NEmployees := NEmployees + 1;
53 IF EmpRecord.Sal > MAXSalary THEN
54 MAXSalary := EmpRecord.Sal;
55 END IF;
56 END LOOP;
57 AVGSalary := TSalary / NEmployees;
58 DBMS_OUTPUT.PUT_LINE('Number of Employees : '||NEmployees);
59 DBMS_OUTPUT.PUT_LINE('Total Salary : '||TSalary);
60 DBMS_OUTPUT.PUT_LINE('Maximum Salary : '||MAXSalary);
61 DBMS_OUTPUT.PUT_LINE('Average Salary : '||AVGSalary);
62 CLOSE EmpInfoCursor;
63 END EmpInfo;
64 FUNCTION EmpExp(V_Empno NUMBER)
65 RETURN NUMBER
66 IS
67 V_HireDate Emp.HireDate%TYPE;
68 V_Exp NUMBER(4,2) := 1;
69 BEGIN
70 SELECT HireDate INTO V_HireDate
71 FROM Emp
72 WHERE Empno = V_Empno;
73 V_Exp := MONTHS_BETWEEN(SYSDATE,V_HireDate) / 12;
74 RETURN V_Exp;
75 END EmpExp;
76 FUNCTION EmpGrade(I_Grade NUMBER)
77 RETURN VARCHAR2
78 IS
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

79
80
81
82
83
84
85
86
87
88

V_Num NUMBER(4);
BEGIN
SELECT COUNT(*) INTO V_Num
FROM Emp, SalGrade
WHERE Sal BETWEEN LoSal AND HiSal AND
Grade = I_Grade;
RETURN 'The Total Employees For The Grade Given By You Are : '||V_Num;
END EmpGrade;
END EmpPackage;
/

Warning: Package Body created with compilation errors.


SQL> SHOW ERRORS
Errors for PACKAGE BODY EMPPACKAGE:
LINE/COL ERROR
-------- ----------------------------------------------------------------48/1
PL/SQL: Statement ignored
48/13
PLS-00313: 'EMPEXP' not declared in this scope
SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

CREATE OR REPLACE PACKAGE BODY EmpPackage


IS
FUNCTION EmpExp(V_Empno NUMBER)
RETURN NUMBER
IS
V_HireDate Emp.HireDate%TYPE;
V_Exp NUMBER(4,2) := 1;
BEGIN
SELECT HireDate INTO V_HireDate
FROM Emp
WHERE Empno = V_Empno;
V_Exp := MONTHS_BETWEEN(SYSDATE,V_HireDate) / 12;
RETURN V_Exp;
END EmpExp;
PROCEDURE MyBonus
AS
CURSOR DeptCursor IS
SELECT Deptno FROm Dept;
BEGIN
FOR R_GroupBonus IN DeptCursor LOOP
UPDATE Emp
SET Sal = Sal * 0.95
WHERE Deptno = R_GroupBonus.DeptNo;
DBMS_OUTPUT.PUT_LINe('The Bonus Information is '||R_GroupBonus.Deptno);
END LOOP;
END MyBonus;
PROCEDURE FindEmp
(I_Empno IN NUMBER,
O_Ename OUT VARCHAR2,
O_Job OUT VARCHAR2)
AS
BEGIN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

33 SELECT Ename, Job INTO O_Ename, O_Job


34 FROM Emp WHERE Empno = I_Empno;
35 EXCEPTION
36 WHEN NO_DATA_FOUND THEN
37 DBMS_OUTPUT.PUT_LINE('Error in Finding the Details of Employee Number : '||
I_Empno);
38 END FindEmp;
39 PROCEDURE EmpInfo(I_Deptno IN NUMBER)
40 AS
41 CURSOR EmpInfoCursor IS
42 SELECT Empno, Ename, Job, Sal, Comm
43 FROM Emp
44 WHERE Deptno = I_Deptno;
45 EmpRecord EmpInfoCursor%ROWTYPE;
46 NEmployees NUMBER := 0;
47 TSalary NUMBER := 0;
48 AVGSalary NUMBER(7,2) := 0;
49 MAXSalary NUMBER(7,2) := 0;
50 V_EmpExp NUMBER(4, 2);
51 BEGIN
52 OPEN EmpInfoCursor;
53 LOOP
54 FETCH EmpInfoCursor INTO EmpRecord;
55 EXIT WHEN EmpInfoCursor%NOTFOUND;
56 DBMS_OUTPUT.PUT_LINE('Employee Name : '||EmpRecord.Ename);
57 DBMS_OUTPUT.PUT_LINE('Employee Job : '||EmpRecord.Job);
58 DBMS_OUTPUT.PUT_LINE('Employee Salary : '||EmpRecord.Sal);
59 DBMS_OUTPUT.PUT_LINE('Employee Comission : '||EmpRecord.Comm);
60 V_EmpExp := EmpExp(EmpRecord.Empno);
61 DBMS_OUTPUT.PUT_LINE('Employee Experience : '||V_EmpExp);
62 DBMS_OUTPUT.PUT_LINE('************************************');
63 TSalary := TSalary + EmpRecord.Sal;
64 NEmployees := NEmployees + 1;
65 IF EmpRecord.Sal > MAXSalary THEN
66 MAXSalary := EmpRecord.Sal;
67 END IF;
68 END LOOP;
69 AVGSalary := TSalary / NEmployees;
70 DBMS_OUTPUT.PUT_LINE('Number of Employees : '||NEmployees);
71 DBMS_OUTPUT.PUT_LINE('Total Salary : '||TSalary);
72 DBMS_OUTPUT.PUT_LINE('Maximum Salary : '||MAXSalary);
73 DBMS_OUTPUT.PUT_LINE('Average Salary : '||AVGSalary);
74 CLOSE EmpInfoCursor;
75 END EmpInfo;
76 FUNCTION EmpGrade(I_Grade NUMBER)
77 RETURN VARCHAR2
78 IS
79 V_Num NUMBER(4);
80 BEGIN
81 SELECT COUNT(*) INTO V_Num
82 FROM Emp, SalGrade
83 WHERE Sal BETWEEN LoSal AND HiSal AND
84
Grade = I_Grade;
85 RETURN 'The Total Employees For The Grade Given By You Are : '||V_Num;
86 END EmpGrade;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

87* END EmpPackage;


SQL> /
Package body created.
SQL> SELECT Ename, HireDate, EmpPackage.EmpExp(Empno) EmpExp
2 FROM Emp;
SELECT Ename, HireDate, EmpPackage.EmpExp(Empno) EmpExp
*
ERROR at line 1:
ORA-00904: "EMPPACKAGE"."EMPEXP": invalid identifier

SQL> EXEC EMPPACKAGE.EmpInfo(10)


Employee Name : KING
Employee Job : PRESIDENT
Employee Salary : 5000
Employee Comission :
Employee Experience : 28.79
************************************
Employee Name : CLARK
Employee Job : MANAGER
Employee Salary : 2450
Employee Comission :
Employee Experience : 29.23
************************************
Employee Name : MILLER
Employee Job : CLERK
Employee Salary : 1300
Employee Comission :
Employee Experience : 28.61
************************************
Number of Employees : 3
Total Salary : 8750
Maximum Salary : 5000
Average Salary : 2916.67
PL/SQL procedure successfully completed.
SQL> cl scr
SQL>
2
3
4
5

CREATE OR REPLACE PACKAGE EmpResultSet


AS
TYPE EmpRefCursor IS REF CURSOR;
END EmpResultSet;
/

Package created.
SQL>
2
3
4
5
6

CREATE OR REPLACE FUNCTION


FunctionEmpResultSet
RETURN EmpResultSet.EmpRefCursor
IS
V_EmpResultSet
EmpResultSet.EmpRefCursor;
Emp_SQLSMTMT VARCHAR2(100);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7
8
9
10
11
12

BEGIN
Emp_SQLSMTMT := 'SELECT * FROM Emp';
OPEN V_EmpResultSet FOR Emp_SQLSMTMT;
RETURN V_EmpResultSet;
END FunctionEmpResultSet;
/

Function created.
SQL>
SQL>
SQL>
SQL>

COLUMN
COLUMN
COLUMN
SELECT

empno FORMAT 9999


Sal FORMAT 9999
Comm FORMAT 9999
FunctionEmpResultSet FROM DUAL;

FUNCTIONEMPRESULTSET
-------------------CURSOR STATEMENT : 1
CURSOR STATEMENT : 1
EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
MGR HIREDATE
SAL COMM
DEPTNO
--------- ---------- --------- ----- ----- ---------PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20

EMPNO
----7788
7876
7934

ENAME
---------SCOTT
ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM
DEPTNO
--------- ---------- --------- ----- ----- ---------ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

14 rows selected.

SQL> ED
Wrote file afiedt.buf
1
2
3
4
5
6
7
8
9

CREATE OR REPLACE FUNCTION


FunctionEmpResultSet(P_Query VARCHAR2)
RETURN EmpResultSet.EmpRefCursor
IS
V_EmpResultSet
EmpResultSet.EmpRefCursor;
Emp_SQLSMTMT VARCHAR2(400) := P_Query;
BEGIN
OPEN V_EmpResultSet FOR Emp_SQLSMTMT;
RETURN V_EmpResultSet;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

10* END FunctionEmpResultSet;


SQL> /
Function created.
SQL> SELECT FunctionEmpResultSet('&GiveQuery') FROM DUAL;
Enter value for givequery: SELECT * FROM Emp
FUNCTIONEMPRESULTSET
-------------------CURSOR STATEMENT : 1
CURSOR STATEMENT : 1
EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

JOB
MGR HIREDATE
SAL COMM
DEPTNO
--------- ---------- --------- ----- ----- ---------PRESIDENT
17-NOV-81 5000
10
MANAGER
7839 01-MAY-81 2850
30
MANAGER
7839 09-JUN-81 2450
10
MANAGER
7839 02-APR-81 2975
20
SALESMAN
7698 28-SEP-81 1250 1400
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30
ANALYST
7566 03-DEC-81 3000
20
CLERK
7902 17-DEC-80
800
20

EMPNO
----7788
7876
7934

ENAME
---------SCOTT
ADAMS
MILLER

JOB
MGR HIREDATE
SAL COMM
DEPTNO
--------- ---------- --------- ----- ----- ---------ANALYST
7566 09-DEC-82 3000
20
CLERK
7788 12-JAN-83 1100
20
CLERK
7782 23-JAN-82 1300
10

14 rows selected.

SQL> /
Enter value for givequery: SELECT * FROM Dept
FUNCTIONEMPRESULTSET
-------------------CURSOR STATEMENT : 1
CURSOR STATEMENT : 1
DEPTNO
---------10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SQL> /
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Enter value for givequery: SELECT * FROM SalGrade


FUNCTIONEMPRESULTSET
-------------------CURSOR STATEMENT : 1
CURSOR STATEMENT : 1
GRADE
LOSAL
HISAL
---------- ---------- ---------1
700
1200
2
1201
1400
3
1401
2000
4
2001
3000
5
3001
9999

SQL> /
Enter value for givequery: SELECT Ename, Dname, Sal, Grade FROM Emp, Dept,
SalGrade WHERE Emp.Deptno = Dept.Deptno AND Emp.Sal BETWEEN LoSal AND HiSal
FUNCTIONEMPRESULTSET
-------------------CURSOR STATEMENT : 1
CURSOR STATEMENT : 1
ENAME
---------SMITH
JAMES
ADAMS
MARTIN
WARD
MILLER
TURNER
ALLEN
CLARK
BLAKE
JONES

DNAME
SAL
GRADE
-------------- ----- ---------RESEARCH
800
1
SALES
950
1
RESEARCH
1100
1
SALES
1250
2
SALES
1250
2
ACCOUNTING
1300
2
SALES
1500
3
SALES
1600
3
ACCOUNTING
2450
4
SALES
2850
4
RESEARCH
2975
4

ENAME
---------FORD
SCOTT
KING

DNAME
SAL
GRADE
-------------- ----- ---------RESEARCH
3000
4
RESEARCH
3000
4
ACCOUNTING
5000
5

14 rows selected.

SQL> cl scr
SQL> CREATE OR REPLACE PACKAGE Employee_RefCur_PKG
2 AS
3 TYPE EmpCursor IS REF CURSOR;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4
5
6
7
8
9
10

PROCEDURE
EmployeeSearch
(
IN_EName
IN VARCHAR2,
OUT_EmpCursor OUT EmpCursor);
END Employee_RefCur_PKG;
/

Package created.
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

CREATE OR REPLACE PACKAGE BODY Employee_RefCur_PKG


AS
PROCEDURE
EmployeeSearch
(
IN_EName
IN VARCHAR2,
OUT_EmpCursor OUT EmpCursor
)
IS
BEGIN
OPEN OUT_EmpCursor
FOR
SELECT Emp.Empno, Emp.Ename, Emp.Job,
Emp.Sal, Dept.Dname, Dept.Loc
FROM Emp, Dept
WHERE Ename LIKE UPPER('%' || IN_EName || '%')
AND
Emp.Deptno = Dept.Deptno
ORDER BY UPPER(Emp.Ename);
END EmployeeSearch;
END Employee_RefCur_PKG;
/

Package body created.


SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

DECLARE
O_EmpCursor Employee_RefCur_PKG.EmpCursor;
TYPE RefData IS RECORD
(
Empno Emp.Empno%TYPE,
Ename Emp.Ename%TYPE,
Job Emp.Job%TYPE,
Sal Emp.Sal%TYPE,
Dname Dept.Dname%TYPE,
Loc Dept.Loc%TYPE
);
MyRefData RefData;
IN_EName VARCHAR2(10) := '&GName';
TYPE MyArray IS
TABLE OF
MyRefData%TYPE;
V_MyArray MyArray;
BEGIN
Employee_RefCur_PKG.EmployeeSearch(IN_EName, O_EmpCursor);
FETCH O_EmpCursor BULK COLLECT INTO V_MyArray;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

21 CLOSE O_EmpCursor;
22 FOR LoopIndex IN 1 .. V_MyArray.Count
23 LOOP
24 DBMS_OUTPUT.PUT_LINE(V_MyArray(LoopIndex).Empno||',
'||V_MyArray(LoopIndex).Ename||', '|| V_MyArray(LoopIndex).Job||',
'||V_MyArray(LoopIndex).Sal||', '||V_MyArray(LoopIndex).Dname||', '||
V_MyArray(LoopIndex).Loc);
25 END LOOP;
26 END;
27 /
Enter value for gname: Smith
7369, SMITH, CLERK, 800, RESEARCH, DALLAS
PL/SQL procedure successfully completed.
SQL> /
Enter value for gname: S
7876, ADAMS, CLERK, 1100, RESEARCH, DALLAS
7900, JAMES, CLERK, 950, SALES, CHICAGO
7566, JONES, MANAGER, 2975, RESEARCH, DALLAS
7788, SCOTT, ANALYST, 3000, RESEARCH, DALLAS
7369, SMITH, CLERK, 800, RESEARCH, DALLAS
PL/SQL procedure successfully completed.
SQL> /
Enter value for gname: A
7876, ADAMS, CLERK, 1100, RESEARCH, DALLAS
7499, ALLEN, SALESMAN, 1600, SALES, CHICAGO
7698, BLAKE, MANAGER, 2850, SALES, CHICAGO
7782, CLARK, MANAGER, 2450, ACCOUNTING, NEW YORK
7900, JAMES, CLERK, 950, SALES, CHICAGO
7654, MARTIN, SALESMAN, 1250, SALES, CHICAGO
7521, WARD, SALESMAN, 1250, SALES, CHICAGO
PL/SQL procedure successfully completed.
SQL> cl scr
SQL> DELETE FROM Emp;
14 rows deleted.
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL>
2
3
4
5
6

CREATE OR REPLACE TRIGGER WeekEndCheck


AFTER INSERT OR UPDATE OR DELETE
ON Emp
DECLARE
V_WeekDay VARCHAR2(100);
BEGIN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

7 V_WeekDay := TO_CHAR(SYSDATE,'DY');
8 IF V_WeekDay = 'SAT' OR V_WeekDay = 'SUN' THEN
9 RAISE_APPLICATION_ERROR(-20010,'An Illegal Intrusion into the System was
Detected.');
10 END IF;
11 END;
12 /
Trigger created.
SQL> DELETE FROM Emp;
14 rows deleted.
SQL> ROLLBACK;
Rollback complete.
SQL> DELETE FROM Emp;
DELETE FROM Emp
*
ERROR at line 1:
ORA-20010: An Illegal Intrusion into the System was Detected.
ORA-06512: at "SCOTT.WEEKENDCHECK", line 6
ORA-04088: error during execution of trigger 'SCOTT.WEEKENDCHECK'

SQL> cl scr
SQL> DROP TRIGGER WeekEndCheck;
Trigger dropped.
SQL> cl scr
SQL> DELETE FROm Emp;
14 rows deleted.
SQL> ROLLBACK;
Rollback complete.
SQL>
2
3
4
5
6
7
8
9
10
11
12

CREATE OR REPLACE TRIGGER IllegalTime


BEFORE INSERT OR UPDATE OR DELETE
ON Emp
DECLARE
V_Time NUMBER;
BEGIN
V_Time := TO_CHAR(SYSDATE, 'HH24');
IF V_Time NOT BETWEEN 10 AND 17 THEN
RAISE_APPLICATION_ERROR(-20011,' Illegal Intrusion, Not Business Hours.');
END IF;
END;
/
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Trigger created.
SQL> DELETE FROm Emp;
DELETE FROm Emp
*
ERROR at line 1:
ORA-20011: Illegal Intrusion, Not Business Hours.
ORA-06512: at "SCOTT.ILLEGALTIME", line 6
ORA-04088: error during execution of trigger 'SCOTT.ILLEGALTIME'

SQL> CREATE OR REPLACE TRIGGER WeekEndCheck


2 AFTER INSERT OR UPDATE OR DELETE
3 ON Emp
4 DECLARE
5 V_WeekDay VARCHAR2(100);
6 BEGIN
7 V_WeekDay := TO_CHAR(SYSDATE,'DY');
8 IF V_WeekDay = 'SAT' OR V_WeekDay = 'SUN' THEN
9 RAISE_APPLICATION_ERROR(-20010,'An Illegal Intrusion into the System was
Detected.');
10 END IF;
11 END;
12 /
Trigger created.
SQL> DELETE FROm Emp;
DELETE FROm Emp
*
ERROR at line 1:
ORA-20011: Illegal Intrusion, Not Business Hours.
ORA-06512: at "SCOTT.ILLEGALTIME", line 6
ORA-04088: error during execution of trigger 'SCOTT.ILLEGALTIME'

SQL> SPOOL OFF


SQL> cl scr
SQL> CREATE OR REPLACE TRIGGER WeekEndCheck
2 AFTER INSERT OR UPDATE OR DELETE
3 ON Emp
4 DECLARE
5 V_WeekDay VARCHAR2(100);
6 BEGIN
7 V_WeekDay := TO_CHAR(SYSDATE,'DY');
8 IF V_WeekDay = 'SAT' OR V_WeekDay = 'SUN' THEN
9 RAISE_APPLICATION_ERROR(-20010,'An Illegal Intrusion into the System was
Detected.');
10 END IF;
11 END;
12 /
Trigger created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> DELETE FROM Emp


2 WHERE Deptno = 30;
DELETE FROM Emp
*
ERROR at line 1:
ORA-20010: An Illegal Intrusion into the System was Detected.
ORA-06512: at "SCOTT.WEEKENDCHECK", line 6
ORA-04088: error during execution of trigger 'SCOTT.WEEKENDCHECK'

SQL> CREATE OR REPLACE TRIGGER WeekEndCheck


2 AFTER INSERT OR UPDATE OR DELETE
3 ON Emp
4 FOR EACH ROW
5 DECLARE
6 V_WeekDay VARCHAR2(100);
7 BEGIN
8 V_WeekDay := TO_CHAR(SYSDATE,'DY');
9 IF V_WeekDay = 'SAT' OR V_WeekDay = 'SUN' THEN
10 RAISE_APPLICATION_ERROR(-20010,'An Illegal Intrusion into the System was
Detected.');
11 END IF;
12 END;
13 /
Trigger created.
SQL> DELETE FROM Emp
2 WHERE Deptno = 30;
DELETE FROM Emp
*
ERROR at line 1:
ORA-20010: An Illegal Intrusion into the System was Detected.
ORA-06512: at "SCOTT.WEEKENDCHECK", line 6
ORA-04088: error during execution of trigger 'SCOTT.WEEKENDCHECK'

SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12

CREATE OR REPLACE TRIGGER WeekEndCheck


AFTER INSERT OR UPDATE OR DELETE
ON Emp
DECLARE
V_WeekDay VARCHAR2(100);
BEGIN
V_WeekDay := TO_CHAR(SYSDATE,'DY');
IF V_WeekDay = 'SAT' OR V_WeekDay = 'SUN' THEN
DBMS_OUTPUT.PUT_LINE('An Illegal Intrusion into the System was Detected.');
END IF;
END;
/

Trigger created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> DELETE FROM Emp


2 WHERE Deptno = 30;
An Illegal Intrusion into the System was Detected.
6 rows deleted.
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13

CREATE OR REPLACE TRIGGER WeekEndCheck


AFTER INSERT OR UPDATE OR DELETE
ON Emp
FOR EACH ROW
DECLARE
V_WeekDay VARCHAR2(100);
BEGIN
V_WeekDay := TO_CHAR(SYSDATE,'DY');
IF V_WeekDay = 'SAT' OR V_WeekDay = 'SUN' THEN
DBMS_OUTPUT.PUT_LINE('An Illegal Intrusion into the System was Detected.');
END IF;
END;
/

Trigger created.
SQL> DELETE FROM EMp
2 WHERE Empno = 7654;
An Illegal Intrusion into the System was Detected.
1 row deleted.
SQL> DELETE FROM EMp
2 WHERE Deptno = 30;
An Illegal Intrusion into
An Illegal Intrusion into
An Illegal Intrusion into
An Illegal Intrusion into
An Illegal Intrusion into

the
the
the
the
the

System
System
System
System
System

was
was
was
was
was

Detected.
Detected.
Detected.
Detected.
Detected.

5 rows deleted.
SQL> cl scr
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> CREATE VIEW DeptView
2 AS
3 SELECT Deptno, Dname, Loc
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4
5

FROM Dept
/

View created.
SQL> DESC DeptView
Name
Null?
----------------------------------------- -------DEPTNO
NOT NULL
DNAME
LOC

Type
---------------------------NUMBER(2)
VARCHAR2(14)
VARCHAR2(13)

SQL> SELECT * FROm DeptView;


DEPTNO
---------10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SQL> INSERT INTO DeptView


2 VALUES(50, 'SHIPPING', 'CHENNAI');
1 row created.
SQL>
SQL> SELECT * FROm DeptView;
DEPTNO
---------10
20
30
40
50

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
SHIPPING

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
CHENNAI

SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> SELECT * FROm DeptView;
DEPTNO
---------10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

SQL> CREATE OR REPLACE TRIGGER DeptDel


2 INSTEAD OF DELETE ON DeptView
3 FOR EACH ROW
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

4
5
6
7
8
9

BEGIN
DELETE FROM Dept
WHERE Deptno = :OLD.Deptno;
DBMS_OUTPUT.PUT_LINE('Trigger Fired, Data Deleted');
END;
/

Trigger created.
SQL> DELETE FROM DeptView
2 WHERE Deptno = 40;
Trigger Fired, Data Deleted
1 row deleted.
SQL> cl scr
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL>
2
3
4
5

CREATE OR REPLACE VIEW Employees_Dept_Info


AS
SELECT Dname, Ename
FROM Emp, Dept
WHERE Dept.DeptNo = Emp.DeptNo;

View created.
SQL> CREATE OR REPLACE TRIGGER Insert_Dept_Info
2 INSTEAD OF INSERT ON Employees_Dept_Info
3 DECLARE
4 V_DeptNo Dept.Deptno%TYPE;
5 Duplicate_Record EXCEPTION;
6 PRAGMA EXCEPTION_INIT(Duplicate_Record, -00001);
7 BEGIN
8 SELECT MAX(Deptno) INTO V_Deptno
9 FROM Dept;
10 V_Deptno := V_deptno + 10;
11 INSERT INTO Dept
12 VALUES(V_Deptno,:NEW.Dname, 'Not Confirmed');
13 EXCEPTION
14 WHEN Duplicate_Record THEN
15 RAISE_APPLICATION_ERROR(num=> -20107, msg=> 'Duplicated Department
Number!');
16 END Insert_Dept_Info;
17 /
Trigger created.
SQL> INSERT INTO Employees_Dept_Info
2 VALUES('SHIPPING', NULL);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1 row created.
SQL> SELECT * FROm Dept;
DEPTNO
---------10
20
30
40
50

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
SHIPPING

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
Not Confirmed

SQL> cl scr
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> DELETE FROM Emp
2 WHERE Deptno = 30;
6 rows deleted.
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL>
2
3
4
5
6
7
8

CREATE OR REPLACE TRIGGER Tab_ReadOnly


BEFORE DELETE OR INSERT OR UPDATE
ON Emp
FOR EACH ROW
BEGIN
RAISE_APPLICATION_ERROR(-20201, 'Table Status: READ ONLY.');
END;
/

Trigger created.
SQL> DELETE FROM Emp
2 WHERE Deptno = 30;
DELETE FROM Emp
*
ERROR at line 1:
ORA-20201: Table Status: READ ONLY.
ORA-06512: at "SCOTT.TAB_READONLY", line 2
ORA-04088: error during execution of trigger 'SCOTT.TAB_READONLY'

SQL> SELECT Ename FROm Emp;


ENAME
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
ENAME
---------SCOTT
ADAMS
MILLER
14 rows selected.
SQL> cl scr
SQL> DROP TRIGGER Tab_ReadOnly;
Trigger dropped.
SQL> cl scr
SQL> CREATE TABLE EmpAudit
2 (
3
UserName VARCHAR2(20),
4
TranDate DATE,
5
TranTime DATE,
6
TranType VARCHAR2(10)
7 );
Table created.
SQL> COLUMN UserName FORMAT A10
SQL> cl sscr
SP2-0158: unknown CLEAR option "sscr"
SQL> cl scr
SQL> SELECT * FROM EmpAudit;
no rows selected
SQL>
2
3
4
5
6
7

CREATE OR REPLACE TRIGGER EmpAuditTrg


AFTER INSERT OR DELETE OR UPDATE
ON Emp
DECLARE
V_TranType EmpAudit.TranType%TYPE;
BEGIN
IF INSERTING THEN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

8 V_TranType := 'Insert';
9 ELSIF UPDATING THEN
10 V_TranType := 'Update';
11 ELSE
12 V_TranType := 'Delete';
13 END IF;
14 INSERT INTO EmpAudit
15 VALUES(USER, TO_DATE(TO_CHAR(SYSDATE, 'DD-MON-YYYY'), 'DD-MON-YYYY'),
TO_DATE(TO_CHAR(SYSDATE, 'HH24:MI:SS'), 'HH24:MI:SS'), V_TranType);
16 END;
17 /
Trigger created.
SQL> DELETE FROM Emp
2 WHERE Empno = 7654;
1 row deleted.
SQL> SELECT * FROM EmpAudit;
USERNAME
TRANDATE TRANTIME TRANTYPE
---------- --------- --------- ---------SCOTT
03-SEP-10 01-SEP-10 Delete
SQL> DELETE FROM Emp
2 WHERE Deptno = 30;
5 rows deleted.
SQL> SELECT * FROM EmpAudit;
USERNAME
---------SCOTT
SCOTT

TRANDATE
--------03-SEP-10
03-SEP-10

TRANTIME
--------01-SEP-10
01-SEP-10

TRANTYPE
---------Delete
Delete

SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12

CREATE OR REPLACE TRIGGER EmpAuditTrg


AFTER INSERT OR DELETE OR UPDATE
ON Emp
FOR EACH ROW
DECLARE
V_TranType EmpAudit.TranType%TYPE;
BEGIN
IF INSERTING THEN
V_TranType := 'Insert';
ELSIF UPDATING THEN
V_TranType := 'Update';
ELSE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

13 V_TranType := 'Delete';
14 END IF;
15 INSERT INTO EmpAudit
16 VALUES(USER, TO_DATE(TO_CHAR(SYSDATE, 'DD-MON-YYYY'), 'DD-MON-YYYY'),
TO_DATE(TO_CHAR(SYSDATE, 'HH24:MI:SS'), 'HH24:MI:SS'), V_TranType);
17 END;
18 /
Trigger created.
SQL> DELETE FROM Emp
2 WHERE Empno = 7654;
1 row deleted.
SQL> SELECT * FROM EmpAudit;
USERNAME
TRANDATE TRANTIME TRANTYPE
---------- --------- --------- ---------SCOTT
03-SEP-10 01-SEP-10 Delete
SQL> DELETE FROM Emp
2 WHERE Deptno = 30;
5 rows deleted.
SQL> SELECT * FROM EmpAudit;
USERNAME
---------SCOTT
SCOTT
SCOTT
SCOTT
SCOTT
SCOTT

TRANDATE
--------03-SEP-10
03-SEP-10
03-SEP-10
03-SEP-10
03-SEP-10
03-SEP-10

TRANTIME
--------01-SEP-10
01-SEP-10
01-SEP-10
01-SEP-10
01-SEP-10
01-SEP-10

TRANTYPE
---------Delete
Delete
Delete
Delete
Delete
Delete

6 rows selected.
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> cl scr
SQL> CREATE TABLE Emp_Audit_Table
2 (
3
AuditSeq
NUMBER,
4
UserName
VARCHAR2(10),
5
TimeTaran
DATE,
6
UserTerm
VARCHAR2(10),
7
TranType
VARCHAR2(10),
8
ProcDone
VARCHAR2(10),
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

9
10

Enum

NUMBER

);

Table created.
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>

COLUMN
COLUMN
COLUMN
COLUMN
COLUMN
SELECT

AuditSeq FORMAT 999


UserName FORMAT A6
UserTerm FORMAT A6
TranType FORMAT A7
ProcDone FORMAT A7
* FROM Emp_Audit_Table;

no rows selected
SQL> CREATE SEQUENCE Audit_Seq;
Sequence created.
SQL> CREATE TABLE Audit_Table_Values
2 (
3
Audit_Seq
NUMBER,
4
ColumnName
VARCHAR2(10),
5
OldValue
NUMBER,
6
NewValue
NUMBER
7
);
Table created.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

CREATE OR REPLACE TRIGGER Audit_On_Emp_Table


AFTER INSERT OR UPDATE OR DELETE
ON Emp
FOR EACH ROW
DECLARE
Tran_Time
DATE;
User_Terminal
VARCHAR2(10);
BEGIN
Tran_Time := SYSDATE;
User_Terminal := USERENV('TERMINAL');
IF INSERTING THEN
INSERT INTO Emp_Audit_Table
VALUES(
Audit_Seq.NEXTVAL,
USER,
Tran_Time,
User_Terminal,
'Emp',
'INSERT',
:NEW.Empno
);
ELSIF DELETING THEN
INSERT INTO Emp_Audit_Table
VALUES(
Audit_Seq.NEXTVAL,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

USER,
Tran_Time,
User_Terminal,
'Emp',
'DELETE',
:OLD.Empno
);
ELSE
INSERT INTO Emp_Audit_Table
VALUES (
Audit_Seq.NEXTVAL,
USER,
Tran_Time,
User_Terminal,
'Emp',
'UPDATE',
:OLD.Empno
);
IF UPDATING('SAL') THEN
INSERT INTO Audit_Table_Values
VALUES(
Audit_Seq.CURRVAL,
'SAL',
:OLD.Sal,
:NEW.Sal
);
ELSIF UPDATING ('DEPTNO') THEN
INSERT INTO Audit_Table_Values
VALUES(
Audit_Seq.CURRVAL,
'DEPTNO',
:OLD.Deptno,
:NEW.DEPTNO
);
END IF;
END IF;
END;
/

Trigger created.
SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)
2 VALUES(1234, 'SAMPLE01', 30, 2000);
1 row created.
SQL> SELECT * FROM EmpAudit;
USERNA TRANDATE TRANTIME TRANTYP
------ --------- --------- ------SCOTT 03-SEP-10 01-SEP-10 Insert
SQL> SELECT * FROM Emp_Audit_Table;
AUDITSEQ USERNA TIMETARAN USERTE TRANTYP PROCDON
ENUM
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

-------- ------ --------- ------ ------- ------- ---------1 SCOTT 03-SEP-10 NIT
Emp
INSERT
1234
SQL> DELETE FROM Emp
2 WHERE Empno = 1234;
1 row deleted.
SQL> SELECT * FROM EmpAudit;
USERNA
-----SCOTT
SCOTT

TRANDATE
--------03-SEP-10
03-SEP-10

TRANTIME
--------01-SEP-10
01-SEP-10

TRANTYP
------Insert
Delete

SQL> SELECT * FROM Emp_Audit_Table;


AUDITSEQ
-------1
2

USERNA
-----SCOTT
SCOTT

TIMETARAN
--------03-SEP-10
03-SEP-10

USERTE
-----NIT
NIT

TRANTYP
------Emp
Emp

PROCDON
ENUM
------- ---------INSERT
1234
DELETE
1234

SQL> UPDATE Emp


2 SET Sal = Sal + 1000
3 WHERE Empno = 7654;
1 row updated.
SQL> SELECT * FROM EmpAudit;
USERNA
-----SCOTT
SCOTT
SCOTT

TRANDATE
--------03-SEP-10
03-SEP-10
03-SEP-10

TRANTIME
--------01-SEP-10
01-SEP-10
01-SEP-10

TRANTYP
------Insert
Delete
Update

SQL> SELECT * FROM Emp_Audit_Table;


AUDITSEQ
-------1
2
3

USERNA
-----SCOTT
SCOTT
SCOTT

TIMETARAN
--------03-SEP-10
03-SEP-10
03-SEP-10

USERTE
-----NIT
NIT
NIT

TRANTYP
------Emp
Emp
Emp

PROCDON
ENUM
------- ---------INSERT
1234
DELETE
1234
UPDATE
7654

SQL> SELECT * FROM Audit_Table_Values


2 /
AUDIT_SEQ COLUMNNAME
OLDVALUE
NEWVALUE
---------- ---------- ---------- ---------3 SAL
1250
2250
SQL>
2
3
4

UPDATE Emp
SET
Deptno = 20
WHERE Empno = 7654;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1 row updated.
SQL> SELECT * FROM Audit_Table_Values
2 /
AUDIT_SEQ
---------3
4

COLUMNNAME
OLDVALUE
NEWVALUE
---------- ---------- ---------SAL
1250
2250
DEPTNO
30
20

SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11
12

CREATE TABLE RecycleBin


(
Empno NUMBER(6),
Ename VARCHAR2(20),
Job VARCHAR(20),
MGR NUMBER(6),
HireDate DATE,
Sal NUMBEr(7,2),
Comm NUMBER(7,2),
Deptno NUMBER(2)
)
/

Table created.
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>

COLUMN
COLUMN
COLUMN
COLUMN
COLUMN
cl scr

Empno FORMAT 9999


Sal FORMAT 9999
Comm FORMAT 9999
Ename FORMAT A10
Job FORMAT A14

SQL> CREATE OR REPLACE TRIGGER EmpRBin


2 BEFORE DELETE
3 ON Emp
4 FOR EACH ROW
5 BEGIN
6 INSERT INTO RecycleBin
7
VALUES(:OLD.Empno, :OLD.Ename, :OLD.Job, :OLD.MGR, :OLD.HireDate, :OLD.Sal, :OLD
.Comm, :OLD.Deptno);
8 END;
9 /
Trigger created.
SQL> DELETE FROM Emp
2 WHERE Empno = 7654;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

1 row deleted.
SQL> SELECT Ename FROM Emp WHERE Empno = 7654;
no rows selected
SQL> SELECT * FROM RecycleBin;
EMPNO ENAME
JOB
MGR HIREDATE
SAL COMM
DEPTNO
----- ---------- -------------- ---------- --------- ----- ----- ---------7654 MARTIN
SALESMAN
7698 28-SEP-81 1250 1400
30
SQL> DELETE FROM Emp
2 WHERE Deptno = 30;
5 rows deleted.
SQL> SELECT * FROM RecycleBin;
EMPNO
----7654
7698
7499
7844
7900
7521

ENAME
---------MARTIN
BLAKE
ALLEN
TURNER
JAMES
WARD

JOB
MGR HIREDATE
SAL COMM
DEPTNO
-------------- ---------- --------- ----- ----- ---------SALESMAN
7698 28-SEP-81 1250 1400
30
MANAGER
7839 01-MAY-81 2850
30
SALESMAN
7698 20-FEB-81 1600
300
30
SALESMAN
7698 08-SEP-81 1500
0
30
CLERK
7698 03-DEC-81
950
30
SALESMAN
7698 22-FEB-81 1250
500
30

6 rows selected.
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL>
2
3
4
5
6
7
8

CREATE OR REPLACE TRIGGER PresidentNo


BEFORE DELETE ON Emp
FOR EACH ROW
WHEN (OLD.Job = 'PRESIDENT')
BEGIN
RAISE_APPLICATION_ERROR(-20555, 'Sorry President Cannot be Deleted...');
END PresidentNo;
/

Trigger created.
SQL> DELETE FROM Emp WHERE Empno = 7654;
1 row deleted.
SQL> ROLLBACK;
Rollback complete.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> DELETE FROM Emp WHERE Ename = 'KING';


DELETE FROM Emp WHERE Ename = 'KING'
*
ERROR at line 1:
ORA-20555: Sorry President Cannot be Deleted...
ORA-06512: at "SCOTT.PRESIDENTNO", line 2
ORA-04088: error during execution of trigger 'SCOTT.PRESIDENTNO'

SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> SELECT Ename, Sal FROM Emp;
ENAME
SAL
---------- ----KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
ALLEN
1600
TURNER
1500
JAMES
950
WARD
1250
FORD
3000
SMITH
800
ENAME
SAL
---------- ----SCOTT
3000
ADAMS
1100
MILLER
1300
14 rows selected.
SQL>
2
3
4
5
6
7
8

CREATE OR REPLACE TRIGGER ChkSalary


BEFORE UPDATE OF Sal ON Emp
FOR EACH ROW
WHEN (NEW.Sal < OLD.Sal)
BEGIN
RAISE_APPLICATION_ERROR(-20500, 'Salary Cannot be Decreased...');
END;
/

Trigger created.
SQL> UPDATE Emp
2 SET Sal = 1000
3 WHERE Ename = 'ADAMS';
UPDATE Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

*
ERROR at line 1:
ORA-20500: Salary Cannot be Decreased...
ORA-06512: at "SCOTT.CHKSALARY", line 2
ORA-04088: error during execution of trigger 'SCOTT.CHKSALARY'

SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL>
2
3
4
5
6
7
8
9
10
11

CREATE OR REPLACE TRIGGER GenEmpno


BEFORE INSERT ON Emp
FOR EACH ROW
DECLARE
V_Empno Emp.Empno%TYPE;
BEGIN
SELECT MAX(Empno) INTO V_Empno
FROM Emp;
:NEW.Empno := V_Empno + 1;
End GenEmpno;
/

Trigger created.
SQL> SELECT Empno, Ename FROm Emp;
EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

EMPNO
----7788
7876
7934

ENAME
---------SCOTT
ADAMS
MILLER

14 rows selected.
SQL> INSERT INTO Emp(Ename, Deptno, Sal, Job)
2 VALUES('SAMPLE', 30, 2000, 'CLERK');
1 row created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT Empno, Ename FROm Emp;


EMPNO
----7839
7698
7782
7566
7654
7499
7844
7900
7521
7902
7369

ENAME
---------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

EMPNO
----7788
7876
7934
7935

ENAME
---------SCOTT
ADAMS
MILLER
SAMPLE

15 rows selected.
SQL> cl scr
SQL> ROLLBACK;
Rollback complete.
SQL> cl scr
SQL> CREATE SEQUENCE Sample_ID_Key;
Sequence created.
SQL> CREATE TABLE Sample_Tab
2 (
3
SampID VARCHAR2(6),
4
SampName VARCHAR2(10),
5
SampDate DATE
6 );
Table created.
SQL>
2
3
4
5
6
7
8

CREATE OR REPLACE TRIGGER


Sample_ID_Key_Gen
BEFORE INSERT ON Sample_Tab
FOR EACH ROW
DECLARE
V_SampID NUMBER;
BEGIN
SELECT Sample_ID_Key.NEXTVAL INTO V_SampID
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

9
10
11
12

FROM DUAL;
:NEW.SampID:= 'SAM'||LPAD(V_SampID, 3, 0);
END;
/

Trigger created.
SQL> INSERT INTO Sample_Tab(SampName, SampDate)
2 VALUES('SAMPLE01', SYSDATE);
1 row created.
SQL> INSERT INTO Sample_Tab(SampName, SampDate)
2 VALUES('SAMPLE01', SYSDATE);
1 row created.
SQL> SELECT * FROM Sample_Tab;
SAMPID
-----SAM001
SAM002

SAMPNAME
---------SAMPLE01
SAMPLE01

SAMPDATE
--------03-SEP-10
03-SEP-10

SQL> cl scr
SQL>
2
3
4
5
6
SQL>
SQL>

CREATE TABLE UserLog


(UserId VARCHAR2(30),
LogDate DATE,
Action VARCHAr2(50)
)

ROLLBACK;

Rollback complete.
SQL> cl scr
SQL>
2
3
4
5
6

CREATE TABLE UserLog


(UserId VARCHAR2(30),
LogDate DATE,
Action VARCHAr2(50)
)
/

Table created.
SQL>
2
3
4
5
6
7

CREATE OR REPLACE TRIGGER LogOnTrigger


AFTER LOGON ON SCHEMA
BEGIN
INSERT INTO UserLog(UserID, LogDate, Action)
VALUES(USER, SYSDATE, 'Logged On...');
END LogOnTrigger;
/
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Spool Generated For Class of Oracle By Satish K Yellanki

Trigger created.
SQL>
2
3
4
5
6
7

CREATE OR REPLACE TRIGGER LogOffTrigger


BEFORE LOGOFF ON SCHEMA
BEGIN
INSERT INTO UserLog(UserID, LogDate, Action)
VALUES(USER, SYSDATE, 'Logged Off...');
END LogOffTrigger;
/

Trigger created.
SQL> SELECT * FROM UserLog;
no rows selected
SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

Você também pode gostar