-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsquare.sql
More file actions
48 lines (38 loc) · 1.07 KB
/
square.sql
File metadata and controls
48 lines (38 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
CREATE TABLE SQUARE(num NUMBER PRIMARY KEY);
CREATE TABLE CUBE(num NUMBER PRIMARY KEY);
SET SERVEROUTPUT ON;
SET VERIFY OFF;
DECLARE
num NUMBER;
BEGIN
num := &user_input;
FOR i IN 1..num LOOP
IF (i * i <= num) THEN
BEGIN
INSERT INTO SQUARE VALUES(i * i);
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN
NULL;
END;
END IF;
IF (i * i * i <= num) THEN
BEGIN
INSERT INTO CUBE VALUES(i * i * i);
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN
NULL;
END;
END IF;
END LOOP;
DBMS_OUTPUT.PUT_LINE('PERFECT SQUARE:');
FOR rec IN (SELECT * FROM SQUARE ORDER BY num) LOOP
DBMS_OUTPUT.PUT_LINE(rec.num);
END LOOP;
DBMS_OUTPUT.PUT_LINE('PERFECT CUBE:');
FOR rec IN (SELECT * FROM CUBE ORDER BY num) LOOP
DBMS_OUTPUT.PUT_LINE(rec.num);
END LOOP;
END;
/
DROP TABLE SQUARE;
DROP TABLE CUBE;