Thursday, 23 January 2020

RDS-6


Slip 6

Consider the following entities and their relationships.       

Employee (emp_id, emp_name, address)

Investment (inv_no, inv_name, inv_date, inv_amount)

Relation between Employee and Investment is One to Many.

Constraint: Primary key, inv_amount should be > 0.

SQL>create table employee(eid int primary key,ename varchar(10),address varchar(10));
SQL>create table investment(inv_no int primary key, inv_name varchar(10),inv_date varchar(10),inv_amount int,eid int);

SQL>insert intoemployee values(1,'reshma','koregoan');
SQL>insert into investment values(1,'house','15thaug','50000',1);

Create a RDB in 3NF and write PL/SQL blocks in Oracle for the following:

1)Write a procedure which will display details of employees invested amount in “Mutual Fund”
SQL>  set serveroutput on;
SQL> create or replace procedure p1(n in varchar) as cursor c1 is select e_name,inv_amount from employee,investment where employee.e_id=investment.e_id and inv_namet='mutual';
  2  c c1 %rowtype;
  3  begin
  4  open c1;
  5  dbms_output.put_line('e_name'||''||'inv_name');
  6  loop
  7  fetch c1 into c;
  8  exit when c1 %notfound;
  9  if(c.inv_name=n) then
 10  dbms_output.put_line(c.e_name||''||c.inv_name);
 11  end if;
 12  end loop;
 13  close c1;
 14  end;
 15  /
Procedure created.
SQL> begin
  2  p1('mutual');
  3  end;
  4  /
e_nameinv_amount
reshma50000

2)Write a cursor which will display date wise investment details.

SQL> set  serveroutput on;
SQL> declare
  2  cursor c1 is select inv_date,inv_no,inv_name,inv_amount from employee,investment where employee.e_id=investment.e_id;
  3  c c1 %rowtype;
  4  begin
  5  open c1;
  6  loop
  7  fetch c1 into c;
  8  exit when c1 %notfound;
  9  dbms_output.put_line(c.inv_date||''||c.inv_no||''||c.inv_name||''||c.inv_amount);
 10  end loop;
 11  close c1;
 12  end;
 13  /
15thaug1house50000
20thsept2land60000
25thoct3vehicle70000