Advertisement
Aniket_Goku

assi5

Nov 19th, 2020 (edited)
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 4.10 KB | None | 0 0
  1. CREATE TABLE book_mst
  2. (
  3.     book_no VARCHAR2(4) primary key,
  4.     book_name VARCHAR2(25) NOT NULL,
  5.     author VARCHAR2(20),
  6.     publisher VARCHAR2(20),
  7.     no_of_copy NUMBER(3),
  8.     price NUMBER(6,2),
  9.     constraints ck_no CHECK(no_of_copy>=0),
  10.     constraints ck_pr CHECK(price>=0)
  11. );
  12. CREATE TABLE stud_mst
  13. (
  14.     lib_no VARCHAR2(4) primary key,
  15.     stud_name VARCHAR2(25) NOT NULL,
  16.     book_no VARCHAR2(4),
  17.     trac_type  VARCHAR2(20),
  18.     constraints  fk_bno foreign key (book_no) references book_mst(book_no),
  19.     constraints  ck_trty CHECK (trac_type IN ('I','R'))
  20. );
  21.  
  22.  
  23. --insert;
  24.  
  25. INSERT INTO  book_mst VALUES('b01','RDBMS','A5','P1',30,150);
  26. INSERT INTO  book_mst VALUES('b02','OOPS','A3','P2',27,70);
  27. INSERT INTO  book_mst VALUES('b03','DS','A2','P3',54,100);
  28. INSERT INTO  book_mst VALUES('b04','SE1','A1','P4',22,76);
  29. INSERT INTO  book_mst VALUES('b05','STATE','A4','P5',24,250);
  30. INSERT INTO  book_mst VALUES('b06','PRACTICLE','A6','P6',10,170);
  31.  
  32. --insert
  33.  
  34. INSERT INTO stud_mst VALUES('L01','Ayush','b01','I');
  35. INSERT INTO stud_mst VALUES('L02','Aniket','b01','R');
  36. INSERT INTO stud_mst VALUES('L03','Pritesh','b02','I');
  37. INSERT INTO stud_mst VALUES('L04','Abrar','b03','I');
  38. INSERT INTO stud_mst VALUES('L05','Faran','b02','R');
  39. INSERT INTO stud_mst VALUES('L06','Amar','b03','R');
  40. INSERT INTO stud_mst VALUES('L07','Akbar','b04','I');
  41. INSERT INTO stud_mst VALUES('L08','Anthony','b04','R');
  42. INSERT INTO stud_mst VALUES('L09','Yogi','b05','I');
  43. INSERT INTO stud_mst VALUES('L10','Namo','b05','R');
  44. INSERT INTO stud_mst VALUES('L11','Ayush','b02','I');
  45. INSERT INTO stud_mst VALUES('L12','Aniket','b03','I');
  46. INSERT INTO stud_mst VALUES('L13','Aniket','b04','R');
  47.  
  48.  
  49. --Q1>
  50. SELECT stud_name
  51. FROM stud_mst
  52. GROUP BY stud_name
  53. HAVING COUNT(book_no)>2;
  54.  
  55.  
  56. --Q2>
  57. SELECT stud_name
  58. FROM stud_mst
  59. WHERE book_no = (   SELECT book_no
  60.                                         FROM book_mst
  61.                                         WHERE book_name='RDBMS'
  62.     );
  63.    
  64. --Q3>
  65.  
  66. DELETE FROM stud_mst
  67. WHERE book_no = (SELECT book_no
  68.                                         FROM book_mst
  69.                                         WHERE book_name='OOPS'
  70. );
  71.  
  72. --Q4>
  73. UPDATE stud_mst
  74. SET trac_type='R'
  75. WHERE  trac_type='I' AND book_no =(SELECT book_no
  76.                                         FROM book_mst
  77.                                         WHERE book_name='DS'
  78. );
  79. SELECT * FROM stud_mst;
  80. --Q5>
  81. SELECT book_name
  82. FROM book_mst
  83. WHERE  book_no NOT IN(
  84.                                         SELECT book_no
  85.                                         FROM stud_mst
  86.                                         GROUP BY book_no
  87.                                     );
  88.  
  89. --(A);
  90. CREATE TABLE pur_book
  91. (
  92.     pno VARCHAR(4) primary key,
  93.     boi69uokname VARCHAR(20),
  94.     stock NUMBER
  95. );
  96. --insert
  97. INSERT INTO pur_book VALUES('p01','Ruby',25);
  98. INSERT INTO pur_book VALUES('p02','Bootstrap4',89);
  99. INSERT INTO pur_book VALUES('p03','RDBMS',23);
  100. INSERT INTO pur_book VALUES('p04','DS',12);
  101. INSERT INTO pur_book VALUES('p05','OOPS',34);
  102.  
  103. --package heading
  104. CREATE OR REPLACE PACKAGE pak_bsal AS
  105.     FUNCTION check_bok
  106.     RETURN VARCHAR;
  107.     PROCEDURE pro_up ;
  108. END pak_bsal;
  109. /
  110. --package body
  111. CREATE OR REPLACE PACKAGE BODY pak_bsal
  112. AS
  113.     FUNCTION check_bok(book IN VARCHAR)
  114.     RETURN VARCHAR
  115.     IS
  116.     ans VARCHAR(20);
  117.     bname VARCHAR(20);
  118.     CURSOR c1
  119.     IS SELECT  book_name INTO bname
  120.     FROM book_mst GROUP BY book_name;
  121.     BEGIN
  122.         OPEN c1;
  123.             LOOP
  124.                 FETCH c1 INTO bname
  125.                 EXIT WHEN c1%notfound;
  126.                     IF(book=bname)THEN
  127.                         DBMS_OUTPUT.put_line(book || ' is  available');
  128.                         ans:=book;
  129.                     ELSE
  130.                         DBMS_OUTPUT.put_line(book || ' is not available');
  131.                         ans:='0';
  132.                     END IF;
  133.                 RETURN ans;
  134.     END check_bok;
  135.     PROCEDURE pro_up(ans IN VARCHAR)
  136.     BEGIN
  137.        
  138.     END pro_up;
  139. END pak_bsal;
  140. /
  141.  
  142. --
  143. FUNCTION check_bok(book IN VARCHAR)
  144.     RETURN VARCHAR
  145.     IS
  146.     ans VARCHAR(20);
  147.     bname VARCHAR(20);
  148.     CURSOR c1
  149.     IS SELECT  bookname INTO bname
  150.     FROM pur_book GROUP BY bookname;
  151.     BEGIN
  152.         OPEN c1;
  153.             LOOP
  154.                 FETCH c1 INTO bname
  155.                 EXIT WHEN c1%notfound;
  156.                     IF(book=bname)THEN
  157.                         DBMS_OUTPUT.put_line(book || ' is  available');
  158.                         ans:=book;
  159.                     ELSE
  160.                        
  161.                         ans:='0';
  162.                     END IF;
  163.                 RETURN ans;
  164.     END check_bok;
  165.    
  166.    
  167.    
  168.    
  169.     PROCEDURE pro_up(ans IN VARCHAR) IS
  170.     exp1 EXCEPTION;
  171.     BEGIN
  172.         IF(ans='0')
  173.             RAISE exp1;
  174.         END IF;
  175.        
  176.         EXCEPTION
  177.             WHEN exp1 THEN
  178.                 raise_Application_error(-20008,'book is not avilable');
  179.     END pro_up;
  180.    
  181.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement