forked from DatabaseSystem19/database-project-SajjadSadi074
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpl sql.sql
More file actions
110 lines (70 loc) · 2.12 KB
/
pl sql.sql
File metadata and controls
110 lines (70 loc) · 2.12 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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
-- pl sql
SET SERVEROUTPUT ON
DECLARE
book_id books.book_id%TYPE;
book_name books.book_name%TYPE;
book_stock books.stock%TYPE;
BEGIN
SELECT book_id, book_name, stock INTO book_id, book_name, book_stock
FROM books
WHERE book_id = 1;
DBMS_OUTPUT.PUT_LINE('Book ID: ' || book_id || ' | Name: ' || book_name || ' | Stock: ' || book_stock);
END;
/
SET SERVEROUTPUT ON
DECLARE
author_id author.author_id%TYPE := 10;
author_name author.author_name%TYPE := 'New Author';
age author.age%TYPE := 30;
gender author.gender%TYPE := 'Male';
address author.address%TYPE := 'New Address';
BEGIN
INSERT INTO author (author_id, author_name, age, gender, address)
VALUES (author_id, author_name, age, gender, address);
DBMS_OUTPUT.PUT_LINE('New Row inserted successfully.');
END;
/
SELECT * FROM author;
SET SERVEROUTPUT ON
DECLARE
book_name books.book_name%TYPE;
book_price books.price%TYPE;
CURSOR book_cursor IS
SELECT book_name, price
FROM books;
BEGIN
OPEN book_cursor;
FETCH book_cursor INTO book_name, book_price;
WHILE book_cursor%FOUND LOOP
IF book_price < 25 THEN
DBMS_OUTPUT.PUT_LINE('Book "' || book_name || '" is affordable.');
ELSIF book_price >= 25 AND book_price < 50 THEN
DBMS_OUTPUT.PUT_LINE('Book "' || book_name || '" is moderately priced.');
ELSE
DBMS_OUTPUT.PUT_LINE('Book "' || book_name || '" is expensive.');
END IF;
FETCH book_cursor INTO book_name, book_price;
END LOOP;
CLOSE book_cursor;
END;
/
SET SERVEROUTPUT ON
CREATE OR REPLACE PROCEDURE GetBookDetails(p_book_id IN books.book_id%TYPE) IS
v_book_name books.book_name%TYPE;
v_book_price books.price%TYPE;
BEGIN
SELECT book_name, price
INTO v_book_name, v_book_price
FROM books
WHERE book_id = p_book_id;
DBMS_OUTPUT.PUT_LINE('Book ID: ' || p_book_id || ' | Name: ' || v_book_name || ' | Price: ' || v_book_price);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Book not found for ID: ' || p_book_id);
END;
/
BEGIN
GetBookDetails(3); -- Replace with the desired book_id
END;
/
DROP PROCEDURE GetBookDetails;