assignment 3 rdb ms

6
Assignment-3 (RDBMS) Submitted To:- Prof. Walid Belal Submitted By:- Karanvir Salwan

Upload: karan-salwan

Post on 08-Feb-2016

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Assignment 3 Rdb Ms

Assignment-3 (RDBMS)

Submitted To:-

Prof. Walid Belal

Submitted By:-

Karanvir Salwan

991311274

Page 2: Assignment 3 Rdb Ms

Sol-(part-1)

SET SERVEROUTPUT ON;

DECLARE

TYPE RecordTp IS RECORD

(i TRANSACTIONSImport.UsersID%TYPE,

j TRANSACTIONSImport.GENDER%TYPE,

k TRANSACTIONSImport.GIVENNAME%TYPE,

l TRANSACTIONSImport.MIDDLEINITIAL%TYPE,

m TRANSACTIONSImport.SURNAME%TYPE,

n TRANSACTIONSImport.STREETADDRESS%TYPE,

o TRANSACTIONSImport.EMAILADDRESS%TYPE,

p TRANSACTIONSImport.USERNAME%TYPE,

q TRANSACTIONSImport.TELEPHONENUMBER%TYPE,

r TRANSACTIONSImport.BIRTHDAY%TYPE,

s TRANSACTIONSImport.CITY%TYPE,

t TRANSACTIONSImport.STATE%TYPE,

u TRANSACTIONSImport.ZIPCODE%TYPE,

V TRANSACTIONSImport.COUNTRYFULL%TYPE);

--declare a nested table (outer array)

TYPE RecordHolderTp IS TABLE OF RecordTp;

RecordHolder RecordHolderTp;

Page 3: Assignment 3 Rdb Ms

--declare a cursor

CURSOR cr IS

SELECT distinct UsersID,GENDER,GIVENNAME,MIDDLEINITIAL,SURNAME,STREETADDRESS,EMAILADDRESS,USERNAME,TELEPHONENUMBER,BIRTHDAY,CITY,STATE,ZIPCODE,COUNTRYFULL FROM TRANSACTIONSImport order by UsersID;

BEGIN

OPEN cr; --open cursor

LOOP

-- bulk fetch the cursor into the multidimensional

FETCH cr BULK COLLECT INTO RecordHolder;

EXIT WHEN cr%NOTFOUND;

END LOOP;

CLOSE cr; -- close the cursor

--bulk insert the values in multidimensional

--array to Users table

FORALL x IN RecordHolder.FIRST ..RecordHolder.LAST

Insert INTO Users VALUES

(RecordHolder(x).i, RecordHolder(x).j,RecordHolder(x).k,RecordHolder(x).l,RecordHolder(x).m,RecordHolder(x).n,RecordHolder(x).o,RecordHolder(x).p,RecordHolder(x).q,RecordHolder(x).r,RecordHolder(x).s,RecordHolder(x).t,RecordHolder(x).u,RecordHolder(x).v);

END;

/

Page 4: Assignment 3 Rdb Ms

Sol-(part-2)

SET SERVEROUTPUT ON;

DECLARE

TYPE RecordTp IS RECORD

(i TRANSACTIONSImport.TRANSID%TYPE,

j TRANSACTIONSImport.DOWNLOADS%TYPE,

k TRANSACTIONSImport.UPLOADS%TYPE,

l TRANSACTIONSImport.CONNECTDATE%TYPE,

m TRANSACTIONSImport.USERSID%TYPE);

--declare a nested table (outer array)

TYPE RecordHolderTp IS TABLE OF RecordTp;

RecordHolder RecordHolderTp;

--declare a cursor

CURSOR cr IS

SELECT distinct TRANSID,DOWNLOADS,UPLOADS,CONNECTDATE,USERSID

FROM TRANSACTIONSImport Order by USERSID;

BEGIN

OPEN cr; --open cursor

Page 5: Assignment 3 Rdb Ms

LOOP

-- bulk fetch the cursor into the multidimensional

FETCH cr BULK COLLECT INTO RecordHolder;

EXIT WHEN cr%NOTFOUND;

END LOOP;

CLOSE cr; -- close the cursor

--bulk insert the values in multidimensional

--array to Users table

FORALL x IN RecordHolder.FIRST ..RecordHolder.LAST

Insert INTO TRANSACTIONS VALUES

(RecordHolder(x).i, RecordHolder(x).j/1024,RecordHolder(x).k/1024 ,RecordHolder(x).j/1024,RecordHolder(x).k/1024, RecordHolder(x).l,RecordHolder(x).m);

END;

/