Solution:
1)Write a function which will accept wholesaler name from user and will display total number of items supplied by him.
SQL> set serveroutput on;
SQL> create or replace function fun1(pn in varchar) return number as pm number;
2 begin
3 select sum(ws_product.no_of_item) into pm from ws,product,ws_product where ws.wno=ws_product.wno and product.pno=ws_product.pno and ws.wname='riya';
4 if sql %found then
5 return(pm);
6 else
7 return null;
8 end if;
9 end;
10 /
Function created.
SQL> begin
2 dbms_output.put_line('no_of_item-'||fun1('riya'));
3 end;
4 /
no_of_item-5
PL/SQL procedure successfully completed.
2)Write a trigger which will fire before insert or update on product having rate less than or equal to zero (Raise user defined exception and give appropriate message)
SQL> set serveroutput on
SQL> create or replace trigger t1 before insert or update on product
2 for each row
3 begin
4 if(:new.rate<=0)then
5 raise_application_error(-20001,'rate>0');
6 end if;
7 end;
8 /
0 Comments