You are on page 1of 7

Assignment-6

LAB – A

Question 1.

use labsix;

delimiter $$

create procedure Sum10num()

begin

declare sum int;

declare i int;

set sum=0;

set i=1;

forloop : loop

if i>10

then

leave forloop;

end if;

set sum=sum+i;

set i=i+1;

end loop;

select sum;

end $$

DELIMITER ;

call Sum10num();

Question 2.

DELIMITER $$
CREATE function Factorial( n int)

returns int

deterministic

BEGIN

DECLARE i INT;

declare fact int;

SET i = 1;

set fact=1;

WHILE i<=n DO

SET fact = i * fact;

set i=i+1;

END WHILE;

return (fact);

END$$

DELIMITER ;

set @ans= Factorial(10);

select @ans;

Question 3.

create table factorials(

num int,

factorial int

);

delimiter $$

create procedure Fact10rows()

begin

declare i int;

set i=1;

forloop : loop

if i>10

then
leave forloop;

end if;

insert into factorials

values

(i,Factorial(i));

set i=i+1;

end loop;

end $$

DELIMITER ;

call Fact10rows();

select * from factorials;

Question 4.

delimiter $$

create procedure primenum(in n int)

begin

declare res varchar(20);

declare i int;

declare flag int;

set i=2;

set res="";

set flag=1;

forloop:loop

if i>n/2

then
leave forloop;

end if;

if n%i=0

then

set flag=0;

leave forloop;

end if;

set i=i+1;

end loop;

if flag=1

then

set res="Prime";

else

set res="Not Prime";

end if;

select res;

end $$

DELIMITER ;

drop procedure primenum;

call primenum(5);

Question 5.

(a).

create table emp1(

eid int,

ename varchar(20) primary key,

pf int,

basic_sal int,

net_sal int,
hra int,

da int,

DNO int

);

create table dept1(

dname varchar(20),

loc varchar(20),

dno int primary key,

supervisor varchar(20),

eid int

);

insert into emp1(eid,ename,dno)

values

(100,"Chirag",101),

(200,"Harshit",202),

(300,"Vishal",303),

(400,"Ishan",404);

delimiter $$

create procedure displaysal(in emp_name varchar(20),in basicsal int)

begin

declare pfa int;

declare hrap int;

declare dra int;

declare netsal int;

set hrap=(0.31)*basicsal;

set dra=(0.15)*basicsal;

if basicsal<3000

then

set pfa=(0.05)*basicsal;
end if;

if basicsal>=3000 and basicsal<5000

then

set pfa=(0.07)*basicsal;

end if;

if basicsal>=5000 and basicsal<8000

then

set pfa=(0.08)*basicsal;

end if;

set netsal=basicsal+hrap+dra-pfa;

UPDATE emp1

SET basic_sal = basicsal,

pf=pfa,

net_sal=netsal,

hra=hrap,

da=dra

WHERE ename = emp_name;

End $$

DELIMITER ;

call displaysal("Harshit",6000);

select *from emp1 where ename="Harshit";

(b).

delimiter $$

create procedure displaysal1(in deptnum int,in dpname varchar(20),in deploc varchar(20),out res varchar(20))

begin

insert into dept1(dno,dname,loc)


values

(deptnum,dpname,deploc);

set res="inserted";

End $$

DELIMITER ;

call displaysal1(102,"maths","delhi",@answer);

select @answer;

You might also like