You are on page 1of 43

MEERUT INSTITUTE OF ENGINEERING & TECHNOLOGY, MEERUT

N.H. 58, Delhi-Roorkee Highway, Baghpat Road Bypass Crossing, Meerut-250005

Department of Information Technology


B. Tech. (Session 2021-22)

Lab Manual

Database Management System Lab

(KCS-551)

Submitted to: Submitted by:


Mr. Mohit Kumar Jayant Jhunja
IT (G1)
1900680130023
MEERUT INSTITUTE OF ENGINEERING & TECHNOLOGY, MEERUT
N.H. 58, Delhi-Roorkee Highway, Baghpat Road Bypass Crossing, Meerut-250005

Computer Science & Engineering Department


B. Tech. 3rd Year/ 5th Semester
(Session: 2021-22)

DBMS Lab. (KCS-551)

1. Write SQLqueriesto implementDDLcommands.


2. Write SQLqueries toimplement DMLcommands.
3. Write SQLqueries to implement TCLcommands.
4. WriteSQLqueries toimplement Keys constraints.
5. Write SQLqueries toimplement Joins.
6. WriteSQLqueries to implement Views.
7. WriteSQLqueriesto SELECTdatausingSET UNION,INTERSECTION
andMINUSoperations.
8. WriteSQLqueries usingAGGREGATE functions.
9. WriteSQLqueriesto implementNested queries.
10. WriteaPL/SQLcodeblock tofind factorial of anumber.
11. WriteaPL/SQLcodeblock to implementIndexes.
12. WriteaPL/SQLcodeblockto implementProcedures.
13. WriteaPL/SQLcodeblock to implement Triggers.
1. WriteSQLqueriestoimplementDDLcommands.

DDL commands used are:o Create


o Alter
o Drop
o Truncate

QUERY:01Writeaquerytocreateatableemployeewithempno,ename,designation,andsalary.

Syntaxforcreatingatable:

SQL:CREATE<OBJ.TYPE><OBJ.NAME>(COLUMNNAME.1<DATATYPE>(SIZE),COLUMN
NAME.1<DATATYPE>(SIZE).......................................);

SQL>CREATE TABLE EMP( (EMPNO NUMBER


(4),ENAMEVARCHAR2(10),
DESIGNATINVARCHAR2(10),
SALARYNUMBER(8,2));
Tablecreated.

QUERY:02Writeaquerytodisplaythecolumnnameanddatatypeofthetableemployee.

Syntaxfordescribethetable:

SQL: DESC <TABLE NAME>;SQL>DESC EMP;

Name Null? Type

EMPNO NUMBER(4)
ENAME VARCHAR2(10)
DESIGNATIN VARCHAR2(10)
SALARY NUMBER(8,2)
ALTER&MODIFICATIONONTABLE

QUERY:03 WriteaQuerytoAlterthecolumnEMPNONUMBER(4)TOEMPNONUMBER(6).

SyntaxforAlter &ModifyonaSingle Column:

SQL>ALTER<TABLENAME>MODIFY<COLUMNNAME><DATATYPE>(SIZE);SQL>ALTERTABLE EMP

MODIFYEMPNONUMBER (6);
Tablealtered.

SQL>DESCEMP;

Name Null? Type

EMPNO NUMBER(6)
ENAME VARCHAR2(10)DESIGNATIN
VARCHAR2(10)SALARY
NUMBER(8,2)

QUERY:04WriteaQuerytoAlterthetableemployeewithmultiplecolumns(EMPNO,ENAME.)

Syntax foraltertable withmultiplecolumn:

SQL>ALTER<TABLE NAME>MODIFY<COLUMN NAME1><DATATYPE>(SIZE),MODIFY <COLUMN


NAME2> <DATATYPE> (SIZE)
………………………………………….;

SQL>ALTER TABLE EMP MODIFY (EMPNO NUMBER (7),


ENAMEVARCHAR2(12));
Tablealtered.

SQL>DESCEMP;

Name Null? Type

EMPNO NUMBER(7)
ENAME VARCHAR2(12)DESIGNATIN
VARCHAR2(10)SALARY
NUMBER(8,2);
QUERY: 05 Write a query to add a new column in to employeeSyntax foradd

anew column:

SQL>ALTERTABLE<TABLENAME>ADD(<COLUMNNAME><DATATYPE>
<SIZE>);

SQL>ALTERTABLEEMPADDQUALIFICATIONVARCHAR2(6);
Tablealtered.
SQL>DESCEMP;
Name Null? Type

EMPNO NUMBER(7)
ENAME VARCHAR2(12)DESIGNATIN
VARCHAR2(10)SALARY
NUMBER(8,2)
QUALIFICATION VARCHAR2(6)

QUERY: 06Write a query to add multiple columns in to employeeSyntax foradd anew

column:

SQL>ALTERTABLE<TABLENAME>ADD(<COLUMNNAME1><DATATYPE>
<SIZE>,(<COLUMN NAME2> <DATA TYPE> <SIZE>,
………………………………………………………………);

SQL>ALTERTABLEEMPADD(DOBDATE,DOJ DATE);
TablealteredSQL>DESCEMP;

Name Null? Type

EMPNO NUMBER(7)
ENAME VARCHAR2(12)DESIGNATIN
VARCHAR2(10)SALARY
NUMBER(8,2)
QUALIFICATION VARCHAR2(6)
DOB DATE
DOJ DATE
REMOVE/ DROP

QUERY: 07Write a query to drop a column from an existing table employeeSyntax foradd anew

column:

SQL>ALTERTABLE<TABLENAME>DROP COLUMN<COLUMNNAME>;

SQL>ALTERTABLEEMPDROPCOLUMNDOJ;
Tablealtered.

SQL>DESCEMP;

Name Null? Type

EMPNO NUMBER(7)
ENAME VARCHAR2(12)DESIGNATIN
VARCHAR2(10)
SALARY NUMBER(8,2)
QUALIFICATION VARCHAR2(6)
DOB DATE

QUERY: 08 Write a query to drop multiple columns from employeeSyntax foradd anew

column:

SQL>ALTERTABLE<TABLENAME>DROP<COLUMNNAME1>,<COLUMN
NAME2>,…...............................................;

SQL>ALTERTABLEEMPDROP(DOB,QUALIFICATION);
Tablealtered.

SQL>DESCEMP;

Name Null? Type

EMPNO NUMBER(7)
ENAME VARCHAR2(12)DESIGNATIN
VARCHAR2(10)SALARY
NUMBER(8,2)
REMOVE

QUERY:09Write aquerytorename table empto employee

Syntax foraddanewcolumn:

SQL> ALTER TABLE RENAME <OLD NAM E> TO <NEW NAME>SQL>

ALTERTABLEEMPRENAMEEMP TOEMPLOYEE;

SQL>DESCEMP;

Name Null? Type

EMPNO NUMBER(7)
ENAME VARCHAR2(12)DESIGNATIN
VARCHAR2(10)SALARY
NUMBER(8,2)
2. WriteSQLqueriestoimplementDMLcommands.

DML(DATAMANIPULATIONLANGUAGE)
 SELECT
 INSERT
 DELETE
 UPDATE

INSERT

QUERY: 01 Write a query to insert the records in to employee.Syntax forInsert

Records in toatable:

SQL :>INSERT INTO <TABLE NAME> VALUES< VAL1, ‘VAL2’,…..);INSERTA RECORD

FROM AN EXISTINGTABLE:

SQL>INSERTINTOEMPVALUES(101,'NAGARAJAN','LECTURER',15000);
1rowcreated.

SELECT

QUERY:02 Writeaqueryto displaythe records fromemployee.Syntax forselect

Records from thetable:

SQL> SELECT * FROM <TABLE NAME>;DISPLAYTHE

EMP TABLE:

SQL>SELECT* FROMEMP;

EMPNO ENAME DESIGNATION SALARY

101 NAGARAJAN LECTURER 15000

INSERTARECORDUSINGSUBSITUTION METHOD

QUERY:03.Writeaquerytoinserttherecordsintoemployeeusingsubstitutionmethod.

Syntaxfor InsertRecordsintothetable:

SQL>INSERTINTO<TABLENAME>VALUES<‘&columnname’,‘&columnname2’,…..);
SQL> INSERT INTO
EMPVALUES(&EMPNO,'&ENAME','&DESIGNATIN','&SALARY');

Entervaluefor empno:102
Enter value for ename: SARAVANANEnter value for
designatin: LECTUREREntervalue for salary:15000
old 1: INSERT INTO
EMPVALUES(&EMPNO,'&ENAME','&DESIGNATIN','&SALARY')
new1:INSERTINTOEMPVALUES(102,'SARAVANAN','LECTURER','15000')
1rowcreated.

SQL>/
Entervaluefor empno:103
Enter value for ename: PANNERSELVAMEnter value for
designatin: ASST. PROFEntervalue for salary:20000
old 1: INSERT INTO
EMPVALUES(&EMPNO,'&ENAME','&DESIGNATIN','&SALARY')
new 1: INSERT INTO EMP VALUES(103,'PANNERSELVAM','ASST.PROF','20000')
1rowcreated.
Enter value for empno:
104Entervalueforename:CHINNI
Enter value for designatin: HOD, PROFEntervalue for
salary:45000
old 1: INSERT INTO
EMPVALUES(&EMPNO,'&ENAME','&DESIGNATIN','&SALARY')
new1:INSERTINTOEMPVALUES(104,'CHINNI','HOD,PROF','45000')
1rowcreated.

SQL>SELECT* FROMEMP;
EMPNO ENAME DESIGNATION SALARY

101 NAGARAJAN LECTURER 15000


102 SARAVANAN LECTURER 15000
103 PANNERSELVAMASST. PROF 20000
104 CHINNI HOD,PROF 45000

UPDATE

QUERY: 04 Write a query to update the records from employee.Syntax forupdate

Records from thetable:

SQL>UPDATE<<TABLENAME>SET<COLUMNANE>=<VALUE>WHERE
<COLUMNNAME=<VALUE>;

SQL>UPDATEEMPSETSALARY=16000WHEREEMPNO=101;
1rowupdated.

SQL>SELECT* FROMEMP;

EMPNO ENAME DESIGNATION SALARY

101 LECTURER 16000


NAGARAJAN
102 SARAVANAN LECTURER 15000
103 PANNERSELVAMASST.PROF 20000
104 CHINNI HOD,PROF 45000

UPDATEMULTIPLE COLUMNS

QUERY:05Writeaquerytoupdatemultiple recordsfromemployee.Syntax forupdate

multipleRecords fromthetable:

SQL>UPDATE<<TABLENAME>SET<COLUMNANE>=<VALUE>WHERE
<COLUMNNAME=<VALUE>;

SQL>UPDATEEMPSETSALARY=16000,DESIGNATIN='ASST.PROF'WHEREEMPNO=102;
1rowupdated.

SQL>SELECT* FROMEMP;

EMPNO ENAME DESIGNATOIN SALARY

101 NAGARAJAN LECTURER 16000


102 SARAVANAN ASST. PROF 16000
103 PANNERSELVAMASST.PROF 20000
104 CHINNI HOD,PROF 45000

DELETE

QUERY: 06 . Write a query to delete records from employee.Syntax

fordeleteRecords from thetable:

SQL>DELETE<TABLENAME>WHERE<COLUMNNAME>=<VALUE>;

SQL>DELETEEMPWHEREEMPNO=103;
1rowdeleted.

SQL>SELECT* FROMEMP;
EMPNO ENAME DESIGNATOIN SALARY

16000
101 NAGARAJAN LECTURER
102 SARAVANAN ASST. PROF 16000
104 CHINNI HOD,PROF 45000
3. WriteSQLqueriestoimplementTCLcommands.

TCL(TRANSACTIONCONTROLLANGUAGE)
 COMMIT
 ROLLBACK
 SAVEPOINT

SAVEPOINT:

QUERY: 01 Write a query to implement the save point.Syntax

forsavepoint:

SQL>SAVEPOINT<SAVEPOINTNAME>;

SQL>SAVEPOINTS1;
Savepointcreated.

SQL>SELECT* FROMEMP;

EMPNO ENAME DESIGNATION SALARY


-
101 NAGARAJAN LECTURER 16000
102 SARAVANAN ASST. PROF 16000
104 CHINNI HOD,PROF 45000

SQL>INSERTINTOEMPVALUES(105,'PARTHASAR','STUDENT',100);
1rowcreated.

SQL>SELECT* FROMEMP;

EMPNO ENAME DESIGNATION SALARY

105 PARTHASAR STUDENT 100


101 NAGARAJAN LECTURER 16000
102 SARAVANAN ASST. PROF 16000
104 CHINNI HOD,PROF 45000

ROLLBACK

QUERY:02 Writeaquerytoimplement the Rollback.

SQL>ROLLBACK<SAVEPOINTNAME>;
SQL>ROLLBACK S1;
Rollbackcomplete.

SQL>SELECT* FROMEMP;

EMPNO ENAME DESIGNATIN SALARY

101 NAGARAJAN LECTURER 16000


102 SARAVANAN ASST. PROF 16000
103 PANNERSELVAM ASST. PROF 20000
104 CHINNI HOD,PROF 45000

COMMIT

QUERY: 03 Write a query to implement the Commit.Syntax forcommit

SQL>COMMIT;

Commitcomplete.
4. WriteSQLqueriestoimplementKey Constraintscommands.

Constraints are part of the table definition that limits and restriction on the value entered intoits columns.
TYPESOFCONSTRAINTS:

1) Primarykey
2) Foreignkey/references
3) Check
4) Unique
5) Notnull
6) Null
7) Default

CONSTRAINTSCANBECREATED INTHREEWAYS:

1) Columnlevel constraints
2) Tablelevelconstraints
3) UsingDDLstatements-alter table command
ColumnlevelconstraintsUsingPrimarykey

QUERY 1. Write a query to create primary constraints with column levelSyntax forColumn

levelconstraints UsingPrimarykey:

SQL:>CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1

<DATATYPE>(SIZE)<TYPEOFCONSTRAINTS>,COLUMNNAME.1<DATATYPE>(SIZE)
……………………………);

SQL>CREATETABLEEMPLOYEE(EMPNONUMBER(4)PRIMARYKEY,ENAMEVARCHAR2(1
0),
JOB VARCHAR2(6),SAL
NUMBER(5),DEPTNONUMBER(7));

ColumnlevelconstraintsUsingPrimarykeywithnamingconvention

QUERY2.Writeaquerytocreateprimaryconstraintswithcolumnlevelwithnamingconvention
SyntaxforColumnlevelconstraintsUsingPrimarykey:

SQL:>CREATE<OBJ.TYPE><OBJ.NAME>(COLUMNNAME.1<DATATYPE>(SIZE)CONSTRAINTS
<NAME OF THE CONSTRAINTS> <TYPE OF THE

CONSTRAINTS> , COLUMN NAME.1 <DATATYPE> (SIZE)


……………………………);

SQL>CREATE TABLE EMPLOYEE(EMPNO NUMBER(4)


CONSTRAINTEMP_EMPNO_PKPRIMARY KEY,
ENAME
VARCHAR2(10),JOBVARCHAR2(6),
SAL
NUMBER(5),DEPTNONUMBER(7));

TableLevelPrimary KeyConstraints

QUERY3.Writeaquerytocreateprimaryconstraintswithtablelevelwithnamingconvention

Syntax forTablelevel constraintsUsingPrimarykey:

SQL:>CREATE<OBJ.TYPE><OBJ.NAME>(COLUMNNAME.1<DATATYPE>(SIZE) , COLUMN NAME.1


<DATATYPE> (SIZE), CONSTRAINTS <NAME OF THECONSTRAINTS><TYPE OFTHECONSTRAINTS>);

SQL>CREATETABLEEMPLOYEE(EMPNONUMBER(6),ENAMEVARCHAR
2(20),
JOB VARCHAR2(6),SAL
NUMBER(7),DEPTNONUMBER(5),
CONSTRAINT EMP_EMPNO_PK PRIMARYKEY(EMPNO));

Tablelevelconstraintwithaltercommand(primarykey):

QUERY 4. Write a query to create primary constraints with alter commandSyntax forColumn

level constraintsUsingPrimarykey:

SQL:>CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1


<DATATYPE>(SIZE),COLUMNNAME.1 <DATATYPE>(SIZE));

SQL>ALTERTABLE<TABLENAME>ADDCONSTRAINTS<NAMEOFTHECONSTRAINTS><TYPE
OFTHECONSTRAINTS><COLUMNNAME>);

SQL>CREATETABLEEMPLOYEE(EMPNONUMBER(5),ENAMEVARCHAR
2(6),
JOBVARCHAR2(6),
SAL
NUMBER(6),DEPTNONUMBER(6));

SQL>ALTERTABLEEMP3ADDCONSTRAINTEMP3_EMPNO_PKPRIMARYKEY(EMPNO);

Reference/foreignkey constraint

Columnlevelforeignkeyconstraint:

QUERY 5. Write a query to create foreign key constraints with column levelParentTable:

SyntaxforColumnlevelconstraintsUsingPrimarykey:
SQL:>CREATE<OBJ.TYPE><OBJ.NAME>(COLUMNNAME.1<DATATYPE>(SIZE)<TYPEOFCONS
TRAINTS>,COLUMNNAME.1<DATATYPE>(SIZE)
……………………………);ChildTable:
SyntaxforColumnlevelconstraintsUsingforeign key:

SQL:>CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1

<DATATYPE>(SIZE),COLUMNNAME2<DATATYPE>(SIZE)REFERENCES<TABLENAME>
(COLUMNNAME>....................................................);

SQL>CREATE TABLE DEPT(DEPTNO NUMBER(2) PRIMARYKEY,DNAMEVARCHAR2(20),


LOCATIONVARCHAR2(15));

SQL>CREATE TABLE
EMP4(EMPNONUMBER(3),
DEPTNO NUMBER(2) REFERENCES
DEPT(DEPTNO),DESIGNVARCHAR2(10));

TableLevelForeignKeyConstraints

QUERY 6. Write a query to create foreign key constraints with Table levelParentTable:

SQL:>CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1

<DATATYPE>(SIZE)<TYPEOFCONSTRAINTS>,COLUMNNAME.1<DATATYPE>(SIZE)
……………………………);ChildTable:

SyntaxforTablelevelconstraintsusingforeignkey:

SQL:>CREATE<OBJ.TYPE><OBJ.NAME>(COLUMNNAME.1<DATATYPE>(SIZE), COLUMNNAME2
<DATATYPE> (SIZE),CONSTRAINT<CONST. NAME>REFERENCES<TABLE NAME>(COLUMNNAME>);

SQL>CREATETABLEDEPT
(DEPTNO NUMBER(2) PRIMARY
KEY,DNAMEVARCHAR2(20),
LOCATION VARCHAR2(15));SQL>CREATE
TABLE EMP5(EMPNO
NUMBER(3),DEPTNONUMBER(2),
DESIGN VARCHAR2(10)CONSTRAINT ENP2_DEPTNO_FK
FOREIGNKEY(DEPTNO)REFERENCESDEPT(DEPTNO));

TableLevelForeignKeyConstraintswithAltercommand

QUERY7.WriteaquerytocreateforeignkeyconstraintswithTablelevelwithaltercommand.

ParentTable:

SQL:>CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1

<DATATYPE>(SIZE)<TYPEOFCONSTRAINTS>,COLUMNNAME.1<DATATYPE>(SIZE)
……………………………);ChildTable:

SyntaxforTablelevelconstraintsusingforeignkey:

SQL:>CREATE<OBJ.TYPE><OBJ.NAME>(COLUMNNAME.1<DATATYPE>(SIZE)
,COLUMNNAME2<DATATYPE>(SIZE));

SQL>ALTERTABLE<TABLENAME>ADDCONSTRAINT<CONST.NAME>REFERENCES<TABLE
NAME>(COLUMNNAME>);

SQL>CREATETABLEDEPT
(DEPTNO NUMBER(2) PRIMARY
KEY,DNAMEVARCHAR2(20),
LOCATION
VARCHAR2(15));SQL>CREATE TABLE
EMP5(EMPNONUMBER(3), DEPTNO
NUMBER(2),DESIGNVARCHAR2(10));

SQL>ALTERTABLEEMP6ADDCONSTRAINTEMP6_DEPTNO_FKFOREIGNKEY(DEPTNO)REFERENCESDE
PT(DEPTNO);

Checkconstraint

ColumnLevelCheckConstraint

QUERY 8. Write a query to create Check constraints with column levelSyntax forcolumn

levelconstraints usingCheck:

SQL:>CREATE <OBJ.TYPE><OBJ.NAME> (COLUMN NAME.1 <DATATYPE>


(SIZE)CONSTRAINT<CONSTRAINTSNAME><TYPEOFCONSTRAINTS>(CONSTRAITNS CRITERIA)
,COLUMNNAME2<DATATYPE>(SIZE));

SQL>CREATE TABLE EMP7(EMPNO


NUMBER(3),ENAMEVARCHAR2(20),
DESIGNVARCHAR2(15),
SAL NUMBER(5)CONSTRAINT EMP7_SAL_CK CHECK(SAL>500 ANDSAL<10001),
DEPTNONUMBER(2));

TableLevelCheckConstraint:

Query 9. Write a query to create Check constraints with table levelSyntax forTable

level constraints usingCheck:

SQL:>CREATE<OBJ.TYPE><OBJ.NAME>(COLUMNNAME.1<DATATYPE>(SIZE),
(COLUMNNAME2<DATATYPE>(SIZE),CONSTRAINT<CONSTRAINTSNAME><TYPE
OFCONSTRAINTS>(CONSTRAITNS CRITERIA));

SQL>CREATE TABLE EMP8(EMPNO


NUMBER(3),ENAMEVARCHAR2(20),
DESIGNVARCHAR2(15),
SALNUMBER(5),DEPTNONUMBER(2),
CONSTRAINTSEMP8_SAL_CKCHECK(SAL>500ANDSAL<10001));

CheckConstraintwithAlterCommand

Query 10. Write a query to create Check constraints with table level using alter command.Syntax forTable level

constraints usingCheck:

SQL:>CREATE<OBJ.TYPE><OBJ.NAME>(COLUMNNAME.1<DATATYPE>(SIZE),
(COLUMNNAME2<DATATYPE>(SIZE),CONSTRAINT<CONSTRAINTSNAME><TYPE
OFCONSTRAINTS>(CONSTRAITNS CRITERIA));

SQL>CREATE TABLE EMP9(EMPNO


NUMBER,ENAMEVARCHAR2(20),
DESIGN
VARCHAR2(15),SALNUMBER(5));

SQL>ALTERTABLEEMP9 ADD CONSTRAINTSEMP9_SAL_CKCHECK(SAL>500ANDSAL<10001);

UniqueConstraint

ColumnLevelConstraint

Query11. Write aqueryto create uniqueconstraints with column level


SyntaxforColumnlevelconstraintswithUnique:

SQL :> CREATE <OBJ.TYPE><OBJ.NAME> (<COLUMN


NAME.1><DATATYPE>(SIZE)CONSTRAINT<NAMEOFCONSTRAINTS><CONSTRAINTTYPE>,
(COLUMNNAME2<DATATYPE>(SIZE));

SQL>CREATE TABLE EMP10(EMPNO


NUMBER(3),ENAMEVARCHAR2(20),
DESGIN VARCHAR2(15)CONSTRAINT EMP10_DESIGN_UK UNIQUE,SALNUMBER(5));

TableLevelConstraintAlterCommand

Query 12. Write a query to create unique constraints with table levelSyntax
forTablelevel constraints withCheck UsingAlter
SQL:>CREATE<OBJ.TYPE><OBJ.NAME>(<COLUMNNAME.1><DATATYPE>(SIZE),(COLUMNNAME2
<DATATYPE>(SIZE)) ;

SQL> ALTER TABLE ADD <CONSTRAINTS> <CONSTRAINTS NAME>


<CONSTRAINTSTYPE>(COLUMNNAME);

SQL>CREATE TABLE EMP12(EMPNO


NUMBER(3),ENAME
VARCHAR2(20),DESIGNVARCHAR2(15),SA
LNUMBER(5));

SQL>ALTER TABLE EMP12 ADD CONSTRAINT


EMP12_DESIGN_UKUNIQUE(DESING);

NotNull

ColumnLevelConstraint

Query 13. Write a query to create Not Null constraints with column levelSyntax forColumn

level constraints withNot Null:

SQL :> CREATE <OBJ.TYPE><OBJ.NAME> (<COLUMN


NAME.1><DATATYPE>(SIZE)CONSTRAINT<NAMEOFCONSTRAINTS><CONSTRAINTTYPE>,
(COLUMNNAME2<DATATYPE>(SIZE));

SQL>CREATE TABLE
EMP13(EMPNONUMBER(4),
ENAMEVARCHAR2(20)CONSTRAINTEMP13_ENAME_NNNOTNULL,DESIGNVARCHAR2(
20),
SALNUMBER(3));
Null

ColumnLevelConstraint

QUERY 14. Write a query to create Null constraints with column levelSyntax forColumn
level constraints with Null:

SQL :> CREATE <OBJ.TYPE><OBJ.NAME>(<COLUMN


NAME.1><DATATYPE>(SIZE)CONSTRAINT<NAMEOFCONSTRAINTS><CONSTRAINTTYPE>,
(COLUMNNAME2<DATATYPE>(SIZE));

SQL>CREATE TABLE
EMP13(EMPNONUMBER(4),
ENAME VARCHAR2(20) CONSTRAINT EMP13_ENAME_NN
NULL,DESIGNVARCHAR2(20),
SALNUMBER(3));
5. WriteSQLqueriestoimplementKey Joins.

SQLjoinsareusedtoquerydatafromtwoormoretables,basedonarelationshipbetweencertaincolumns in thesetables.

SQLcommandsare:

 INNERJOIN

 LEFTJOIN

 RIGHTJOIN

 FULLJOIN

LEFTJOINorLEFTOUTTERJOIN

Table:1-ORDERS

SQL> CREATE table orders(O_Id


number(5),Ordernonumber(5),
P_Id number(3));Tablecreated.

SQL>DESCorders;

Name Null? Type


O_ID NUMBER(5)
ORDERNO NUMBER(5)
P_ID NUMBER(3)

INSERTINGVALUESINTOORDERS

SQL>INSERTintoordersvalues(&O_Id,&Orderno,&P_Id);Entervalue for o_id:


1
Enter value for orderno: 77895Entervalue for
p_id: 3
old 1: INSERT into orders values(&O_Id,&Orderno,&P_Id)new1:INSERT
intoorders values(1,77895,3)
1rowcreated.

SQL>INSERTintoordersvalues(&O_Id,&Orderno,&P_Id);Entervalue for o_id:


2
Enter value for orderno: 44678Entervalue for
p_id: 3
old 1: INSERT into orders values(&O_Id,&Orderno,&P_Id)new1:INSERT
intoorders values(2,44678,3)
1rowcreated.

SQL>INSERTintoordersvalues(&O_Id,&Orderno,&P_Id);Entervalue for o_id:


3
Enter value for orderno: 22456Entervalue for
p_id: 1
old 1: INSERT into orders values(&O_Id,&Orderno,&P_Id)new1:INSERT
intoorders values(3,22456,1)
1rowcreated.

SQL>INSERTintoordersvalues(&O_Id,&Orderno,&P_Id);Entervalue for o_id:


4
Enter value for orderno: 24562Entervalue for
p_id: 1
old1:INSERTintoordersvalues(&O_Id,&Orderno,&P_Id)new1:INSERT
intoorders values(4,24562,1)
1rowcreated.

SQL>INSERTintoordersvalues(&O_Id,&Orderno,&P_Id);Entervalue for o_id:


5
Enter value for orderno: 34764Entervalue for
p_id: 15
old1:INSERTintoordersvalues(&O_Id,&Orderno,&P_Id)new1:INSERT
intoorders values(5,34764,15)
1rowcreated.

TABLESECTION:

SQL>SELECT* FROMorders;

O_ID ORDERNO P_ID


1 77895 3
2 44678 3
3 22456 1
4 24562 1
5 34764 15

TABLE-2:PERSONS
SQL> CREATE table persons(p_Id
number(5),LASTNAMEvarchar2(10),
Firstname varchar2(15), Address
varchar2(20),cityvarchar2(10));
Tablecreated.

SQL>INSERTintopersonsvalues(&p_Id,'&Lastname','&firstname','&Address','&city');Entervalue for p_id: 1


Enter value for lastname: HansenEntervalue
forfirstname: Ola
Enter value for address: Timoteivn 10Entervalue for
city: sadnes
old1:INSERTintopersonsvalues(&p_Id,'&Lastname','&firstname','&Address','&city')new1:INSERTinto
personsvalues(1,'Hansen','Ola','Timoteivn 10','sadnes')
1rowcreated.

SQL>INSERTintopersonsvalues(&p_Id,'&Lastname','&firstname','&Address','&city');Entervalue for p_id: 2


Enter value for lastname: SvendsonEnter value for
firstname: ToveEnter value for address: Borgn
23Entervalue for city: Sandnes
old1:INSERTintopersonsvalues(&p_Id,'&Lastname','&firstname','&Address','&city')new1:INSERTintopersons
values(2,'Svendson','Tove','Borgn23','Sandnes')
1rowcreated.

SQL> INSERT into persons values(&p_Id,'&Lastname','&firstname','&Address','&city');Entervalue for p_id:


3
Enter value for lastname: PettersenEnter value for
firstname: KariEnter value for address: Storgt
20Entervaluefor city:Stavanger
old 1: INSERT into persons
values(&p_Id,'&Lastname','&firstname','&Address','&city')new1:INSERTintopersonsvalues(3,'Pettersen','Ka
ri','Storgt20','Stavanger')
1rowcreated.

SQL>SELECT* FROMpersons;

P_IDLASTNAMEFIRSTNAMEADDRESS CITY

1 Hansen Ola Timoteivn 10 sandnes


2 Svendson Tove Borgn23 Sandnes
3 Pettersen Kari Storgt20 Stavanger
LEFTJOINSYNTAX

SQL> SELECT
column_name(s)FROMtable_name1
LEFTJOINtable_name2
ON table_name1.column_name=table_name2.column_nameLEFTJOIN

EXAMPLE

SQL>SELECTpersons.lastname,persons.firstname,orders.ordernoFROMpersons
LEFTJOINorders
ON persons.p_Id =
orders.p_IdORDERBYpersons.lastname;

OUTPUT

LASTNAME FIRSTNAME ORDERNO


Hansen Ola 22456
Hansen Ola 24562
Pettersen Kari 77895
Pettersen Kari 44678
Svendson Tove

FULLOUTERJOIN

SQL>SELECT* FROMpersons;

P_ID LASTNAMEFIRSTNAME ADDRESS CITY

1 Hansen Ola Timoteivn 10 sandnes


2 Svendson Tove Borgn23 Sandnes
3 Pettersen Kari Storgt20 Stavanger

SQL>SELECT* FROMorders;

O_ID ORDERNO P_ID


1 77895 3
2 44678 3
3 22456 1
4 24562 1
5 34764 15
FULLOUTERJOINSYNTAX

SQL>SELECT
column_name(s)FROMtable_name1
FULLJOINtable_name2
ON table_name1.column_name=table_name2.column_nameFULLOUTER

JOIN EXAMPLE

SQL> SELECT persons.lastname,persons.firstname,orders.ordernoFROMpersons


FULL OUTER JOIN ordersON persons.p_Id =
orders.p_IdORDERBYpersons.lastname;

RIGHTOUTTERJOIN

RIGHTOUTTERJOINSYNTAX

SQL>SELECTPersons.LastName,Persons.FirstName,Orders.OrderNoFROMPersons
RIGHTJOINOrders
ON
Persons.P_Id=Orders.P_IdORDERBYPersons.La
stName

RIGHTOUTTERJOINEXAMPLE

SQL>SELECTpersons.lastname,persons.firstname,orders.ordernoFROMpersons
RIGHT OUTER JOIN ordersON persons.p_Id
= orders.p_IdORDERBYpersons.lastname;

LASTNAME FIRSTNAME ORDERNO


Hansen Ola 24562
Hansen Ola 22456
Pettersen Kari 44678
Pettersen Kari 77895

INNERJOIN

SQL>SELECTcolumn_name(s)
FROM
table_name1INNERJOINtable_name2
ON table_name1.column_name=table_name2.column_nameINNERJOIN

EXAMPLE

SQL>SELECTpersons.lastname,persons.firstname,orders.orderno2FROM persons
3 INNERJOINorders
4 ON persons.p_Id =
orders.p_Id5ORDERBYpersons.lastname;
LASTNAMEFIRSTNAMEORDERNO

Hansen Ola 22456


Hansen Ola 24562
Pettersen Kari 77895
Pettersen Kari 44678

LASTNAME FIRSTNAME ORDERNO


Hansen Ola 22456
Hansen Ola 24562
Pettersen Kari 77895
Pettersen Kari 44678
Svendson Tove 34764
6 rowsselected.
6. WriteSQLqueriestoimplementViews.

ViewsHelpsto encapsulatecomplexqueryandmakeitreusable.

SQLCOMMANDS

 CREATEVIEW
 INSERTINVIEW
 DELETEINVIEW
 UPDATEOFVIEW
 DROPOFVIEW

CREATIONOFTABLE

SQL> CREATE TABLE EMPLOYEE


(EMPLOYEE_NAMEVARCHAR2(10),EMPLOYEE_N
ONUMBER(8),DEPT_NAMEVARCHAR2(10),
DEPT_NONUMBER(5),DATE_OF_JOINDATE);
Tablecreated.

SQL>DESCEMPLOYEE;

NAME NULL? TYPE

EMPLOYEE_NAME
VARCHAR2(10)EMPLOYEE_NO
NUMBER(8)DEPT_NAME
VARCHAR2(10)DEPT_NO
NUMBER(5)
DATE_OF_JOIN DATE

SYNTAXFORCREATIONOFVIEW

SQL>CREATE <VIEW><VIEW NAME>AS SELECT <COLUMN_NAME_1>,


<COLUMN_NAME_2>FROM<TABLENAME>;

SQL>CREATEVIEWEMPVIEWASSELECTEMPLOYEE_NAME,EMPLOYEE_NO,DEPT_NAME,DEPT_NO,
DATE_OF_JOINFROM
EMPLOYEE;
VIEWCREATED.
DESCRIPTIONOFVIEW

SQL>DESCEMPVIEW;
NAME NULL? TYPE

EMPLOYEE_NAME
VARCHAR2(10)EMPLOYEE_NO
NUMBER(8)DEPT_NAME
VARCHAR2(10)DEPT_NO
NUMBER(5)

DISPLAYVIEW:

SQL>SELECT*FROMEMPVIEW;

EMPLOYEE_NEMPLOYEE_NODEPT_NAMEDEPT_NO

RAVI 124 ECE 89


VIJAY 345 CSE 21
RAJ 98 IT 22
GIRI 100 CSE 67

INSERTIONINTOVIEW

SQL> INSERT INTO <VIEW_NAME> (COLUMN NAME1,


………)VALUES(VALUE1,….);

SQL> INSERT INTO EMPVIEW VALUES ('SRI', 120,'CSE', 67,'16-NOV-1981');1ROWCREATED.

SQL>SELECT*FROMEMPVIEW;

EMPLOYEE_NEMPLOYEE_NODEPT_NAMEDEPT_NO

RAVI 124 ECE 89


VIJAY 345 CSE 21
RAJ 98 IT 22
GIRI 100 CSE 67
SRI 120 CSE 67

SQL>SELECT*FROMEMPLOYEE;

EMPLOYEE_NEMPLOYEE_NODEPT_NAMEDEPT_NODATE_OF_J
RAVI 124 ECE 89 15-JUN-05
VIJAY 345 CSE 21 21-JUN-06
RAJ 98 IT 22 30-SEP-06
GIRI 100 CSE 67 14-NOV-81
SRI 120 CSE 67 16-NOV-81

DELETIONOFVIEW:

SQL>DELETE<VIEW_NMAE>WHERE<COLUMNNMAE>=’VALUE’;

SQL>DELETEFROMEMPVIEWWHEREEMPLOYEE_NAME='SRI';1ROWDELETED.

SQL>SELECT*FROMEMPVIEW;

EMPLOYEE_NEMPLOYEE_NODEPT_NAME DEPT_NO

RAVI 124 ECE 89


VIJAY 345 CSE 21
RAJ 98 IT 22
GIRI 100 CSE 67

UPDATESTATEMENT:

SQL>UPDATE<VIEW_NAME>SET<COLUMNNAME>=<COLUMNNAME>
<VIEW>WHERE<COLUMNNAME>=VALUE;

SQL> UPDATE EMPKAVIVIEW SET EMPLOYEE_NAME='KAVI'


WHEREEMPLOYEE_NAME='RAVI';
1ROWUPDATED.

SQL>SELECT*FROMEMPKAVIVIEW;

EMPLOYEE_NEMPLOYEE_NODEPT_NAMEDEPT_NO

KAVI 124 ECE 89


RAJ 98 IT 22
GIRI 100 CSE 67
DROPAVIEW:

SQL>DROPVIEW<VIEW_NAME>

SQL>DROP VIEW EMPVIEW;VIEWDROPED


7. Write SQL queries to SELECT data using SET UNION ,INTERSECTION and
MINUS operations.

CREATION OF TABLE
TABLE1
SQLCREATE TABLE  EMP(EMPNO INT,
    EMPNAME VARCHAR(25),
    SALARY INT);
TABLE2
SQLCREATE TABLE  OLDEMP(EMPNO INT,
    EMPNAME VARCHAR(25),
    SALARY INT, AGE INT);

INSERTION IN TABLE
TABLE1
SQL INSERT INTO EMP(EMPNO, EMPNAME, SALARY)
VALUES (’01’,’MANISH’,’200000’);
SQL INSERT INTO EMP(EMPNO, EMPNAME, SALARY)
VALUES (’02’, ‘VIJAY’,’210000’);
SQL INSERT INTO EMP(EMPNO, EMPNAME, SALARY)
VALUES (’03’, ‘VIKAS’,’190000’);

TABLE2
SQLINSERT INTO OLDEMP(EMPNO, EMPNAME, SALARY,AGE)
VALUES (’01’,’MANISH’,’200000’,’34’);
SQL INSERT INTO OLDEMP(EMPNO, EMPNAME, SALARY,AGE)
VALUES (’02’,’VIJAY’,’210000’,’29’);
SQL INSERT INTO OLDEMP(EMPNO, EMPNAME, SALARY,AGE)
VALUES (’003’,’ATTRAY’,’160000’,’28’);

SQLSELECT* FROM EMP;

EMPNO EMPNAME SALARY


- -----------------------------
01 MANISH 200000
02 VIJAY 210000
03 VIKAS 190000

SQLSELECT* FROM OLDEMP;

EMPNO EMPNAME SALARY AGE


- - - - - - - - -- - - - - - - - - -- - - - - - - - - - - - - -
001 MANISH 200000 34
002 VIJAY 210000 29
003 ATTRAY 160000 28
UNION

SQL SELECT EMPNO,EMPNAME,SALARY FROM EMP


UNION
SELECT EMPNO,EMPNAME,SALARY FROM OLDEMP;

EMPNO EMPNAME SALARY


- - - - - - - - - - - - - - - - - - - - - - -- -- - -- - - - - -
01 MANISH 200000
02 VIJAY 210000
03 VIKAS 190000
01 MANISH 200000
02 VIJAY 210000
003 ATTRAY 160000

INTERSECTION
SQLSELECT SALARY FROM EMP
INTERSECT
SELECT SALARY FROM OLDEMP;

SALARY
-------------- -
200000
210000

MINUS
SQL SELECT EMPNO, EMPNAME FROM EMP
MINUS
SELECT EMPNO, EMPNAME FROM OLDEMP;

EMPNO EMPNAME
- - - - - - -- - - - - - - - - - -- - -

01 MANISH
02 VIJAY
8. WriteSQLqueriesusingAGGREGATEfunctions.

SYNTAX
SELECT column_name, aggregate_function(column_name)FROMtable_name
WHERE column_name operator valueGROUPBY
column_name
HAVINGaggregate_function(column_name)operatorvalue;

CREATION OF TABLE

SQLCREATE TABLE PRODUCT (PRODUCT VARCHAR(30) , COMPANY VARCHAR(50),


QTY INT, RATE INT, COST INT )

INSERTION OF VALUES

SQL INSERT INTO PRODUCT (PRODUCT,COMPANY,QTY,RATE,COST)VALUES


(‘ITEM1’,’BIRLA’,’2’,’40’,’150’);

SQLINSERT INTO PRODUCT (PRODUCT,COMPANY,QTY,RATE,COST)VALUES


(‘ITEM2’,’TATA’,’3’,’45’,’250’);

SQLINSERT INTO PRODUCT (PRODUCT,COMPANY,QTY,RATE,COST)VALUES


(‘ITEM3’,’RELIANCE’,’4’,’10’,’345’);

SQLINSERT INTO PRODUCT (PRODUCT,COMPANY,QTY,RATE,COST)VALUES


(‘ITEM4’,’BIRLA’,’3’,’40’,’180’);

SQLSELECT*FROM PRODUCT;

PRODUCT COMPANY QTY RATE COST

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

ITEM1 BIRLA 3 40 150

ITEM2 TATA 2 45 250

ITEM3 RELIANCE 4 10 345

ITEM4 BIRLA 3 40 180


AGGREGATE FUNCTIONS
SQLSELECT COUNT(*)  
FROM PRODUCT  WHERE RATE>=20; 

OUTPUT
---------- -
3

SQLSELECT COMPANY, COUNT(*)  
FROM PRODUCT GROUP BY COMPANY  
HAVING COUNT(*)>2;  

COMPANY QTY
- - - - -- - - -- -- - - - - - - - - - - -
BIRLA 3
RELIANCE 4

SQL SELECT SUM(COST)  
FROM PRODUCT WHERE QTY>2GROUP BY COMPANY;  

COMPANY COST
- - - - - -- - - - - -- - - - - - -- - - - - -
BIRLA 330
RELIANCE 34

SQL SELECT AVG(COST)  FROM PRODUCT;

COST
--- ---
57.8

SQL->SELECT MAX(RATE) FROM PRODUCT;  

OUTPUT
- - - -- - -
4
9. Write SQL queries to implement Nested queries.

Nested Query can have more than one level of nesting in one single query. A SQL nestedquery is a SELECT query
that is nested inside a SELECT, UPDATE, INSERT, or DELETESQLquery.

SQLCOMMANDS:

 SELECT
 WHERE
 HAVING
 MIN(SALARY)

SQL: CREATE <OBJ.TYPE><OBJ.NAME> (COLUMN NAME.1 <DATATYPE>


(SIZE),COLUMNNAME.1<DATATYPE>(SIZE).............................................);

SQL> CREATE TABLE EMP2(EMPNO


NUMBER(5),ENAMEVARCHAR2(20),
JOB VARCHAR2(20),SAL
NUMBER(6),MGRNO
NUMBER(4),DEPTNONUMBER(3));

SQL:>INSERT INTO<TABLENAME>VALUES<VAL1,‘VAL2’,…);

SQL> INSERT INTO


EMP2VALUES(1001,'MAHESH','PROGRAMMER',15000,1560,200);
1ROW CREATED.
SQL>INSERTINTOEMP2VALUES(1002,'MANOJ','TESTER',12000,1560,200);1 ROW CREATED.
SQL> INSERT INTO
EMP2VALUES(1003,'KARTHIK','PROGRAMMER',13000,1400,201);
1ROW CREATED.
SQL> INSERT INTO EMP2 VALUES(1004,'NARESH','CLERK',1400,1400,201);1 ROW CREATED.
SQL> INSERT INTO EMP2 VALUES(1005,'MANI','TESTER',13000,1400,200);1ROWCREATED.
SQL> INSERT INTO EMP2 VALUES(1006,'VIKI','DESIGNER',12500,1560,201);1 ROW CREATED.
SQL>INSERTINTOEMP2VALUES(1007,'MOHAN','DESIGNER',14000,1560,201);1 ROW CREATED.
SQL> INSERT INTO EMP2 VALUES(1008,'NAVEEN','CREATION',20000,1400,201);1 ROW CREATED.
SQL> INSERT INTO EMP2 VALUES(1009,'PRASAD','DIR',20000,1560,202);1ROWCREATED.
SQL> INSERT INTO EMP2 VALUES(1010,'AGNESH','DIR',15000,1400,200);1ROWCREATED.

SQL> SELECT * FROM <TABLE NAME>;SQL>SELECT

*FROM EMP2;

EMPNOENAME JOB SAL MGRNODPTNO

1001 MAHESH PROGRAMMER 15000 1560 200


1002 MANOJ TESTER 12000 1560 200
1003 KARTHIK PROGRAMMER 13000 1400 201
1004 NARESH CLERK 201
14000 1400
1005 MANI TESTER 13000 1400 200
1006 VIKI DESIGNER 12500 1560 201
1007 MOHAN DESIGNER 14000 1560 201
1008 NAVEEN CREATION 20000 1400 201
1009 PRASAD DIR 20000 1560 202
1010 AGNESH DIR 15000 1400 200

SQL: CREATE <OBJ.TYPE><OBJ.NAME> (COLUMN NAME.1 <DATATYPE>


(SIZE),COLUMNNAME.1<DATATYPE>(SIZE).............................................);

SQL>CREATETABLEDEPT2(DEPTNONUMBER(3),DEPTNAMEVARCHAR
2(10),
LOCATIONVARCHAR2(15));
Tablecreated.

SQL:>INSERT INTO<TABLENAME>VALUES<VAL1,‘VAL2’,…);

SQL>INSERTINTODEPT2VALUES(107,'DEVELOP','ADYAR');1ROWCREATED.
SQL>INSERTINTODEPT2VALUES(201,'DEBUG','UK');1ROWCREATED.
SQL> INSERT INTO DEPT2
VALUES(200,'TEST','US');SQL>INSERTINTODEPT2VALUES(201,'TEST','U
SSR');1ROWCREATED.
SQL>INSERTINTODEPT2VALUES(108,'DEBUG','ADYAR');1ROWCREATED.
SQL>INSERTINTODEPT2VALUES(109,'BUILD','POTHERI');1ROWCREATED.
SQL> SELECT * FROM <TABLE

NAME>;SQL>SELECT*FROMDEPT2;

DEPTNO DEPTNAME LOCATION


107 DEVELOP ADYAR
201 DEBUG UK
200 TEST US
201 TEST USSR
108 DEBUG ADYAR
109 BUILD POTHERI
6rowsselected.

GENERALSYNTAX FORNESTEDQUERY:

SELECT
"COLUMN_NAME1"FROM"TABLE_NAME1
"
WHERE "COLUMN_NAME2" [COMPARISON OPERATOR]
(SELECT"COLUMN_NAME3"
FROM
"TABLE_NAME2"WHERE[CONDITION
])

SYNTAXNESTEDQUERYSTATEMENT:

SQL> SELECT <COLUMN_NAME> FROM FRORM <TABLE _1> WHERE


<COLUMN_NAME><RELATIONAL_OPERATION>‘VALUE’
(SELECT (AGGRECATE FUNCTION) FROM <TABLE_1> WHERE <COLUMNNAME>=‘VALUE’
(SELECT <COLUMN_NAME> FROM <TABLE_2> WHERE <COLUMN_NAME=‘VALUE’));

NESTEDQUERYSTATEMENT:

SQL> SELECT ENAME FROM EMP2 WHERE


SAL>(SELECTMIN(SAL)FROMEMP2WHEREDPTNO=
(SELECTDEPTNOFROMDEPT2WHERELOCATION='UK'));

NestedQueryOutput:

ENAME

MAHESHMANOJ
KARTHIKMANIVIKIM
OHANNAVEENPRASA
DAGNESH
10. WriteaPL/SQLcodeblocktofindfactorialofa number.
declare
n number;inumber;
f number:=1;beginn:=&n;
for i in 1..nloopf:=f*i;
end loop;dbms_output.put_line(n||'!='||f);end;

Output:
Enter value for n: 5old6: n:=&n;
new6:n:=5;
5!=120
PL/SQLproceduresuccessfullycompleted.
11. WriteaPL/SQLcodeblocktoimplementIndexes.

SQL>SELECT*FROMvendor_parts

WHEREpart_no =457 ANDvendor_id=1012

ORDERBYvendor_id;

VENDOR_IDPART_NOUNIT_COST

1012457 4.95

1rowselected.

SQL>CREATE INDEXind_vendor_id

2 ONvendor_parts(part_no,vendor_id);

Indexcreated.
12. WriteaPL/SQLcodeblocktoimplement Procedures.

Begin
i:=1;

tot:=0;while(i<=n)loop

j:=1;

c:=0;

while(j<=i)loop

if(mod(I,j)=0) thenc:=c+1;

end if;j:=j+1;

end loop;if(c=2)then

dbms_output.put_line(i);tot:=tot+1;

end if;i:=i+1;

end loop;end;

Sql>procedure created.declare
t number;begin

prime_proc(10,t);

dbms_output.put_line(‘the total prime no .are’||t);end;

Valid TestData:

sql>setserveroutputon

OUTPUT

sql>2

Thetotal primeno.are4

Pl/sqlproceduresuccessfullycompleted.
13. WriteaPL/SQLcodeblocktoimplementTrigger

Begin
2 For Iin 1..10 loop
3 Ifmod(i,2)<>0then
4 Dbms_output.put_line(' I am an odd number :'||i);5else
6 Dbms_output.put_line(' I am an even number :'||i);7 End if;
8Endloop;
9*end;

SQL>
Iamanoddnumber:1I am an even
number :2Iamanoddnumber:3I am an
even number :4Iamanoddnumber:5I am
an even number :6Iamanoddnumber:7I
am an even number :8Iam an oddnumber
:9
Iam an evennumber:10

PL/SQLproceduresuccessfullycompleted.

You might also like