HolyC0w

EXP8_CSE2004Lab_20BRS1064

Oct 4th, 2021
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 7.38 KB | None | 0 0
  1. 1.  WRITE a PROCEDURE that prints “Hello World !!!”
  2. 2.  WRITE a PROCEDURE that computes the square OF VALUE OF a passed VALUE.
  3. 3.  WRITE a PROCEDURE program finds the maximum OF three VALUE OF passed VALUE.
  4. 4.  WRITE a PL/SQL PROCEDURE TO accept name OF tester AS input parameter AND display the details.
  5. 5.  WRITE a PL/SQL PROCEDURE FOR inserting/deleting VALUES IN tester TABLE.
  6. 6.  WRITE a PL/SQL PROCEDURE TO CHECK IF an tester EXISTS IN database AND throw suitable.EXCEPTION message IF NOT present.
  7.  
  8. Pl/SQL Functions
  9.  
  10. 7.  WRITE a FUNCTION prints “Hello World !!!” BY passing it AS argument.
  11. 8.  WRITE a FUNCTION TO CHECK whether the given NUMBER IS prime OR NOT.
  12. 9.  WRITE a PL/SQL FUNCTION TO accept a tester id AND display the name OF the tester.
  13. 10. WRITE a PL/SQL FUNCTION TO UPDATE the phone NUMBER OF the a developer D205.
  14. 11. WRITE a PL/SQL FUNCTION TO DELETE the RECORD WITH Bugid B104 which IS mistakenly escalated BY the testing team.
  15. 12. WRITE a PL/SQL TO FUNCTION TO RETURN the NUMBER OF OPEN bugs.
  16.  
  17.  
  18.  
  19.  
  20. --1
  21. CREATE OR REPLACE PROCEDURE greetings
  22. AS
  23. BEGIN
  24.     DBMS_OUTPUT.put_line ('Hello World!');
  25. END;
  26. /
  27. EXECUTE greetings;
  28.  
  29. --2
  30.  
  31. DECLARE
  32.     a INTEGER;
  33.     b INTEGER;
  34. PROCEDURE sqr(x IN NUMBER,y OUT NUMBER) IS
  35. BEGIN
  36.     y := x*x;
  37. END;
  38.  
  39. BEGIN
  40.     a := &a;
  41.     sqr(a,b);
  42.     DBMS_OUTPUT.put_line('Value of a^2: ' || b);
  43. END;
  44. /
  45.  
  46. --3
  47. DECLARE
  48.     a INTEGER;
  49.     b INTEGER;
  50.     c INTEGER;
  51.  
  52. PROCEDURE find_max(x IN NUMBER,y IN NUMBER, z IN NUMBER) IS
  53. BEGIN
  54.     IF x>=y THEN
  55.         IF x>=z THEN
  56.             DBMS_OUTPUT.put_line('Largest value is ' || x);
  57.         ELSE
  58.             DBMS_OUTPUT.put_line('Largest value is ' || z);
  59.         END IF;
  60.     ELSE
  61.         IF y>=z THEN
  62.             DBMS_OUTPUT.put_line('Largest value is ' || y);
  63.         ELSE
  64.             DBMS_OUTPUT.put_line('Largest value is ' || z);
  65.         END IF;
  66.     END IF;
  67. END;
  68.  
  69. BEGIN
  70.     a := &a;
  71.     b := &b;
  72.     c := &c;
  73.     find_max(a,b,c);
  74. END;
  75. /
  76.  
  77. --4
  78. CREATE TABLE tester_20BRS1064(
  79. testerid VARCHAR2(4) CHECK (testerid LIKE 'T%') PRIMARY KEY,
  80. testername VARCHAR2(20) NOT NULL,
  81. jobband VARCHAR2(1) CHECK (jobband IN ('C','B'))
  82. );
  83.  
  84. INSERT INTO tester_20BRS1064 VALUES('T101','Arron','B');
  85. INSERT INTO tester_20BRS1064 VALUES('T102','Jacob','C');
  86. INSERT INTO tester_20BRS1064 VALUES('T103','Jerome','B');
  87. INSERT INTO tester_20BRS1064 VALUES('T104','Simonds','B');
  88. INSERT INTO tester_20BRS1064 VALUES('T105','Paul','B');
  89. INSERT INTO tester_20BRS1064 VALUES('T106','Antony','C');
  90. INSERT INTO tester_20BRS1064 VALUES('T107','Nancy','C');
  91. INSERT INTO tester_20BRS1064 VALUES('T108','Gonzalez','B');
  92.  
  93. CREATE OR REPLACE PROCEDURE findna(&a IN VARCHAR2)
  94. AS
  95. BEGIN
  96.     SELECT * FROM employee_20BRS1064 WHERE testername = a;
  97. END;
  98. /
  99. EXECUTE findna('Paul');
  100.  
  101. --5
  102. DECLARE
  103.     a INTEGER;
  104.     b VARCHAR2;
  105.     c VARCHAR2;
  106.     d VARCHAR2;
  107.  
  108. PROCEDURE add_rec(a IN VARCHAR2,b IN VARCHAR2,c IN VARCHAR2) IS
  109. BEGIN
  110.     INSERT INTO tester_20BRS1064 VALUES(a,b,c);
  111. END;
  112. /
  113.  
  114. PROCEDURE del_rec(a IN VARCHAR2) IS
  115. BEGIN
  116.     DELETE FROM tester_20BRS1064 WHERE testerid := a;
  117. END;
  118. /
  119. add_rec('T109','Lee','B');
  120. del_rec('T109');
  121.  
  122.  
  123. --6
  124. PROCEDURE chck(a IN VARCHAR2) IS
  125. BEGIN
  126.     SELECT * FROM tester_20BRS1064 WHERE testerid := a;
  127. END;
  128. /
  129. chck('T102');
  130.  
  131. --7
  132. CREATE OR REPLACE FUNCTION greet(x IN VARCHAR2)
  133. IS
  134. BEGIN
  135.     DBMS_OUTPUT.put_line(x);
  136. END;
  137. /
  138. greet("Hello World!);
  139.  
  140.  
  141.  
  142. CREATE OR REPLACE PROCEDURE hellomf
  143. IS
  144. BEGIN
  145.  
  146.  DBMS_OUTPUT.PUT_LINE('Hello mfker!');
  147.  
  148. END;
  149. /
  150. exec hellomf;
  151.  
  152. --8
  153.  
  154. CREATE OR REPLACE function prime_chk(x in number)
  155. return null is
  156. DECLARE
  157. a number;
  158. temp number := 1;
  159. BEGIN
  160. for a in 2 .. x loop
  161.    if mod(x,a) THEN
  162.        temp := 0;
  163.    end if;
  164.    end loop;
  165.    if temp = 1 then
  166.        DBMS_OUTPUT.put_line ('True');
  167.    else
  168.        DBMS_OUTPUT.put_line ('False!');
  169.    end if;
  170. end;
  171. /
  172. prime_chk(17);
  173.  
  174. --9
  175. CREATE OR REPLACE function disp(x in varchar2)
  176. return null is
  177. BEGIN
  178. select * from tester_20BRS1064 where testerid := x;
  179. end;
  180. /
  181. disp('T102');
  182.  
  183. --10
  184. CREATE TABLE developer_20BRS1064(
  185. developerid varchar2(4) PRIMARY KEY CHECK (developerid LIKE 'D%'),
  186. developername varchar2(20) NOT NULL,
  187. developerexperience varchar2(15),
  188. phonenumber NUMBER
  189. );
  190. INSERT INTO developer_20BRS1064 VALUES('D201','Anson','EXPERT',9785554423);
  191. INSERT INTO developer_20BRS1064 VALUES('D202','Dsouza','COMPETENT',9256743210);
  192. INSERT INTO developer_20BRS1064 VALUES('D203','Sharon','COMPETENT',9886556889);
  193. INSERT INTO developer_20BRS1064 VALUES('D204','Peter','COMPETENT',9298277662);
  194. INSERT INTO developer_20BRS1064 VALUES('D205','Susan','NOVICE',9789175600);
  195. INSERT INTO developer_20BRS1064 VALUES('D206','Sophia','NOVICE',9008134134);
  196.  
  197. CREATE OR REPLACE function upd(x in NUMBER)
  198. return null is
  199. BEGIN
  200.    update developer_20BRS1064 set phonenumber := x
  201.    where developerid='D205';
  202. end;
  203. /
  204. upd(9911223344);
  205.  
  206. --11
  207. CREATE TABLE bugreport_20BRS1064(
  208. bugid varchar2(4) PRIMARY KEY CHECK (bugid LIKE 'B%'),
  209. testerid varchar2(4),
  210. bugdescription varchar2(50) NOT NULL,
  211. severity varchar2(1) CHECK (severity IN ('C','M','L')),
  212. reporteddate DATE,
  213. CONSTRAINT FK_testerid FOREIGN KEY (testerid) REFERENCES tester_20BRS1064(testerid)
  214. );
  215.  
  216. INSERT INTO bugreport_20BRS1064 VALUES('B101','T106','File Not Saved','M',to_date('11-08-2021','DD-MM-YYYY'));
  217. INSERT INTO bugreport_20BRS1064 VALUES('B102','T102','Crash on opening','C',to_date('12-08-2021','DD-MM-YYYY'));
  218. INSERT INTO bugreport_20BRS1064 VALUES('B103','T102','Memory Leak','C',to_date('13-08-2021','DD-MM-YYYY'));
  219. INSERT INTO bugreport_20BRS1064 VALUES('B104','T102','ID Field Editable','L',to_date('14-08-2021','DD-MM-YYYY'));
  220. INSERT INTO bugreport_20BRS1064 VALUES('B105','T101','File corrupted when received','M',to_date('15-08-2021','DD-MM-YYYY'));
  221.  
  222.    
  223. create or REPLACE function del
  224. return null is
  225. BEGIN
  226.    delete from bugreport_20BRS1064 where bugid='B104';
  227. end;
  228. /
  229. del();
  230.  
  231. --12
  232. CREATE TABLE bugallocation_20BRS1064(
  233. allocationid varchar2(4) PRIMARY KEY CHECK(allocationid LIKE 'A%'),
  234. bugid varchar2(4),
  235. developerid varchar2(4),
  236. STATUS varchar2(1) CHECK (STATUS IN ('O','C')),
  237. escalationdate DATE,
  238. resolutiondate DATE,
  239. CONSTRAINT FK_bugid FOREIGN KEY (bugid) REFERENCES bugreport_20BRS1064(bugid),
  240. CONSTRAINT FK_developerid FOREIGN KEY (developerid) REFERENCES developer_20BRS1064(developerid)
  241. );
  242.  
  243. INSERT INTO bugallocation_20BRS1064 VALUES('A101','B101','D201','C',to_date('12-08-2021','DD-MM-YYYY'),to_date('21-08-2021','DD-MM-YYYY'));
  244. INSERT INTO bugallocation_20BRS1064 VALUES('A102','B103','D203','C',to_date('13-08-2021','DD-MM-YYYY'),to_date('19-08-2021','DD-MM-YYYY'));
  245. INSERT INTO bugallocation_20BRS1064 VALUES('A103','B102','D204','O',to_date('14-08-2021','DD-MM-YYYY'),to_date('24-08-2021','DD-MM-YYYY'));
  246. INSERT INTO bugallocation_20BRS1064 VALUES('A104','B104','D201','O',to_date('15-08-2021','DD-MM-YYYY'),to_date('22-08-2021','DD-MM-YYYY'));
  247. INSERT INTO bugallocation_20BRS1064 VALUES('A105','B105','D202','O',to_date('16-08-2021','DD-MM-YYYY'),to_date('29-08-2021','DD-MM-YYYY'));
  248.  
  249. create or REPLACE function open_bugs
  250. return number is
  251.    z number;
  252. BEGIN
  253.    select count(*) into z
  254.    from bugallocation_20BRS1064 where STATUS='O';
  255.    return z;
  256. end;
  257. DECLARE
  258. a number;
  259. BEGIN
  260. a:=open_bugs();
  261. DBMS_OUTPUT.put_line('Count: '||a);
  262. end;
  263. /
  264.  
  265. DROP TABLE bugallocation_20BRS1064;
  266. DROP TABLE bugreport_20BRS1064;
  267. DROP TABLE developer_20BRS1064;
  268. DROP TABLE tester_20BRS1064;
Advertisement
Add Comment
Please, Sign In to add comment