Sie sind auf Seite 1von 33

LAB CYCLE-V

PART-1
1.
CREATE TABLE DEPARTMENT
(
DEPT_ID NUMBER(5) PRIMARY KEY,DEPT_NAME VARCHAR(10) NOT NULL
);
CREATE TABLE STUDENT
(
ROLL_NO NUMBER(5) PRIMARY KEY,NAME VARCHAR(20),DEPT_ID
NUMBER(5) REFERENCES DEPARTMENT,GENDER VARCHAR(2),CONTACT_NO
VARCHAR(10)
);
1.
INSERT INTO DEPARTMENT VALUES(111,'MECHANICAL');
INSERT INTO DEPARTMENT VALUES(112,'ELECTRICAL');
INSERT INTO DEPARTMENT VALUES(113,'COMPUTER');
INSERT INTO DEPARTMENT VALUES(114,'CIVIL');
INSERT INTO DEPARTMENT VALUES(115,'COMMERCE');
INSERT INTO STUDENT VALUES (001,'JOHN',111,'M',8745126398);
INSERT INTO STUDENT VALUES (002,'HENRY',112,'M',8745126498);
INSERT INTO STUDENT VALUES (003,'SUSAN',112,'F',8745126477);
INSERT INTO STUDENT VALUES (004,'EMILY',113,'F',9745126477);
INSERT INTO STUDENT VALUES (005,'DUKE',114,'M',9465126477);
b)
UPDATE STUDENT SET CONTACT_NO=9778456112 WHERE ROLL_NO=005;
1 row(s) updated.
2.
SELECT * FROM STUDENT WHERE GENDER='F' ORDER BY NAME;
ROLL_NO
4
3

NAME
EMILY
SUSAN

DEPT_ID
113
112

GENDER
F
F

CONTACT_NO
9745126477
8745126477

SELECT COUNT(*) FROM STUDENT WHERE DEPT_ID=112 GROUP BY DEPT_ID;


COUNT(*)
2
3.
CREATE VIEW ALL_STUDENT
AS
SELECT * FROM STUDENT;
View created.
4.
a.
SET SERVEROUTPUT ON;
CREATE OR REPLACE PROCEDURE pr_Disp_stud(ROLLNO IN STUDENT.ROLL_NO
%TYPE)
AS
NAME STUDENT.NAME%TYPE;
CONTNO STUDENT.CONTACT_NO%TYPE;
BEGIN
SELECT S.NAME,S.CONTACT_NO INTO NAME,CONTNO
FROM STUDENT S WHERE S.ROLL_NO=ROLLNO;
DBMS_OUTPUT.PUT_LINE('STUD_NAME'||'CONTACT_NO');
DBMS_OUTPUT.PUT_LINE('-------------------------');
DBMS_OUTPUT.PUT_LINE(NAME||' '||CONTNO);
DBMS_OUTPUT.PUT_LINE('-------------------------');
END;
/
@pr_Disp_stud

B)CREATE OR REPLACE PROCEDURE PROC_DEPT


AS
DEPTNAMEDEPARTMENT.DEPT_NAME%TYPE;
CURSOR CUR_DEPT IS
SELECTDEPT_NAME FROM DEPARTMENT WHERE DEPT_ID =

(SELECTDEPT_ID FROM DEPARTMENT


WHEREDEPT_ID NOT IN (SELECT DEPT_ID FROM STUDEN));
BEGIN
OPEN CUR_DEPT;
FETCHCUR_DEPT INTO DEPTNAME;
DBMS_OUTPUT.PUT_LINE('DEPTNAME');
DBMS_OUTPUT.PUT_LINE('-------------------------------------');
DBMS_OUTPUT.PUT_LINE(DEPTNAME);
LOOP
FETCH CUR_DEPT INTO DEPTNAME;
EXIT WHEN CUR_DEPT%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(DEPTNAME);
END LOOP;
CLOSE CUR_DEPT;
DBMS_OUTPUT.PUT_LINE('-------------------------------------');
END;
/

DEPT_NAME
COMMERCE

2.
CREATE TABLE CUSTOMER
(
CUSTID VARCHAR(10) PRIMARY KEY,FNAME VARCHAR(25) NOT NULL,LNAME
VARCHAR(25),AREA VARCHAR(10) CHECK(AREA
IN('KOTTAYAM','KOLLAM','KOCHI')),PH_NO NUMBER(10)
);
Table created.
CREATE TABLE INVOICE
(
INV_NO VARCHAR(20) PRIMARY KEY,CUSTID VARCHAR(10) REFERENCES
CUSTOMER,ISSUE_DATE DATE
);
Table created.
1.a)
INSERT INTO CUSTOMER VALUES('101','JOHNS','CHACKO','KOLLAM',8956234578);
1 row(s) inserted.

INSERT INTO CUSTOMER VALUES(102,BINU,JOSE,KOTTAYAM,5879451236);


1 row(s) inserted.

INSERT INTO CUSTOMER VALUES(103,PRIYA,R,KOCHI,9445784512);


1 row(s) inserted.

INSERT INTO CUSTOMER VALUES(104,BALU,RAJ,KOLLAM,9875461235);


1 row(s) inserted.

INSERT INTO CUSTOMER VALUES(105,PAUL,ARTHUR,KOTTAYAM,8945632178);


1 row(s) inserted.

INSERT INTO INVOICE VALUES('I01',101,'29-JAN-2000');


1 row(s) inserted.

INSERT INTO INVOICE VALUES('I02','103','02-FEB-2012');


1 row(s) inserted.
INSERT INTO INVOICE VALUES('I03','105','15-DEC-2013');
1 row(s) inserted.
INSERT INTO INVOICE VALUES('I04','103','07-SEP-2013');
1 row(s) inserted.
INSERT INTO INVOICE VALUES('I05','104','25-OCT-2014');
1 row(s) inserted.
b)
UPDATE INVOICE SET ISSUE_DATE=24-JUL-2008 WHERE CUSTID=101;
1 row updated.
2.a)
SELECT I.ISSUE_DATE FROM INVOICE I, CUSTOMER C WHERE C.CUSTID=I.CUSTID
AND C.FNAME='JOHNS';
ISSUE_DATE
------------------29-JAN-2000
b)
SELECT C.FNAME,I.INV_NO FROM INVOICE I,CUSTOMER C WHERE
C.CUSTID=I.CUSTID ;
FNAME INV_NO
----------------------JOHNS
BINU
PRIYA
BALU
PAUL

I01
I02
I03
I04
I05

3.
CREATE VIEW CUS_VIEW
AS
(
SELECT * FROM CUSTOMER
);
View created.

4.
a.
SET SERVEROUTPUT ON;
CREATE OR REPLACE PROCEDURE PROC_CUSTOMER
AS
CURSOR CUST IS SELECT LNAME FROM CUSTOMER
WHERE LNAME LIKE 'P%' OR LNAME LIKE 'B%';
LASTNAME CUSTOMER.LNAME %TYPE;
BEGIN
OPEN CUST;
DBMS_OUTPUT.PUT_LINE('LASTNAME');
DBMS_OUTPUT.PUT_LINE('------------');
LOOP
FETCH CUST INTO LASTNAME;
EXIT WHEN CUST %NOTFOUND;
DBMS_OUTPUT.PUT_LINE(LASTNAME);
END LOOP;
END;
/
Procedure created.

LNAME
PETER
B NAIR
b.
SET SERVEROUTPUT ON;
CREATE OR REPLACE PROCEDURE PROC_CUST
AS
CURSOR CUST2 IS SELECT * FROM CUSTOMER ORDER BY FNAME,LNAME;
CUSTNO CUSTOMER.CUST_ID %TYPE;
FIRSTNAME CUSTOMER.FNAME %TYPE;
LASTNAME CUSTOMER.LNAME %TYPE;
AREA CUSTOMER.AREA %TYPE;
PHNO CUSTOMER.PHONE_NUMBER %TYPE;
BEGIN

OPEN CUST2;
DBMS_OUTPUT.PUT_LINE('CUSTNO '||'FIRSTNAME '||'LASTNAME '||'AREA '||'PHNO ');
DBMS_OUTPUT.PUT_LINE('--------'||'--------'||'--------'||'--------'||'--------');
LOOP
FETCH CUST2 INTO CUSTNO,FIRSTNAME,LASTNAME,AREA,PHNO;
EXIT WHEN CUST2 %NOTFOUND;
DBMS_OUTPUT.PUT_LINE(CUSTNO||' '||FIRSTNAME ||' '||LASTNAME ||' '||AREA ||' '||
PHNO );
END LOOP;
END;
/
Procedure created.

CUSTID
104
102
101
105
103

FNAME
BALU
BINU
JOHNS
PAUL
PRIYA

LNAME
B NAIR
JOSE
CHACKO
ARTHUR
PETER

AREA
KOLLAM
KOTTAYAM
KOLLAM
KOTTAYAM
KOLLAM

PH_NO
9875461235
5879451236
8956234578
8945632178
8956237412

III.
CREATE TABLE CUSTOMER2(CNO VARCHAR(6)PRIMARY KEY,
CNAME VARCHAR(20)NOT NULL,
ADDRESS VARCHAR(20),
CITY VARCHAR(20));
Table created.

CREATE TABLE SALES(ORDERNO VARCHAR(6)PRIMARY KEY,


ORDERDATE DATE,
CNO VARCHAR(6)REFERENCES CUSTOMER2);
Table created.

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

INSERT INTO CUSTOMER2 VALUES('101','JAY','JAY HOUSE','KOTTAYAM');


1 row(s) inserted.

INSERT INTO CUSTOMER2 VALUES('102','JOHN','JOHN


HOUSE','KOLLAM');
1 row(s) inserted.

INSERT INTO CUSTOMER2VALUES('103','ARUN


MOHAN','NULL','CHANGANACHERRY');
1 row(s) inserted.

INSERT INTO CUSTOMER2 VALUES('104','ARAVIND','ARAVIND


HOUSE','ALAPPUZHA');
1 row(s) inserted.

INSERT INTO CUSTOMER2 VALUES('105','ARUN S','ARUN


HOUSE','KOTTAYAM');
1 row(s) inserted.

-------------------------------------------------------------------------------------------INSERT INTO SALES VALUES('O1','25/FEB/2012','103');


1 row(s) inserted.

INSERT INTO SALES VALUES('O2','28/FEB/2012','102');


1 row(s) inserted.

INSERT INTO SALES VALUES('O3','3/MAR/2012','101');


1 row(s) inserted.

INSERT INTO SALES VALUES('O4','8/MAR/2012','102');


1 row(s) inserted.

INSERT INTO SALES VALUES('O5','20/MAR/2012','105');


1 row(s) inserted.

--------------------------------------------------------------------------------------------1)
b)
UPDATE CUSTOMER2 SET ADDRESS='JOHN VILLA' WHERE
CNAME='JOHN';
1 row(s) updated.

2)
a)
SELECT COUNT(ORDERNO) FROM SALES WHERE ORDERDATE >
'03/MAR/2012';
COUNT
3

b)
SELECT S.ORDERNO FROM SALES S,CUSTOMER2 C WHERE
S.CNO=C.CNO AND C.CNAME='JAY';
ORDERNO
O3

---------------------------------------------------------------------------------------3)
CREATE VIEW CUST_VIEW
AS SELECT * FROM CUSTOMER2;
View created.

----------------------------------------------------------------------4)
A)
SET SERVEROUTPUT ON;
CREATE OR REPLACE PROCEDURE PROC_CUST3
AS
CURSOR CUSTSALE IS SELECT DISTINCT(CNAME) FROM CUSTOMER2
WHERE CNAME LIKE 'A%';
CUSTNAME CUSTOMER2.CNAME %TYPE;
BEGIN
OPEN CUSTSALE;
DBMS_OUTPUT.PUT_LINE('CUSTOMERNAME');
DBMS_OUTPUT.PUT_LINE('------------');

LOOP
FETCH CUSTSALE INTO CUSTNAME;
EXIT WHEN CUSTSALE %NOTFOUND;
DBMS_OUTPUT.PUT_LINE(CUSTNAME);
END LOOP;
END;
/
Procedure created.
CNAME
ARUN S
ARAVIND
ARUN MOHAN

-----------------------------------------------------------------------------B)
SET SERVEROUTPUT ON;
CREATE OR REPLACE PROCEDURE PROC_CUST4
AS
CURSOR CUSTSALE2 IS SELECT CNO,CNAME FROM CUSTOMER2
WHERE ADDRESS='NULL';
CUSTNO CUSTOMER2.CNO %TYPE;
CUSTNAME CUSTOMER2.CNAME %TYPE;
BEGIN
OPEN CUSTSALE2;
DBMS_OUTPUT.PUT_LINE('CUSTNO '||' CUSTOMERNAME');
DBMS_OUTPUT.PUT_LINE('------------'|| '--------------');
LOOP
FETCH CUSTSALE2 INTO CUSTNO,CUSTNAME;
EXIT WHEN CUSTSALE2 %NOTFOUND;
DBMS_OUTPUT.PUT_LINE(CUSTNO||' '||CUSTNAME);
END LOOP;
END;
/
Procedure created.
CNO

CNAME

103

ARUN MOHAN

IV
1a
CREATE TABLE EMPLOYEE(ENO VARCHAR(5)PRIMARY KEY,
NAME VARCHAR(30)NOT NULL,
DESIGNATION VARCHAR(30)CHECK(DESIGNATION IN
('TRAINEE','TEAM MEMBER','TEAM HEAD','MANAGER')),
SALARY NUMBER(7,2));
Table created.

-------------------------------------------------------------------CREATE TABLE PROJECT(PID VARCHAR(5)PRIMARY KEY,


PROJNAME VARCHAR(25),
ENO VARCHAR(5)REFERENCES EMPLOYEE);
Table created.

--------------------------------------------------------------------INSERT INTO EMPLOYEE VALUES('101','NIVIN S','TRAINEE',4500);


1 row(s) inserted.

INSERT INTO EMPLOYEE VALUES('102','ALBERT','TEAM


MEMBER',10000);
1 row(s) inserted.

INSERT INTO EMPLOYEE VALUES('103','BINU N','TEAM MEMBER',6000);


1 row(s) inserted.

INSERT INTO EMPLOYEE VALUES('104','ANITHA JOY','TRAINEE',3000);


1 row(s) inserted.

INSERT INTO EMPLOYEE VALUES('105','KIRAN','MANAGER',45000);


1 row(s) inserted.

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

INSERT INTO PROJECT VALUES('P1','JOB TRACKER','104');


1 row(s) inserted.

INSERT INTO PROJECT VALUES('P2','REALESTATE PORTAL','101');


1 row(s) inserted.

INSERT INTO PROJECT VALUES('P3','VEHICLE PORTAL','103');


1 row(s) inserted.

INSERT INTO PROJECT VALUES('P4','HOTELROOMRESERVATION','105');


1 row(s) inserted.

INSERT INTO PROJECT VALUES('P5','SOCIALMEDIA','102');


1 row(s) inserted.

1)
B)
UPDATE EMPLOYEE SET DESIGNATION='TEAM HEAD' WHERE
NAME='ALBERT';
1 row(s) updated.

2)
A)
SELECT * FROM EMPLOYEE ORDER BY NAME;
ENO
102
104
103
105
101

NAME
ALBERT
ANITHA JOY
BINU N
KIRAN
NIVIN S

DESIGNATION
TEAM HEAD
TRAINEE
TEAM MEMBER
MANAGER
TRAINEE

SALARY
10000
3000
6000
45000
4500

B)
SELECT E.NAME,P.PROJNAME FROM EMPLOYEE E,PROJECT P WHERE
P.ENO=E.ENO;
NAME
ANITHA JOY
NIVIN S
BINU N
KIRAN
ALBERT

PROJNAME
JOB TRACKER
REALESTATE PORTAL
VEHICLE PORTAL
HOTELROOMRESERVATION
SOCIALMEDIA

-----------------------------------------------------------------------3)
CREATE VIEW VIEW_EMP
AS
SELECT * FROM EMPLOYEE;

View created.
---------------------------------------------------------------------4)
A)
SET SERVEROUTPUT ON;
CREATE OR REPLACE PROCEDURE PROC_EMP
AS
CURSOR EMPCUR IS SELECT ENO,NAME FROM EMPLOYEE WHERE
SALARY < 5000;
EMPNO EMPLOYEE.ENO %TYPE;
ENAME EMPLOYEE.NAME %TYPE;
BEGIN
OPEN EMPCUR;
DBMS_OUTPUT.PUT_LINE('EMPNO '||' EMPNAME');
DBMS_OUTPUT.PUT_LINE('--------- '||' ---------');
LOOP
FETCH EMPCUR INTO EMPNO,ENAME;
EXIT WHEN EMPCUR %NOTFOUND;
DBMS_OUTPUT.PUT_LINE(EMPNO ||' '|| ENAME);
END LOOP;
END;
/

Procedure created.
ENO
101
104

NAME
NIVIN S
ANITHA JOY

-----------------------------------------------------------------B)

SET SERVEROUTPUT ON;


CREATE OR REPLACE PROCEDURE PROC_EMP
AS
CURSOR EMPCUR2 IS SELECT DESIGNATION,MAX(SALARY)AS
MAX_SAL,MIN(SALARY)AS MN_SAL,AVG(SALARY)AS AVG_SAL
FROM EMPLOYEE GROUP BY DESIGNATION;
DES EMPLOYEE.DESIGNATION %TYPE;
MAX_SAL EMPLOYEE.SALARY %TYPE;
MIN_SAL EMPLOYEE.SALARY %TYPE;
AVG_SAL EMPLOYEE.SALARY %TYPE;
BEGIN
OPEN EMPCUR2;
DBMS_OUTPUT.PUT_LINE(' DESIGNATION '||' MAX_SAL '||' MIN_SAL '||'
AVG_SAL ');
DBMS_OUTPUT.PUT_LINE('-------------'||'--------- '||' --------- '||'--------'||'------------');
LOOP
FETCH EMPCUR2 INTO DES,MAX_SAL,MIN_SAL,AVG_SAL;
EXIT WHEN EMPCUR2 %NOTFOUND;
DBMS_OUTPUT.PUT_LINE( DES ||' '|| MAX_SAL ||' ' || MIN_SAL ||' '||
AVG_SAL);
END LOOP;
END;
/

Procedure created.
DESIGNATION
TEAM MEMBER
TRAINEE
MANAGER
TEAM HEAD

MAX_SAL
6000
4500
45000
10000

MN_SAL
6000
3000
45000
10000

AVG_SAL
6000
3750
45000
10000

V
1a.
CREATE TABLE EMPLOYEE1(ECODE VARCHAR(5)PRIMARY KEY,
ENAME VARCHAR(30)NOT NULL,

BCODE VARCHAR(10)REFERENCES BRANCH,


GRADE NUMBER(2)CHECK(GRADE IN(1,2,3,4,5,6,7,8,9,10)),
DT_IN DATE,
SALARY NUMBER(7,2));
Table created.

---------------------------------------------------------------CREATE TABLE BRANCH(BCODE VARCHAR(10)PRIMARY KEY,


BNAME VARCHAR(10)NOT NULL);
Table created.

-------------------------------------------------------------------1)
A)BRANCH
-----------INSERT INTO BRANCH VALUES('B01','MCA');
1 row(s) inserted.

INSERT INTO BRANCH VALUES('B02','BCA');


1 row(s) inserted.

INSERT INTO BRANCH VALUES('B03','BCOM');


1 row(s) inserted.

INSERT INTO BRANCH VALUES('B04','MCOM');


1 row(s) inserted.

INSERT INTO BRANCH VALUES('B05','BBA');


1 row(s) inserted.

---------------------------------------------------------------EMPLOYEE1
-------------INSERT INTO EMPLOYEE1 VALUES('E201','JOHN
SAMUAL','B02',2,'20/MAR/2013',4000);
1 row(s) inserted.

INSERT INTO EMPLOYEE1


VALUES('E202','MONCY','B01',2,'5/MAR/2013',3500);
1 row(s) inserted.

INSERT INTO EMPLOYEE1


VALUES('E203','APARNA','B05',7,'29/MAR/2013',8000);
1 row(s) inserted.

INSERT INTO EMPLOYEE1


VALUES('E204','NIVIN','B04',1,'2/APR/2013',10000);
1 row(s) inserted.

INSERT INTO EMPLOYEE1


VALUES('E205','GAYATHRI','B03',6,'10/APR/2013',5000);
1 row(s) inserted.

---------------------------------------------------------------------------------B)
UPDATE EMPLOYEE1 SET GRADE=5 WHERE ECODE='E201';
1 row(s) updated.

2)
A)
SELECT ECODE,ENAME FROM EMPLOYEE1 WHERE SALARY > (SELECT
AVG(SALARY)FROM EMPLOYEE1);
ECODE
E203
E204

ENAME
APARNA
NIVIN

B)
SELECT E.ENAME,B.BNAME,E.GRADE FROM EMPLOYEE1 E,BRANCH B
WHERE
E.BCODE=B.BCODE;
ENAME
MONCY
JOHN SAMUAL
GAYATHRI
NIVIN
APARNA

BNAME
MCA
BCA
BCOM
MCOM
BBA

GRADE
2
5
6
1
7

-----------------------------------------------------------3)
CREATE VIEW EMP1_VIEW
AS
SELECT * FROM EMPLOYEE1;
View created.

--------------------------------------------------------------4)
A)
SET SERVEROUTPUT ON;
CREATE OR REPLACE PROCEDURE PROC_EMP1
AS
CURSOR CUR_EMP1 IS SELECT ECODE,ENAME FROM EMPLOYEE1
WHERE GRADE=2;
EMPCODE EMPLOYEE1.ECODE %TYPE;
EMPNAME EMPLOYEE1.ENAME %TYPE;
BEGIN
OPEN CUR_EMP1;
DBMS_OUTPUT.PUT_LINE('EMPCODE '||' EMPNAME ');
DBMS_OUTPUT.PUT_LINE('----------'||'----------');
LOOP
FETCH CUR_EMP1 INTO EMPCODE,EMPNAME;
EXIT WHEN CUR_EMP1 %NOTFOUND;
DBMS_OUTPUT.PUT_LINE(EMPCODE||'
'|| EMPNAME);
END LOOP;
END;
/
Procedure created.

ECODE
E202

ENAME
MONCY

-----------------------------------------------------------------B)
SET SERVEROUTPUT ON;

CREATE OR REPLACE PROCEDURE PROC_ESAL


AS
CURSOR CURESAL IS SELECT ECODE,ENAME FROM EMPLOYEE1
WHERE SALARY >3000 AND SALARY < 5000;
EMPCODE EMPLOYEE1.ECODE %TYPE;
EMPNAME EMPLOYEE1.ENAME %TYPE;
BEGIN
OPEN CURESAL;
DBMS_OUTPUT.PUT_LINE('EMPCODE '||' EMPNAME ');
DBMS_OUTPUT.PUT_LINE('----------'||'----------');
LOOP
FETCH CURESAL INTO EMPCODE,EMPNAME;
EXIT WHEN CURESAL %NOTFOUND;
DBMS_OUTPUT.PUT_LINE(EMPCODE||'
'||EMPNAME);
END LOOP;
END;
/
Procedure created.

ECODE
E201
E202

ENAME
JOHN SAMUAL
MONCY

VI
1a.
CREATE TABLE MOVIE(MVNO NUMBER(2)PRIMARY KEY,
TITLE VARCHAR(25)NOT NULL UNIQUE,
TYPE VARCHAR(10)CHECK(TYPE IN('COMEDY','ACTION','HORROR')),
STAR VARCHAR(25),
PRICE NUMBER(10,2));
Table created.

-------------------------------------------------------CREATE TABLE INVOICE2(INVNO NUMBER(2)PRIMARY KEY,


MVNO NUMBER(2)REFERENCES MOVIE,
ISSUE_DATE DATE);
Table created.

--------------------------------------------------------------1)
A)
INSERT INTO MOVIE VALUES('10','PAKAL
POORAM','HORROR','MUKESH',500000);
1 row(s) inserted.

INSERT INTO MOVIE VALUES('20','NARASIMHAM','ACTION','MOHAN


LAL',750000);
1 row(s) inserted.

INSERT INTO MOVIE VALUES('30','HONEY BEE','COMEDY','ASIF


ALI',300000);
1 row(s) inserted.

INSERT INTO MOVIE VALUES('40','MALLU SINGH','ACTION','UNNI


MUKUNDHAN',450000);
1 row(s) inserted.

INSERT INTO MOVIE VALUES('50','MEGHA


SANDHESAM','HORROR','SURESH GOPI',580000);
1 row(s) inserted.

------------------------------------------------------------------------------------INSERT INTO INVOICE2 VALUES(1,20,'20/JUL/2012');


1 row(s) inserted.

INSERT INTO INVOICE2 VALUES(2,30,'10/AUG/2012');


1 row(s) inserted.

INSERT INTO INVOICE2 VALUES(3,10,NULL);


1 row(s) inserted.

INSERT INTO INVOICE2 VALUES(4,50,'18/JAN/2013');


1 row(s) inserted.

INSERT INTO INVOICE2 VALUES(5,40,NULL);


1 row(s) inserted.

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

B)
UPDATE MOVIE SET PRICE=PRICE+10;
5 row(s) updated.

-------------------------------------------------------------------------------------2)
A)
SELECT TITLE AS MOVIE_NAME FROM MOVIE ORDER BY TITLE;
MOVIE_NAME
HONEY BEE
MALLU SINGH
MEGHA SANDHESAM
NARASIMHAM
PAKAL POORAM

---------------------------------------------------------------------------------B)
SELECT M.TITLE FROM MOVIE1 M,INVOICE2 N WHERE
M.MNNO=N.MVNO AND N.ISSUE_DATE!=NULL;
---------------------------------------------------------------------------------------------3)
CREATE VIEW VIEW_MOVIE
AS
SELECT * FROM MOVIE;
View created.

-----------------------------------------------------------------------------------4)
A)
SET SERVEROUTPUT ON;
CREATE OR REPLACE PROCEDURE PROC_MV
AS
CURSOR CURMV IS SELECT MVNO,TITLE,TYPE FROM MOVIE WHERE
STAR LIKE 'M%';

MVNUM MOVIE.MVNO %TYPE;


TITLE MOVIE.TITLE %TYPE;
TYPE1 MOVIE.TYPE %TYPE;
BEGIN
OPEN CURMV;
DBMS_OUTPUT.PUT_LINE('MVNO '||'TITLE '||' TYPE');
DBMS_OUTPUT.PUT_LINE('--------- '||'-------- '||' ---------');
LOOP
FETCH CURMV INTO MVNUM,TITLE,TYPE1;
EXIT WHEN CURMV %NOTFOUND;
DBMS_OUTPUT.PUT_LINE(MVNUM||' '||TITLE||'
'||TYPE1);
END LOOP;
END;
/
MVNO
10
20

TITLE
PAKAL POORAM
NARASIMHAM

TYPE
HORROR
ACTION

------------------------------------------------------------------B)
SET SERVEROUTPUT ON;
CREATE OR REPLACE PROCEDURE PROC_MVPR
AS
CURSOR CUR_MVPR IS SELECT TYPE,AVG(PRICE) FROM MOVIE
GROUP BY TYPE;
TYPE1 MOVIE.TYPE %TYPE;
AVG_PRICE MOVIE.PRICE %TYPE;
BEGIN
OPEN CUR_MVPR;
DBMS_OUTPUT.PUT_LINE('TYPE '||'AVG_PRICE ');
DBMS_OUTPUT.PUT_LINE('--------- '||'-------- ');
LOOP
FETCH CUR_MVPR INTO TYPE1,AVG_PRICE;
EXIT WHEN CUR_MVPR %NOTFOUND;
DBMS_OUTPUT.PUT_LINE(TYPE1||' '||AVG_PRICE);
END LOOP;
END;
/

TYPE
ACTION
COMEDY
HORROR

AVG(PRICE)
600010
300010
540010

VII
1a.
CREATE TABLE PERSONS(PID NUMERIC(5)PRIMARY KEY,
FNAME VARCHAR(15)NOT NULL,
LNAME VARCHAR(15),
ADDRESS VARCHAR(20),
CITY VARCHAR(10));
-------------------------------------------------------------CREATE TABLE ORDER1(OID NUMERIC(5)PRIMARY KEY,
ORDERQTY NUMERIC(5)NOT NULL,
ORDERDATE DATE,
PID NUMERIC(5)REFERENCES PERSONS);
---------------------------------------------------------------INSERT INTO PERSONS VALUES(101,'NITHIN','VARGHESE','NITHIN
VILLA','KOTTAYAM');
INSERT INTO PERSONS VALUES(102,'JOHNSON','JAMES','JAMES
VILLA','KOLLAM');
INSERT INTO PERSONS VALUES(103,'MERIN','THOMAS','THOMAS
VILLA','TVM');
INSERT INTO PERSONS VALUES(104,'JAMES','MATHEW','MATHEW
VILLA','ALAPPUZHA');
INSERT INTO PERSONS VALUES(105,'NICIN','JOHN','NICIN
VILLA','PTNMTHTA');
-------------------------------------------------------------------------------INSERT INTO ORDER1 VALUES(575,7,'14/FEB/2013',104);
INSERT INTO ORDER1 VALUES(576,5,'28/FEB/2013',102);
INSERT INTO ORDER1 VALUES(577,7,'19/MAR/2013',101);

INSERT INTO ORDER1 VALUES(578,4,'10/JUN/2013',105);


INSERT INTO ORDER1 VALUES(579,7,'22/JUL/2013',101);
-----------------------------------------------------------------------------------1)B.
UPDATE ORDER1 SET ORDERQTY=6 WHERE OID=578;
1 row(s) updated.

2)
A)
SELECT * FROM ORDER1 WHERE ORDERDATE < '09/JUN/2013';
OID
575
576
577

ORDERQTY
7
5
7

ORDERDATE
14-FEB-13
28-FEB-13
19-MAR-13

PID
104
102
101

B)
SELECT O.OID,O.ORDERQTY,O.ORDERDATE FROM ORDER1 O,PERSONS
P WHERE O.PID=P.PID AND P.FNAME='JOHNSON';
OID
576

ORDERQTY
5

ORDERDATE
28-FEB-13

-------------------------------------------------------------------------------------3)
CREATE VIEW VIEW_ORDER
AS
SELECT * FROM ORDER1;
--------------------------------------------------------------------------------------4)
A)
SET SERVEROUTPUT ON;
CREATE OR REPLACE PROCEDURE PROC_PER
AS
CURSOR CUR_PER IS SELECT FNAME,ADDRESS,CITY FROM PERSONS
WHERE CITY='KOLLAM';
FNAME PERSONS.FNAME %TYPE;
ADDRESS PERSONS.ADDRESS %TYPE;
CITY PERSONS.CITY %TYPE;
BEGIN

OPEN CUR_PER;
DBMS_OUTPUT.PUT_LINE('FNAME '||' ADDRESS '||' CITY ');
DBMS_OUTPUT.PUT_LINE('----------'||'----------');
LOOP
FETCH CUR_PER INTO FNAME,ADDRESS,CITY;
EXIT WHEN CUR_PER %NOTFOUND;
DBMS_OUTPUT.PUT_LINE(FNAME||'
'|| ADDRESS||' '|| CITY );
END LOOP;
END;
/
FNAME
JOHNSON

ADDRESS
JAMES VILLA

CITY
KOLLAM

---------------------------------------------------------------------B)
SET SERVEROUTPUT ON;
CREATE OR REPLACE PROCEDURE PROC_PER2
AS
CURSOR CUR_PER2 IS SELECT * FROM PERSONS ORDER BY FNAME;
PID PERSONS.PID %TYPE;
FNAME PERSONS.FNAME %TYPE;
LNAME PERSONS.LNAME %TYPE;
ADDRESS PERSONS.ADDRESS %TYPE;
CITY PERSONS.CITY %TYPE;
BEGIN
OPEN CUR_PER2;
DBMS_OUTPUT.PUT_LINE('PID '||' FNAME '||'LNAME '||' ADDRESS '||'
CITY ');
DBMS_OUTPUT.PUT_LINE('----------'||'----------'||'----------'||'----------'||'----------');
LOOP
FETCH CUR_PER2 INTO PID,FNAME,LNAME,ADDRESS,CITY;
EXIT WHEN CUR_PER2 %NOTFOUND;
DBMS_OUTPUT.PUT_LINE(PID||' '||FNAME||'
'||LNAME||' '||
ADDRESS||' '|| CITY );
END LOOP;
END;
/

PID
104
102
103
105
101

FNAME
JAMES
JOHNSON
MERIN
NICIN
NITHIN

LNAME
MATHEW
JAMES
THOMAS
JOHN
VARGHESE

ADDRESS
MATHEW VILLA
JAMES VILLA
THOMAS VILLA
NICIN VILLA
NITHIN VILLA

CITY
ALAPPUZHA
KOLLAM
TVM
PTNMTHTA
KOTTAYAM

VIII
1a
CREATE TABLE ACCOUNT(ACC_NO NUMBER(10)PRIMARY KEY,
AMOUNT NUMBER(10,2));
---------------------------------------------------------------------CREATE TABLE CUSTOMER1(CUST_ID VARCHAR(10)PRIMARY KEY,
CUST_NAME VARCHAR(25)NOT NULL,
ACC_NO NUMBER(10)REFERENCES ACCOUNT,
ADDRESS VARCHAR(25),
PHONE_NO NUMBER(10));
------------------------------------------INSERT INTO ACCOUNT VALUES(101,10000);
INSERT INTO ACCOUNT VALUES(102,66000);
INSERT INTO ACCOUNT VALUES(103,200000);
INSERT INTO ACCOUNT VALUES(104,5000);
INSERT INTO ACCOUNT VALUES(105,45000);
--------------------------------------------INSERT INTO CUSTOMER1 VALUES('C340','ANIL',104,'ANIL
VILLA',9878675512);
INSERT INTO CUSTOMER1 VALUES('C343','SUNI',101,'SUNIL
VILLA',890675500);
INSERT INTO CUSTOMER1 VALUES('C345','SONI',105,'SONI
VILLA',8909608219);
INSERT INTO CUSTOMER1 VALUES('C347','REENU',103,'REENU
VILLA',7890912874);
INSERT INTO CUSTOMER1 VALUES('C350','MIYA',102,'MIYA
VILLA',7891287340);
---------------------------------------------1)
B)
UPDATE CUSTOMER1 SET ADDRESS='SONI NIVAS' WHERE
CUST_ID='C345';

1 ROW UPDATED.
2)
A)SELECT * FROM CUSTOMER1 WHERE ACC_NO IN(SELECT ACC_NO
FROM ACCOUNT
WHERE AMOUNT =(SELECT MAX(AMOUNT) FROM ACCOUNT));
CUST_ID
CUST_NAME
C347
REENU

ACC_NO
ADDRESS
103
REENU VILLA

PHONE_NO
7890912874

B)
SELECT * FROM CUSTOMER1 ORDER BY ACC_NO;
----------------------------------------------------------------3)
CREATE VIEW VIEW_CUST
AS
SELECT * FROM CUSTOMER1;
View created.

------------------------------------------------------------4)
A)
SET SERVEROUTPUT ON;
CREATE OR REPLACE PROCEDURE PROC_CUST1
AS
CURSOR CUR_CUST1 IS SELECT
CUST_ID,CUST_NAME,ACC_NO,ADDRESS FROM CUSTOMER1;
CUST_ID CUSTOMER1.CUST_ID %TYPE;
CUST_NAME CUSTOMER1.CUST_NAME %TYPE;
ACC_NO CUSTOMER1.ACC_NO %TYPE;
ADDRESS CUSTOMER1.ADDRESS %TYPE;
BEGIN
OPEN CUR_CUST1;
DBMS_OUTPUT.PUT_LINE('CUST_ID '||' CUST_NAME '||' ACC_NO'||'
ADDRESS');
DBMS_OUTPUT.PUT_LINE('----------'||'----------'||'----------'||'----------');
LOOP
FETCH CUR_CUST1 INTO CUST_ID,CUST_NAME,ACC_NO,ADDRESS;
EXIT WHEN CUR_CUST1 %NOTFOUND;

DBMS_OUTPUT.PUT_LINE(CUST_ID||'
'||ADDRESS);
END LOOP;
END;
/

'||CUST_NAME||'

'||ACC_NO||'

Procedure created.

CUST_ID
C340
C343
C345
C347
C350

CUST_NAME
ANIL
SUNI
SONI
REENU
MIYA

ACC_NO
104
101
105
103
102

ADDRESS
ANIL VILLA
SUNIL VILLA
SONI NIVAS
REENU VILLA
MIYA VILLA

---------------------------------------------------------------------------B)
SET SERVEROUTPUT ON;
CREATE OR REPLACE PROCEDURE PROC_CUST11
AS
CURSOR CUR_CUST11 IS SELECT SUM(AMOUNT) FROM ACCOUNT;
TOTAL_AMOUNT ACCOUNT.AMOUNT %TYPE;
BEGIN
OPEN CUR_CUST11;
DBMS_OUTPUT.PUT_LINE('TOTAL_AMOUNT ');
DBMS_OUTPUT.PUT_LINE('----------');
LOOP
FETCH CUR_CUST11 INTO TOTAL_AMOUNT;
EXIT WHEN CUR_CUST11 %NOTFOUND;
DBMS_OUTPUT.PUT_LINE(TOTAL_AMOUNT);
END LOOP;
END;
/
Procedure created.

SUM(AMOUNT)
326000

IX)

CREATE TABLE BOOKS


(
BOOK_NOVARCHAR(10) PRIMARY KEY,
TITLE VARCHAR(25)NOT NULL,
BOOK_TYPEVARCHAR(25) CHECK(BOOK_TYPE
IN('NOVEL','SHORT_STORY','JOURNEL','TRAVELOGUE')),
AUTHOR VARCHAR(25),
PRICE NUMBER(10,2));

CREATE TABLE B_CUSTOMER


(
CUST_IDVARCHAR(10) PRIMARY KEY,

CUST_NAMEVARCHAR(25),
BOOK_NOVARCHAR(10) REFERENCES BOOKS,
DUE NUMBER(10,2));

1)

INSERT INTO BOOKS VALUES('C001','AAAA','NOVEL','ADAMS',250);


INSERT INTO BOOKS VALUES('C002','BBB','TRAVELOGUE','SIEN',280);
INSERT INTO BOOKS VALUES('C003','CCCC','JOURNEL','STEVEN',320);
INSERT INTO BOOKS VALUES('C004','DDD','SHORT_STORY','CYRIL',120);
INSERT INTO BOOKS VALUES('C005','EEEE','NOVEL','CYRIL',535);

INSERT INTO B_CUSTOMER(CUST_ID,CUST_NAME,BOOK_NO,DUE)


VALUES('111','ANIL','C005',100);
INSERT INTO B_CUSTOMER(CUST_ID,CUST_NAME,BOOK_NO,DUE)
VALUES('113','BINU','C003',25);
INSERT INTO B_CUSTOMER(CUST_ID,CUST_NAME,BOOK_NO,DUE)
VALUES('115','DAVID','C001',75);
INSERT INTO B_CUSTOMER(CUST_ID,CUST_NAME,BOOK_NO,DUE)
VALUES('117','EMIL','C004',20);
INSERT INTO B_CUSTOMER(CUST_ID,CUST_NAME,BOOK_NO,DUE)
VALUES('119','FOROZ','C002',80);

2)

SELECT TITLE,LANGUAGE FROM BOOKS WHERE


BOOK_TYPE='NOVEL';
TITLE

LANGUAGE

AAAA

ENGLISH

EEEE

MALAYALAM

3)
SELECT * FROM BOOKS WHERE AUTHOR='ADAMS';
BOOK_N
O
C001

TITL
E

BOOK_TYP
E

AUTHO
R

PRIC
E

LANGUAG
E

AAAA

NOVEL

ADAMS

250

ENGLISH

4)
SELECT * FROM B_CUSTOMER ORDER BY DUE DESC;
CUST_ID

CUST_NAME

BOOK_NO

DUE

111

ANIL

C005

100

119

FOROZ

C002

80

115

DAVID

C001

75

113

BINU

C003

25

117

EMIL

C004

20

(X)
CREATE TABLE STORE
(
ITEM_CODEVARCHAR(10) PRIMARY KEY,
ITEM VARCHAR(25),
STOCK NUMBER(10)
CATEGORY VARCHAR(25));

CREATE TABLE SALES


(
ITEM_CODEVARCHAR(10) REFERENCES STORE,
ITEM VARCHAR(25),
SALES_QTYNUMBER(10),
PRICE NUMBER(10,2));

(1)
INSERT INTO STORE VALUES('I11','SOAP',55,'COSMETICS');
INSERT INTO STORE VALUES('I12','MOISTARISER',18,'COSMETICS');
INSERT INTO STORE VALUES('I13','TALCOM POWDER',22,'COSMETICS');
INSERT INTO STORE VALUES('I14','BATTERY',120,'ELECTRONIC');
INSERT INTO STORE VALUES('I15','PAPER',250,'STATIONARY');

INSERT INTO SALES VALUES('I11','SOAP',11,18);


INSERT INTO SALES VALUES('I12','MOISTARISER',8,180);
INSERT INTO SALES VALUES('I13','TALCOM POWDER',14,52);
INSERT INTO SALES VALUES('I14','BATTERY',60,10);
INSERT INTO SALES VALUES('I15','PAPER',35,225);

(2)
SELECT ITEM_CODE,ITEM FROM STORE ORDER BY CATEGORY;
ITE M_C ODE

ITEM

I11

SOAP

I12

MOISTARISER

I13

TALCOM POWDER

I14

BATTERY

I15

PAPER

Das könnte Ihnen auch gefallen