Sie sind auf Seite 1von 7

Ex.

No: SPLIT & JOINING TWO TABLES


Date:

AIM:

To write a programmer to create view in the employee.

ALGORITHM:
Step 1:

Start the Process.

Step 2:

Step 3:

Step 4:

Step 5:

Stop the process.


CREATE A TABLE:

SQL> create table nanstu (rno number(3), name varchar2(14), m1 number(4),m2

Number (4), m3 number (4));

Table created.

INSERT VALUES

SQL> insert into nanstu values(&rno,'&name',&m1,&m2,&m3);

Enter value for rno: 101

Enter value for name: ramu

Enter value for m1: 88

Enter value for m2: 75

Enter value for m3: 65

Old 1: insert into nanstu values(&rno,'&name',&m1,&m2,&m3)

New 1: insert into nanstu values(101,'ramu',88,75,65)

1 row created.

SQL> /

Enter value for rno: 202

Enter value for name: suresh

Enter value for m1: 94

Enter value for m2: 64

Enter value for m3: 86

Old 1: insert into nanstu values(&rno,'&name',&m1,&m2,&m3)

New 1: insert into nanstu values(202,'suresh',94,64,86)

1 row created.

SQL> /

Enter value for rno: 303

Enter value for name: muthu

Enter value for m1: 87


Enter value for m2: 98

Enter value for m3: 78

Old 1: insert into nanstu values(&rno,'&name',&m1,&m2,&m3)

New 1: insert into nanstu values(303,'muthu',87,98,78)

1 row created.

SQL> /

Enter value for rno: 404

Enter value for name: ajith

Enter value for m1: 55

Enter value for m2: 12

Enter value for m3: 30

Old 1: insert into nanstu values(&rno,'&name',&m1,&m2,&m3)

New 1: insert into nanstu values(404,'ajith',55,12,30)

1 row created.

SQL> /

Enter value for rno: 505

Enter value for name: vetrivel

Enter value for m1: 20

Enter value for m2: 30

Enter value for m3: 10

Old 1: insert into nanstu values(&rno,'&name',&m1,&m2,&m3)

New 1: insert into nanstu values(505,'vetrivel',20,30,10)

1 row created.
SQL> alter table nanstu add(total number(4), average number(5,2), result
varchar2(4));

Table altered.

SQL> update nanstu set total=m1+m2+m3;

5 rows updated.

SQL> update nanstu set average=total/3;

5 rows updated.

SQL> update nanstu set result='pass' where m1>40 and m2>40 and m3>40;

3 rows updated.

SQL> update nanstu set result='fail' where m1<40 or m2<40 or m3<40;

2 rows updated.

SQL> select * from nanstu;

RNO NAME M1 M2 M3 TOTAL AVERAGE RESU

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

101 ramu 88 75 65 228 76 pass

202 suresh 94 64 86 244 81.33 pass

303 muthu 87 98 78 263 87.67 pass

404 ajith 55 12 30 97 32.33 fail

505 vetrivel 20 30 10 60 20 fail

SQL> declare

2 cursor p is select * from nanstu;

3 s nanstu%rowtype;

4 begin

5 delete from pass;

6 delete from fail;

7 open p;
8 loop

9 fetch p into s;

10 exit when p%notfound;

11 if s.result='pass' then

12 insert into pass(rno,name,result) values(s.rno,s.name,s.result);

13 else

14 insert into fail(rno,name,result) values(s.rno,s.name,s.result);

15 end if;

16 end loop;

17 end;

18 /

PL/SQL procedure successfully completed.

SQL> select * from pass;

RNO NAME RESULT

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

101 ramu pass

202 suresh pass

303 muthu pass

SQL> select * from fail;

RNO NAME RESULT

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

404 ajith fail

505 vetrivel fail


SQL> create table merge(rno number(4), name varchar2(15),result char(4));

Table created.

SQL> declare

2 cursor a is select rno,result from nantable;

3 cursor b is select rno,name from nantable1;

4 begin

5 delete from merge;

6 for i in a loop

7 for j in b loop

8 if(i.rno=j.rno) then

9 insert into merge values(i.rno,j.name,i.result);

10 end if;

11 end loop;

12 end loop;

13 end;

14 /

PL/SQL procedure successfully completed.

SQL> select * from nantable;

RNO NAME RESU

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

111 Nijam pass

222 sathish pass

333 ramesh fail

444 raja pass

555 nila fail

666 prem pass

6 rows selected.
SQL> select * from nantable1;

RNO NAME

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

111 vivek

222 gugan

333 kavi

555 divya

SQL> select * from merge;

RNO NAME RESU

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

111 vivek pass

222 gugan pass

333 kavi fail

555 divya fail

Das könnte Ihnen auch gefallen