Sunteți pe pagina 1din 5

create table cust(ano varchar(25) primary key,cname varchar(30),cbal number(20,2) not null);

create table bank(brid varchar(5) primary key,asset number(20,2));



create table loan(lno varchar(10) primary key,lamt number(20,2),ano varchar(25),brid
varchar(25),foreign key(ano) references cust(ano),foreign key(brid) references bank(brid));

create table deposit(ddate date,damt number(20,2),ano varchar(25),brid varchar(5),foreign key(ano)
references cust(ano),foreign key(brid) references bank(brid));

insert into cust values('0004','Priya','3000')

insert into cust values('0005','Raja','5000')

insert into cust values('0006','Rani','7000')

insert into bank values('1','100000')
insert into bank values('2','200000')
insert into bank values('3','300000')

insert into loan values('L1','10000','0004','3')
insert into loan values('L1','10000','0004','3')

insert into deposit values('11-06-2014',10000,'0005','3');
insert into deposit values('11-05-2014',10000,'0004','3');

select * from cust

ANO CNAME CBAL
0004 Priya 3000
0006 Rani 7000
0005 Raja 5000

select * from bank

BRID ASSET
3 300000
1 100000
2 200000


select * from loan

LNO LAMT ANO BRID
L1 10000 0004 3
L2 15000 0005 2

select * from deposit

DDATE DAMT ANO BRID
11/06/2014 10000 0005 3
11/05/2014 10000 0004 3

Create or replace trigger t1 after insert on deposit
for each row
begin
if :new.damt>0 then
update cust set cbal=cbal+:new.damt where :new.ano=cust.ano;
update bank set asset=asset+:new.damt where :new.brid=bank.brid;
end if;
end;

insert into deposit values('1-06-2014',12000,'0004','3');

select * from deposit;

DDATE DAMT ANO BRID
11/06/2014 10000 0005 3
01/06/2014 12000 0004 3
11/05/2014 10000 0004 3

select * from cust;

ANO CNAME CBAL
0004 Priya 15000
0006 Rani 7000
0005 Raja 5000

select * from bank;

BRID ASSET
3 312000
1 100000
2 200000

Create or replace trigger t2 after insert on loan
for each row
begin
if :new.lamt>0 then
update cust set cbal=cbal+:new.lamt where :new.ano=cust.ano;
update bank set asset=asset-:new.lamt where :new.brid=bank.brid;
dbms_output.put_line('customer and bank account updated');
end if;
end;

insert into loan values('L3','10000','0004','3')

select * from bank
BRID ASSET
3 302000
1 100000
2 200000

select * from cust

ANO CNAME CBAL
0004 Priya 25000
0006 Rani 7000
0005 Raja 5000



create or replace assertion check (select sum(lamt) from loan)>(select sum(asset) from bank)


ADMISSION DATABASE

create table sa09(dept varchar(10) primary key,dstot number(5),dsa number(5),check(dsa between
0 and dstot));
create table ad09(sreg varchar(25),dept varchar(10),sdate date,foreign key(dept) references sa09);

create table vp09(dept varchar(10),vp number,foreign key(dept) references sa09(dept));

insert into sa09 values('BE-ME' , 120 , 0)
insert into sa09 values('BE-EEE ', 60 , 1)
insert into sa09 values('BE-CIVIL ', 60 , 1)

insert into vp09 values('BE-CIVIL ','59')
insert into vp09 values('BE-EEE ','59')
insert into vp09 values('BE-ME',120)
select * from vp09

DEPT VP
BE-CIVIL 59
BE-ME 120
BE-EEE 59

Create or replace trigger t3 after insert on ad09
for each row
begin
if :new.sreg>0 then
update sa09 set dsa=dsa+1 where :new.dept=sa09.dept;
update vp09 set vp=vp-1 where :new.dept=vp09.dept;
end if;
dbms_output.put_line('Seat Allocation and Vacancy position updated');
end;


insert into ad09 values('1235','BE-ME','07-29-2013')

Seat Allocation and Vacancy position updated

DEPT DSTOT DSA
BE-ME 120 1
BE-EEE 60 1
BE-CIVIL 60 1

1 row(s) inserted.

SELECT * FROM AD09

SREG DEPT SDATE
1235 BE-ME 07/29/2013

select * from vp09

DEPT VP
BE-CIVIL 59
BE-ME 119
BE-EEE 59


select * from sa09
DEPT DSTOT DSA
BE-ME 120 1
BE-EEE 60 1
BE-CIVIL 60 1

S-ar putea să vă placă și