netx_iit

task PLSQL

Oct 28th, 2020 (edited)
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 11.94 KB | None | 0 0
  1. TABLE CREATION :-
  2. -------------------------
  3.  
  4. 1)  CREATE TABLE Customer
  5.     (
  6.         Customer_id VARCHAR(6) PRIMARY KEY,
  7.         Fname VARCHAR2(15) NOT NULL,
  8.         Mname VARCHAR2(15),
  9.         Lname VARCHAR2(15) NOT NULL,
  10.         Address VARCHAR2(30),
  11.         City VARCHAR2(20),
  12.         Pincode VARCHAR(6),
  13.         State VARCHAR2(15) DEFAULT 'Gujarat',
  14.         Gender CHAR(1) NOT NULL CHECK(Gender IN('M','F')),
  15.         DOB DATE
  16.     );
  17.  
  18. 2)  CREATE TABLE Product1
  19.     (
  20.         Product_id VARCHAR(5) PRIMARY KEY,
  21.         Description VARCHAR2(30),
  22.         QOH NUMBER(3) CHECK(QOH>0),
  23.         Reorder_lvl NUMBER(5) CHECK(Reorder_lvl>0),
  24.         Cost_price NUMBER(7) CHECK(Cost_price>0),
  25.         Sell_price NUMBER(7) CHECK(Sell_price>0)
  26.     );
  27.    
  28.  
  29. 3)  CREATE TABLE Order_
  30.     (
  31.         Order_id VARCHAR(13) PRIMARY KEY CHECK(Order_id LIKE 'O_%'),
  32.         Customer_id VARCHAR(6) REFERENCES Customer(Customer_id) ON DELETE CASCADE,
  33.         Order_date DATE DEFAULT SYSDATE,
  34.         Status VARCHAR2(15) CHECK(Status IN('In-process','Fulfilled'))
  35.     );
  36.  
  37.    
  38.  
  39. 4)  CREATE TABLE Order_detail
  40.     (
  41.         Order_id VARCHAR(13) REFERENCES Order_(Order_id) ON DELETE CASCADE,
  42.         Product_id VARCHAR(5) REFERENCES Product1(Product_id) ON DELETE CASCADE,
  43.         Quantity NUMBER(5) CHECK(Quantity>0)
  44.     );
  45.    
  46. INSERT DATA :-
  47. --------------------
  48.  
  49. 1)  INSERT INTO Customer VALUES('C'||LPAD(sq_1.NEXTVAL,5,0),'Saloni','Hiteshbhai','Jariwala','Gopipura','Surat','395001','Gujarat','F','30-Sep-2001');
  50.     INSERT INTO Customer VALUES('C'||LPAD(sq_1.NEXTVAL,5,0),'Devang','Hiteshbhai','Jariwala','Balaji Road','Rajkot','360001',DEFAULT,'M','22-Nov-2004');
  51.     INSERT INTO Customer VALUES('C'||LPAD(sq_1.NEXTVAL,5,0),'Aditi','Vinaybhai','Chapadia','Vesu','Surat','395004',DEFAULT,'F','26-Jan-2001');
  52.     INSERT INTO Customer VALUES('C'||LPAD(sq_1.NEXTVAL,5,0),'Anita','Hiteshbhai','Jariwala','Sahin Baug','Ahemdabad','380006',DEFAULT,'F','04-Apr-1976');
  53.     INSERT INTO Customer VALUES('C'||LPAD(sq_1.NEXTVAL,5,0),'Nirali','Tejasbhai','Parekh','Linkin Road','Mumbai','400037','Maharastra','F','10-Feb-1998');
  54.     INSERT INTO Customer VALUES('C'||LPAD(sq_1.NEXTVAL,5,0),'Rohan','Viralbhai','Tankariya','Khan Park Road','Old Delhi','110020','Delhi','M','12-Sep-2000');
  55.     INSERT INTO Customer VALUES('C'||LPAD(sq_1.NEXTVAL,5,0),'Kaushal','Bharatbhai','Khasiwala','Alem','Kochin','682008','Kerala','M','16-May-1993');
  56.     INSERT INTO Customer VALUES('C'||LPAD(sq_1.NEXTVAL,5,0),'Ritu',' ','Modi','Juhu','Mumbai','400049','Maharastra','F','12-Dec-2007');
  57.     INSERT INTO Customer VALUES('C'||LPAD(sq_1.NEXTVAL,5,0),'Nishi','Kishorbhai','Rana','Howrah','Kolkata','712408','West Bengal','F','04-Mar-1999');
  58.     INSERT INTO Customer VALUES('C'||LPAD(sq_1.NEXTVAL,5,0),'Payal','Mehulbhai','Chauhan','Mughal Road','Bhopal','462042','Madhya Pradesh','F','16-Oct-1995');
  59.     INSERT INTO Customer VALUES('C'||LPAD(sq_1.NEXTVAL,5,0),'Parth','Yogeshbhai','Rana','Mall Road','Manali','695505','Himachal','M','28-Nov-2003');
  60.     INSERT INTO Customer VALUES('C'||LPAD(sq_1.NEXTVAL,5,0),'Aashi','Rupeshbhai','Shah','Piplod','Surat','395005',DEFAULT,'F',NULL);
  61.     INSERT INTO Customer VALUES('C'||LPAD(sq_1.NEXTVAL,5,0),'Sanjana','Rajeshbhai','Ahir','Udhna','Navsari','395005',DEFAULT,'F',NULL);    
  62.  
  63. 2)  INSERT INTO Product VALUES('P1001','Hard Drive','15','5','5000','5576');
  64.     INSERT INTO Product1 VALUES('P1002','Pen Drive','50','10','375','400');
  65.     INSERT INTO Product1 VALUES('P1003','Mouse','29','5','150','200');
  66.     INSERT INTO Product1 VALUES('P1004','Motherboard','10','4','7500','7000');
  67.     INSERT INTO Product1 VALUES('P1005','Webcam','20','5','899','1000');
  68.     INSERT INTO Product1 VALUES('P1006','USB Cable','150','50','300','350');
  69.     INSERT INTO Product1 VALUES('P1007','Laptop Charger','30','5','900','1000');
  70.     INSERT INTO Product1 VALUES('P1008','SSD','5','10','10200','11500');
  71.     INSERT INTO Product1 VALUES('P1009','Joystick','20','30','250','290');
  72.     INSERT INTO Product1 VALUES('P1010','Keyboard','50','30','150','200');
  73.     INSERT INTO Product1 VALUES('P1020','Printer','20','5','14300','15000');
  74.     INSERT INTO Product1 VALUES('P1030','Hard Disk','15','5','3848','4000');
  75.     INSERT INTO Product1 VALUES('P1040','Headphone','50','25','4596','5000');
  76.     INSERT INTO Product1 VALUES('P1050','CD Drive','100','20','1500','2000');  
  77.     INSERT INTO Product1 VALUES('P1060','Laptop','10','4','90000','115000');   
  78.  
  79. 3)  INSERT INTO Order_ VALUES(('O_'||(sq_2.NEXTVAL)||'_'||TO_CHAR(SYSDATE,'DD_MM_YY')),'C00008','05-Jan-2020','Fulfilled');
  80.     INSERT INTO Order_ VALUES(('O_'||(sq_2.NEXTVAL)||'_'||TO_CHAR(SYSDATE,'DD_MM_YY')),'C00006','20-Jul-2019','Fulfilled');
  81.     INSERT INTO Order_ VALUES(('O_'||(sq_2.NEXTVAL)||'_'||TO_CHAR(SYSDATE,'DD_MM_YY')),'C00001','01-Aug-2020','In-process');
  82.     INSERT INTO Order_ VALUES(('O_'||(sq_2.NEXTVAL)||'_'||TO_CHAR(SYSDATE,'DD_MM_YY')),'C00010','13-Aug-2020','In-process');
  83.     INSERT INTO Order_ VALUES(('O_'||(sq_2.NEXTVAL)||'_'||TO_CHAR(SYSDATE,'DD_MM_YY')),'C00002','19-Feb-2018','Fulfilled');
  84.     INSERT INTO Order_ VALUES(('O_'||(sq_2.NEXTVAL)||'_'||TO_CHAR(SYSDATE,'DD_MM_YY')),'C00005','30-Sep-2019','Fulfilled');
  85.     INSERT INTO Order_ VALUES(('O_'||(sq_2.NEXTVAL)||'_'||TO_CHAR(SYSDATE,'DD_MM_YY')),'C00003','15-Mar-2020','In-process');
  86.     INSERT INTO Order_ VALUES(('O_'||(sq_2.NEXTVAL)||'_'||TO_CHAR(SYSDATE,'DD_MM_YY')),'C00007','20-Feb-2019','In-process');
  87.     INSERT INTO Order_ VALUES(('O_'||(sq_2.NEXTVAL)||'_'||TO_CHAR(SYSDATE,'DD_MM_YY')),'C00012','11-Oct-2018','Fulfilled');
  88.     INSERT INTO Order_ VALUES(('O_'||(sq_2.NEXTVAL)||'_'||TO_CHAR(SYSDATE,'DD_MM_YY')),'C00004','24-Apr-2020','In-process');
  89.     INSERT INTO Order_ VALUES(('O_'||(sq_2.NEXTVAL)||'_'||TO_CHAR(SYSDATE,'DD_MM_YY')),'C00009','09-May-2018','Fulfilled');
  90.     INSERT INTO Order_ VALUES(('O_'||(sq_2.NEXTVAL)||'_'||TO_CHAR(SYSDATE,'DD_MM_YY')),'C00011','14-Jun-2019','Fulfilled');
  91.     INSERT INTO Order_ VALUES(('O_'||(sq_2.NEXTVAL)||'_'||TO_CHAR(SYSDATE,'DD_MM_YY')),'C00001','01-Sep-2020','Fulfilled');
  92.     INSERT INTO Order_ VALUES(('O_'||(sq_2.NEXTVAL)||'_'||TO_CHAR(SYSDATE,'DD_MM_YY')),'C00011','05-Sep-2020','Fulfilled');
  93.  
  94.  
  95. 4)  INSERT INTO Order_detail VALUES('O_3_28_10_20','P1001','2');
  96.     INSERT INTO Order_detail VALUES('O_2_28_10_20','P1003','5');  
  97.     INSERT INTO Order_detail VALUES('O_4_28_10_20','P1004','1');
  98.     INSERT INTO Order_detail VALUES('O_6_28_10_20','P1006','3');
  99.     INSERT INTO Order_detail VALUES('O_7_28_10_20','P1007','1');
  100.     INSERT INTO Order_detail VALUES('O_8_28_10_20','P1008','1');  
  101.     INSERT INTO Order_detail VALUES('O_10_28_10_20','P1010','5');
  102.     INSERT INTO Order_detail VALUES('O_11_28_10_20','P1020','6');
  103.     INSERT INTO Order_detail VALUES('O_12_28_10_20','P1030','2');
  104.     INSERT INTO Order_detail VALUES('O_3_28_10_20','P1040','3');
  105.     INSERT INTO Order_detail VALUES('O_1_28_10_20','P1050','20');
  106.     INSERT INTO Order_detail VALUES('O_2_28_10_20','P1010','2');
  107.     INSERT INTO Order_detail VALUES('O_4_28_10_20','P1009','2');
  108.     INSERT INTO Order_detail VALUES('O_5_28_10_20','P1008','1');
  109.     INSERT INTO Order_detail VALUES('O_6_28_10_20','P1007','1');
  110.     INSERT INTO Order_detail VALUES('O_7_28_10_20','P1006','5');
  111.     INSERT INTO Order_detail VALUES('O_8_28_10_20','P1005','7');
  112.     INSERT INTO Order_detail VALUES('O_9_28_10_20','P1020','2');
  113.     INSERT INTO Order_detail VALUES('O_12_28_10_20','P1004','2');
  114.     INSERT INTO Order_detail VALUES('O_1_28_10_20','P1002','3');
  115.     INSERT INTO Order_detail VALUES('O_5_28_10_20','P1005','2');
  116.     INSERT INTO Order_detail VALUES('O_9_28_10_20','P1009','2');
  117.     INSERT INTO Order_detail VALUES('O_9_28_10_20','P1002','5');
  118.  
  119.  
  120. sequences:-
  121. -------------------------------------------------------------------------------------
  122. 1.) CREATE sequence sq_1
  123.     maxvalue 99999
  124.     cycle
  125.     cache 5;
  126.  
  127. 2.) CREATE sequence sq_2   
  128.     maxvalue 999
  129.     cycle;
  130.  
  131. INDEX:-
  132. -------------------------------------------------------------------------------------
  133. 1.) CREATE UNIQUE INDEX IDX_1 ON Order_detail (Order_Id,Product_Id);
  134. 2.) CREATE bitmap INDEX IND_2 ON customer(gender);
  135. 3.) CREATE INDEX IND_3 ON customer (UPPER(city));
  136. 4.) CREATE INDEX IND_4 ON Product((Sell_price-Cost_price)*100/Cost_price);
  137. 5.)     CREATE INDEX IND_5 ON customer(pincode) REVERSE;
  138.  
  139. exercise computation ON tabledata:-
  140. -------------------------------------------------------------------------------------
  141. 1.)ALTER TABLE customer
  142. add constraint chk_pincode CHECK(LENGTH(Pincode)=6);
  143.  
  144.  
  145. 2.)SELECT Product_Id,Description,QOH
  146.     FROM product1
  147.     WHERE QOH>0;
  148.  
  149. 3.)SELECT Fname,Mname,Lname
  150.     FROM customer
  151.     WHERE dob IS NULL;
  152.    
  153. 4.)SELECT *
  154.     FROM order_
  155.     WHERE status='Fulfilled';
  156.  
  157. 5.)SELECT *
  158.     FROM customer
  159.     WHERE pincode LIKE '395%';
  160.  
  161.  
  162. operators:-
  163. -----------------------------------------------------------------------------------------
  164. 1.)SELECT *
  165.     FROM product
  166.     WHERE Reorder_lvl < QOH;
  167.  
  168. 2.)SELECT Product_Id,Description,((Sell_price-Cost_price)*100/Cost_price) AS Profit_In_Percentage
  169.     FROM Product;
  170.  
  171. 3.)SELECT customer_id,Fname,Mname,Lname,city
  172.     FROM customer
  173.     WHERE city LIKE '_a%'; 
  174.  
  175. 4.)SELECT *
  176.     FROM product
  177.     WHERE Cost_Price BETWEEN '1000' AND '10000';
  178.  
  179. 5.)SELECT *
  180.     FROM customer
  181.     WHERE UPPER(City) LIKE UPPER('Surat') OR UPPER(City) LIKE UPPER('ahmedabad') OR UPPER(City) LIKE UPPER('mumbai');
  182.  
  183. 6.)SELECT Fname||' '||Mname||' '||Lname AS Fullname,City,State
  184.     FROM Customer
  185.     WHERE UPPER(State) LIKE UPPER('Gujarat');
  186.  
  187. 7.)
  188.  
  189. 8.)SELECT SUBSTR(fname,1,1)||'.'|| ' ' ||SUBSTR(mname,1,1)||'.'||' ' ||lname AS Name_of_Customer
  190.     FROM Customer;
  191.  
  192. 9.)SELECT Fname||' '||Mname||' '||Lname AS Name_of_Customer
  193.     FROM Customer
  194.     WHERE Customer_Id IN (SELECT Customer_Id
  195.                      FROM Order_
  196.                      WHERE Order_id IN (SELECT Order_id
  197.                                 FROM Order_detail
  198.                                 WHERE Product_Id IN(SELECT Product_Id
  199.                                 FROM Product
  200.                                 WHERE UPPER(Description) IN('HARD DISK','PEN DRIVE','MOTHERBOARD','HEADPHONE'))));
  201.  
  202. 10.)SELECT Fname||' '||Mname||' '||Lname AS Name_of_Customer
  203.     FROM Customer
  204.     WHERE Customer_Id NOT IN(SELECT Customer_Id
  205.                 FROM Order_);
  206.  
  207.  
  208. FUNCTION:-
  209. -------------------------------------------------------------------------------------------
  210.  
  211. 1.)
  212.     SELECT Fname||' '||Mname||' '||Lname AS Name_of_Customer
  213.     FROM Customer
  214.     WHERE LENGTH(Lname)>6 AND TO_CHAR(DOB,'YYYY')='1993';
  215.  
  216. 2.)
  217.     SELECT Description
  218.     FROM Product
  219.     WHERE INSTR (UPPER(Description),UPPER('DRIVE'))<>0;
  220.    
  221. 3.)
  222.     SELECT Description,LPAD(Sell_price,10,'*') AS Selling_price
  223.     FROM product
  224.     WHERE Product_Id IN(SELECT Product_Id
  225.                  FROM Order_detail
  226.                  WHERE Order_Id IN(SELECT Order_Id
  227.                           FROM Order_
  228.                           WHERE TO_CHAR(Order_date,'MON')IN('FEB','JAN')));
  229.  
  230. 4.)
  231.     SELECT COUNT(product_id) AS number_of_product
  232.     FROM product
  233.     WHERE sell_price = '65000' OR sell_price > '65000';
  234.  
  235. 5.)
  236.     SELECT AVG(sell_price) AS avg_product_selling_price
  237.     FROM product;
  238.  
  239. 6.)
  240.     SELECT c.Fname||' '||c.Mname||' '||c.Lname AS Name,COUNT(r.Order_Id) AS Total_Order
  241.     FROM customer c,order_ r
  242.     WHERE c.customer_id=r.customer_id
  243.     GROUP BY c.customer_id,c.Fname||' '||c.Mname||' '||c.Lname ;
  244.  
  245. 7.) SELECT TO_CHAR(Order_date,'DD-MONTH YYYY ') AS Order_Date
  246.     FROM Order_;
  247.  
  248. 8.)
  249.     SELECT TRUNC(SYSDATE-Order_date) AS Date_Difference
  250.     FROM Order_
  251.     WHERE UPPER(Status) LIKE 'IN-PROCESS';
  252.  
  253. 9.)
  254.     SELECT*
  255.     FROM order_
  256.     WHERE order_date BETWEEN sysdate-10 AND SYSDATE;
  257.  
  258. 10.)
  259.     SELECT o.order_id ,p.product_id,(p.sell_price*o.quantity) AS total_amount
  260.     FROM order_detail o,product p
  261.     WHERE p.product_id = o.product_id;
  262.  
  263.  
  264.  
  265. join AND correlation:-
  266. -----------------------------------------------------------------------------------------------
  267.  
  268. 1.)
  269.     SELECT p.Description,p.Product_Id,COUNT(o.Quantity) Total_Quantity
  270.     FROM Order_detail o,Product p
  271.     WHERE p.Product_Id=o.Product_Id
  272.     GROUP BY o.Product_Id,p.Description,p.Product_Id;
  273.  
  274. 2.)
  275.     SELECT p.Description
  276.     FROM Product p,Order_ o,Order_detail od,Customer c
  277.     WHERE p.Product_Id=od.Product_Id AND o.Order_Id=od.Order_Id AND o.Customer_Id=c.Customer_Id AND TO_CHAR(o.Order_date,'YYYY')=TO_CHAR(SYSDATE,'YYYY') AND c.Fname LIKE 'Ritu' AND c.Lname LIKE 'Modi';
  278.  
  279. 3.)
  280.     SELECT p.Description,od.Quantity
  281.     FROM Product P,Order_ o,Order_detail od
  282.     WHERE p.Product_Id=od.Product_Id AND o.Order_Id=od.Order_Id AND TO_CHAR(o.Order_Date,'MON')=TO_CHAR(SYSDATE,'MON') AND o.Status LIKE 'Fulfilled';
  283.  
  284. 4.)
  285.  
  286.  
Advertisement
Add Comment
Please, Sign In to add comment