0% found this document useful (0 votes)
6 views

Rdbms Solution

Uploaded by

aryaganeshmhaske
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Rdbms Solution

Uploaded by

aryaganeshmhaske
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Slip 1 return new; raise notice'%',r1;

create or replace view v1 as end if ; end loop;

select c.c_name from custom c,branch end $$; end $$;


b,ternary t

where c.c_no=t.c_no and b.b_id=t.b_id and


create trigger tg slip 2
b.br_name='Sbi';
before insert on custom create or replace view vr as

for each row select * from custom ,loan ,ternary


create view ab as
execute procedure f1(); where custom.c_no=ternary.c_no and
select c.c_name from custom c,branch
loan.l_no=ternary.l_no and
b,ternary t
create function f2(br varchar(20)) (loan.l_amt_appr::numeric)loan.l_amt_appr=1
where c.c_no=t.c_no and b.b_id=t.b_id
0000;
returns void
and c.city=b.br_city;
OR
language plpgsql
create view vh as select c_name from custom
as $$
create or replace function f1() where
declare
returns trigger c_no=(select c_no from ternary where
r1 record; l_no=(select l_no from
language plpgsql as $$
begin loan where l_amt_req=14000));
declare begin
for r1 in select * from loan l,branch b,ternary t
if new.c_no<>old.c_no then
where
create or replace view bs
raise exception 'you cannot change the
l.l_no=t.l_no and b.b_id=t.b_id and
customer number'; as select
b.br_name=br
l.l_no,l.l_amt_appr,l.l_amt_req,l.l_date
else
loop
from loan l,branch b,ternary t before insert on loan ------------------OR--------

where l.l_no=t.l_no for each row create or replace function f4(branch_name


text)
and b.b_id=t.b_id execute procedure tg1();
returns integer as $$
and b.br_name='Sbi';
declare
create or replace function ag(name
varchar(20)) brid integer;
create or replace function tg1()
returns void customer_count integer;
returns trigger
language plpgsql begin
language plpgsql
as $$ select b_id into brid from branch where
as $$
br_name =
declare
declare
branch_name;
p1 integer;
begin
if not found then
begin
if new.l_amt_req<=new.l_amt_appr then
raise exception 'Invalid branch name';
select count(c_name) into p1
raise exception 'the l_amt_req is always
end if;
greather then Loan amount approve'; from custom c
select count(*) into customer_count from
else ,branch b,ternary t
custom where
return new; where c.c_no=t.c_no and
c_no = (select c_no from ternary where
end if; b.b_id=t.b_id and b.br_name=name b_id=brid);

end $$; return p1; return customer_count;

end if; end;

create trigger t5 end $$; $$ language plpgsql;


raise notice 'invalid c_no'; select c.c_name,c.c_no,c.c_addr,l.l_amt_appr
from custom c,loan l,ternary t
else
where l.l_no=t.l_no and c.c_no=t.c_no;
slip 3 return new;
loop
create view vb as end if;
fetch c1 into r1;
select c.c_name from custom c,loan l,ternary t end $$;
exit when not found;
where c.c_no=t.c_no and
raise notice'% % %
l.l_no=t.l_no create trigger thf
%',r1.c_name,r1.c_no,r1.c_addr,r1.l_amt_app
and (l.l_amt_req::numeric)>20000; before insert on custom r;

for each row end loop;

create view t8 as execute procedure jcb(); close c1;

select * from custom ,branch end $$ ;

order by branch; create or replace function ghr()

returns void slip 4

create or replace function jcb() language plpgsql create or replace view v1 as

returns trigger as $$ select


d.dr_no,d.dr_name,d.lisence_no,d.addr,d.age,
language plpgsql declare d.salary
as $$ c1 refcursor; from driver d,bus_drv bd where
declare r1 record; d.dr_no=bd.dr_no and

begin begin bd.shift=1;

if new.c_no<=0 then open c1 for


-----------------OR-------------

create or replace view v2 as create trigger t2 create or replace function fun2(route_source

select before insert on driver varchar(20),route_destination varchar(20))


d.dr_no,d.dr_name,d.lisence_no,d.addr,d.age, returns void as
for each row
d.salary
$$
execute procedure f1();
from driver d where
declare
d.salary>20000;
rec record;
create or replace function tj(rt integer)
begin
returns void
create or replace function f1()
for rec in select * from bus where
language plpgsql
returns trigger bus.r_no=(select route.r_no
as $$
language plpgsql from route where
declare
as $$ route.source=route_source and
r1 record;
declare route.destination=route_destination)
begin
begin loop
for r1 in select
if new.age<18 and new.age>35 raise notice '%',rec;
b.b_no,b.capacity,b.dept_name from bus b
then raise notice 'Invalid input'; where b.r_no=rt end loop;

else loop end;

return new; raise notice '% % %' $$


,r1.b_no,r1.capacity,r1.dept_name;
end if; language plpgsql;
end loop;
end $$;
end $$;
slip 5 create or replace function g1() create or replace function dj(name
varchar(20))
returns trigger
returns void
1 language plpgsql
language plpgsql
create or replace view vr as $$
as $$
as select declare
d.dr_no,d.dr_name,d.lisence_no,d.addr,d.age, declare
begin
d.salary
record r2;
if new.salary<=0 then
from driver d,bus b,bus_drv bd where
refcursor c2;
raise exception'Invalid salary';
b.b_no=bd.b_no and d.dr_no=bd.dr_no and
begin
else
b.b_no=102;
open c2 for select bd.dr_no,bd.alocated_date
return new;
from bus_drv bd,bus b,driver d
end if;
create or replace view br
where b.b_no=bd.b_no and d.dr_no=bd.dr_no
end $$;
as select and
r.r_no,r.source,r.destination,r.no_of_station
d.dr_name=name;
from route r,bus b create trigger th
loop
where r.r_no=b.r_no before insert on driver
fetch c2 into r2;
and for each row
raise notice'% %',r2.dr_no,r2.alocated_date;
b.capacity=20; execute procedure g1();
end loop;

close c2;

end $$;

--------------OR--------------------------
CREATE OR REPLACE FUNCTION Slip 7
datee(driver_name
slip 6******* create or replace view bd
VARCHAR(20)) RETURNS table(date_driven
create or replace view bh as select p.p_name from passenger p,train
date) AS $$
t,ticket c
as
DECLARE
where p.p_in=c.p_in and t.t_no=c.t_no
select d.dr_name from driver d,bus_drv bd
date_driven date;-- driver_no integer;
and t.t_name='rajdhani' and
where d.dr_no=bd.dr_no and
cur refcursor; c.ticket_status='W' ;
bd.shift in(1,2);
begin

open cur for SELECT alocated_date create or replace view nq


create or replace view kl
FROM bus_drv,driver as select p.p_name,c.tick_no,t.t_name from
as select passenger p,train t,ticket c
WHERE driver.dr_no=bus_drv.dr_no and
b.b_no,b.capacity,b.dept_name,b.r_no
where p.p_in=c.p_in and
driver.dr_name=driver_name;
from route r,bus b
t.t_no=c.t_no and t.t_name='rajdhani' and
LOOP
where c.tdate='06-06-2023'limit 3;
FETCH cur INTO date_driven;
r.r_no=b.r_no and r.r_no=1;
EXIT WHEN NOT FOUND;
create or replace function bw()
return next;
;;;;;;;;;;;;for the trigger ask to mam;;;;;; returns trigger
END LOOP;
language plpgsql
CLOSE cur;
Cursor as $$
END;
declare
$$ LANGUAGE plpgsql;
begin
select datee('ram');
if new.bogie_capacity>25 then end $$;

raise notice 'the capacity should be less than create or replace view h1 as
25';
select count(ticket_status) from create trigger tk
else ticket,train,passenger
after insert on passenger
return new; where train.t_no=ticket.t_no and
for each row
end if; passenger.p_in=ticket.p_in and
execute procedure vr();
train.t_name='rajdhani' and ticket.tdate='06-
end $$;
06-2023';

create or replace function gh()


create trigger tj
create or replace function vr() returns void
before insert on train
returns trigger language plpgsql
for each row
language plpgsql as $$
execute procedure bw();
as $$ declare
Question 2 ask mam;
declare r1 record;
begin begin
slip 8
if new.age>5 then for r1 in
raise exception 'Age above5 years will be select c.tick_no,c.bogie_no,c.no_of_berths
create or replace view v2 as charged the full fare'; from ticket c,train t,passenger p

select p.p_in,p.p_name,p.addr,p.age,p.gender else where


from passenger p,ticket t,train c
return new; p.p_in=c.p_in and
where p.p_in=t.p_in and c.t_no=t.t_no and
end if; t.t_no=c.t_no
t.tdate='06-06-2023' and c.t_name='express';
and c.tdate='06-06-2023' and where e.e_no=ep.e_no and p.p_no=ep.p_no
c.ticket_status='C' and p.p_name='esro';
create or replace function nk(pro varchar(20))
order by t.t_name
returns void
loop create or replace function h1()
language plpgsql
raise notice'% % returns trigger
as $$
%',r1.tick_no,r1.bogie_no,r1.no_of_berths;
language plpgsql
declare
end loop;
as $$
r1 record;
end $$;
declare
c1 refcursor;
slip 9
begin
begin
create or replace view br
if new.duration <= 0 then
open c1 for
as select
raise exception'duration is always greater than
project.p_no,project.p_name,project.p_type,p select e.e_name,e.e_no,e.qulification from
zero';
roject.duration from project,emp,emp_pr emp e,project p,emp_pr ep
else
where project.p_no=emp_pr.p_no and where e.e_no=ep.e_no and p.p_no=ep.p_no
emp.e_no=emp_pr.e_no return new; and
order by emp_pr.start_date; end if; p.p_name=pro;

end $$; loop

fetch c1 into r1;

create trigger gh raise notice '% %


%',r1.e_name,r1.e_no,r1.qulification;
create or replace view be as before insert on project
exit when not found;
select e.e_name,e.e_no from emp e,project for each row
p,emp_pr ep end loop;
execute procedure h1();
close c1; begin begin

end $$; if new.join_date>=current_date select count(e.e_name) into cnt from emp


e,project p,emp_pr ep
slip 10; then raise exception' joining date should be
always less than current date'; where e.e_no=ep.e_no and p.p_no=ep.p_no
create or replace view kd
else and p.p_name=nls;
as select * from emp
return new; if p.p_name<>nls
order by join_date;
end if; then raise notice'invalid project name';

end $$; else


create or replace view t1
return cnt;
as select
p.p_no,p.p_name,p.p_type,e.e_no,e.e_name, create trigger gh end if;
e.qulification
before insert on emp end $$;
from project p,emp e,emp_pr ep
for each row -----------------or---------------------
where e.e_no=ep.e_no and p.p_no=ep.p_no
execute procedure h1(); create or replace function fun(name
and
varchar(20))
ep.working_hour<40;
returns integer as
create or replace function gk(nls varchar(20))
$$
returns integer
create or replace function h1()
declare
language plpgsql
returns trigger
pcunt integer;
as $$
language plpgsql
cunt integer;
declare
as $$
begin
cnt integer;
declare
select count(p_no) into pcunt from project create or replace view t1 execute procedure fun5();
where
as select
p_name=name; p.p_no,p.p_name,p.p_type,e.e_no,e.e_name,
create or replace function fun6() returns void
e.qulification
select count(e_no) into cunt from emp_pr as
where p_no=(select from project p,emp e,emp_pr ep
$$
p_no from project where p_name=name); where e.e_no=ep.e_no and p.p_no=ep.p_no
declare
and
if pcunt<=0 then
rec record;
ep.working_hour<40;
raise exception 'invalid name';
begin
else
for rec in select * from employee where
create or replace function fun5() returns
return cunt;
trigger as joining_date<'2022/10/03'
end if;
$$ loop
end;
begin raise notice '%',rec;
$$
raise notice 'record deleted succesfully'; end loop;
language plpgsql;
end; end;
slip 11
$$ $$
create or replace view ns
language plpgsql;
as
slip12
select e.e_no,e.e_name,e.qulification from
create trigger del_rec Q1. 1.
emp e, project p,emp_pr ep
after delete on project Create or replace view a1 as
where e.e_no=ep.e_no and p.p_no=ep.p_no
for each row Select s.s_name from student s,teacher
and p.p_name='esro';
t,stu_teach st
Where s.s_no=st.s_no and t.T_no=st.T_no and create trigger trg fetch r2 into r1;

t.experience in(select max(experience)from before insert on student raise notice'%',r1.r1;


teacher);
for each row end $$;
2.
execute procedure fg();
Create or replace view a2 as
2 slip13
Select
create or replace function suj(sub varchar(20)) Q1)
Q2.1
returns void 1.
create or replace function fg()
language plpgsql create or replace view v1
returns trigger
as $$ as select
language plpgsql t.T_no,t.T_name,t.qualification,t.experience
declare
from teacher t
as $$
r1 record;
where t.qualification='Phd';
declare
r2 int;
select * from v1;
begin
begin
2.create or replace view v2
if new.s_no<=0 then
for r1 in
as select s.s_no,s.s_name,s.s_class,s.s_addr
raise exception 'Invalid student Number';
select count(s_name) into r2 from student ,
from student s
else teacher,stu_teach
where s.s_addr='Pune';
return new; where student.s_no=stu_teach.s_no and
Q2)
end if; teacher.T_no=stu_teach.T_no and
1
end $$; stu_teach.subject=sub;
create or replace function b1()
loop
returns trigger
language plpgsql as $$ slip 14

as$$ declare

declare c1 refcursor; create or replace view g1

begin r1 record; as select * from teacher

if new.experience<=5 then begin where experience>5;

raise exception 'the experience should be open c1 for


greather than 5 years';
select create or replace view gh
else t.T_no,t.t_name,t.qualification,t.experience
as select * from teacher
return new; from teacher t,student s,stu_teach st
where t_name like 'p%';
end if; where s.s_no=st.s_no and

end $$; t.T_no=st.T_no and


create or replace function g1()
s.s_name=name;
returns trigger
create trigger trg loop
language plpgsql
before insert on teacher fetch c1 into r1;
as $$
for each row exit when not found;
declare
execute procedure b1(); raise notice '% % %
begin
%',r1.T_no,r1.t_name,r1.qualification,r1.exper
ience; if new.s_class=''then
create or replace function f1(name
end loop; raise notice 'the class should not be null';
varchar(20))
close c1; else
returns void
end $$; return new;
language plpgsql
end if; slip 15 else

end $$; create or replace view hq return s_no;

as select s_name from student end if;

create trigger jw where s_class='bca'; end $$;

before update on student

for each row create or replace view kq create trigger yi

execute procedure g1(); as select s.s_name, b.sub_name before insert on student


,sb.mark_score
for each row
from student s,sub b,st_sub sb
create or replace function ghr(stu varchar(20)) execute procedure hq1();
where s.s_no=sb.s_no and
returns void **
b.s_code=sb.s_code
language plpgsql create or replace function j2()
and sb.mark_score>50;
as $$ returns void

declare language plpgsql


create or replace function hq1()
cnt integer; as $$
returns trigger
begin declare
language plpgsql
select count(t.t_name)into cnt from teacher r1 record;
as $$
t,student s,stu_teach st
c1 refcursor;
begin
where s.s_no=st.s_no and t.t_no=st.t_no and
begin
s.s_name=stu; if new.s_no<=0 then
open c1 for
raise notice '%',cnt; raise notice'the roll_no always greather then
zero'; select sum(mark_score),s_no
end $$;
from st_sub as

group by s_no; select s.s_no,s.s_name,s.s_class from student create or replace function kgf(name
s,sub b,st_sub sb varchar(20))
loop
where s.s_no=sb.s_no and returns void
fetch c1 into r1;
b.s_code=sb.s_code and s.s_class='bca';
language plpgsql
exit when not found;
as $$
raise notice '%',r1;
declare
end loop;
g1 record;
close c1;
create or replace function kd()
begin
end $$;
returns trigger
for g1 in
language plpgsql
select b.s_code,b.sub_name from sub
Slip 16
as $$ b,student s,st_sub sb

begin where b.s_code=sb.s_code and


create or replace view h1 as s.s_no=sb.s_no and
raise exception 'the record has been deleted';
select s.s_name from student s,sub b,st_sub s.s_name=name
end $$;
sb
loop
where s.s_no=sb.s_no and
raise notice '% %',g1.s_code,g1.sub_name;
b.s_code=sb.s_code and sb.mark_score>=80 create trigger pl1
and b.sub_name='math'; end loop;
after delete on abc
end $$;
for each row

execute procedure kd();


create or replace view k1 Slip 17
end if;

create or replace view y1 end $$;

as select * from student slip 18

where s_name like 's%'; create trigger hk create or replace view jq

before insert on st_sub as select aname from actor

create or replace view g4 for each row where acity='Mumbai';

as select s.s_no,s.s_name,s,s_class from execute procedure rrr();


student s,sub b,st_sub sb
create or replace function fp(city varchar(20)) create or replace view vm
where s.s_no=sb.s_no and
returns void as select a.aname,a.acity,m.mname from
b.s_code=sb.s_code and sb.mark_score>=40;
actor a ,movie m,movie_actor ma
language plpgsql
where a.aname=ma.aname and
as $$
create or replace function rrr() m.mname=ma.mname
declare
returns trigger order by ma.mname;
r1 record;
language plpgsql
begin
as $$ create or replace function bg()
for r1 in select * from student
begin returns trigger
where student.s_addr=city
if new.mark_score>=0 and language plpgsql
new.mark_score<=100 then loop
as $$
raise notice'the marks are invalid'; raise notice '%',r1;
begin
else end loop;
if (new.mbudget::numeric)<=600000 then
return new; end $$;
raise exception 'the bugdet should be select count(m.mname) into c1 from Movie ---------------------OR--------------
minimum 600000'; m,producer p,movie_pro mp
create or replace view v8 as select * from
else where m.mname=mp.mname and producer where pid=(select
p.pid=mp.pid and m.mname=name;
return new; pid from movie_pro group by pid having
raise notice '%',c1; count(mname)>2);
end if;
end $$;
end $$;

Slip 19 create or replace function f3() returns trigger


create trigger td1
as
before insert on Movie
$$
create or replace view hi
for each row
begin
as select a.aname,a.acity,am.role,am.charges
execute procedure bg();
from actor a,movie m,movie_actor am if new.charges>3000000 then

where a.aname=am.aname and raise exception 'charge should not exceed 30


create or replace function g2(name m.mname=am.mname and m.mname='Raid'; lakh';
varchar(20))
else
returns void
**** return new;
language plpgsql
create or replace view v4 as end if;
as $$
select p.pid,p.pname,p.padd from producer end;
declare p,movie m,movie_pro mp
$$
c1 integer; where p.pid=mp.pid and
language plpgsql;
m.mname=mp.mname group by
begin
***** not run
m.mname having count(m.mname)>2;
create or replace function fpf(actor_name raise notice'%',r1;
varchar(20))
-------------OR---------- end loop;
returns void
*****not run end if;
language plpgsql
create or replace function j1(name end $$;
as$$ varchar(20))

declare returns void


slip 20;
m_name varchar(20); language plpgsql

rec record; as $$
create or replace view ga
begin declare
as select m.mname from movie m,producer
select * into rec from actor r1 varchar(20); p,movie_pro mp

if rec.aname<>actor_name then begin where m.mname=mp.mname and


p.pid=mp.pid and p.pname='Rushi';
raise exception 'invalid actor name'; if

else movie.mname<>name then

for rec in select * from movie_actor where raise exception 'invalid actor name';
create or replace view kja as
aname=actor_name; else
select aname from actor where
loop select m.mname into r1 from Movie m,actor
acity<>'Mumbai' and acity<>'Pune';
a,movie_actor ma
raise notice '%',rec;
where m.mname=ma.mname and
end loop;
a.aname=ma.aname and *****
end if;
m.mname=name; create or replace function f5()
end $$;
loop returns trigger
language plpgsql returns void as

as $$

$$ declare

begin rec record;

if new.relyear>=date_part('year',curret_date) cur refcursor;


then
begin
raise exception 'release date should not be
open cur for select charges,mname from
ggreate then
movie_actor
current date';
where aname='Ajay' order by mname;
else
loop
return new;
fetch cur into rec;
end if;
exit when not found;
end;
raise notice '%',rec;
$$;
end loop;

close cur;
create trigger check_date1 before insert on
end;
movie for each
$$
row execute procedure f5();
language plpgsql;

****

create or replace function fo()

You might also like