-
Notifications
You must be signed in to change notification settings - Fork 187
Expand file tree
/
Copy pathmybooks_setup.sql
More file actions
77 lines (65 loc) · 2.18 KB
/
mybooks_setup.sql
File metadata and controls
77 lines (65 loc) · 2.18 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
/****************************************************************************************
Author : Venky Mangapillai
Created : Mar'2002
Description : This is the Prerequest program for UTPSQL test package called UT_MYBOOKS_PKG
****************************************************************************************/
CREATE TABLE mybooks (
book_id NUMBER,
book_nm VARCHAR2(30),
publish_dt DATE
)
/
ALTER TABLE mybooks ADD CONSTRAINT mybooks_pk PRIMARY KEY (book_id)
/
TRUNCATE TABLE mybooks
/
INSERT INTO mybooks VALUES (1,'Sports History','01-JAN-2002');
INSERT INTO mybooks VALUES (2,'World History','02-JAN-2002');
INSERT INTO mybooks VALUES (3,'Medicine History','03-JAN-2002');
INSERT INTO mybooks VALUES (4,'Market History','04-JAN-2002');
INSERT INTO mybooks VALUES (5,'Weather History','05-JAN-2002');
CREATE OR REPLACE PACKAGE mybooks_pkg AS
TYPE mybooks_rec IS REF CURSOR RETURN mybooks%ROWTYPE;
FUNCTION sel_book_func(bookid NUMBER) RETURN mybooks_rec;
PROCEDURE sel_book_proc(bookid NUMBER, rc OUT mybooks_rec);
FUNCTION sel_booknm(bookid NUMBER) RETURN VARCHAR2;
PROCEDURE ins(bookid NUMBER, booknm VARCHAR2,publishdt DATE);
PROCEDURE upd(bookid NUMBER, booknm VARCHAR2,publishdt DATE);
PROCEDURE del(bookid NUMBER);
END;
/
CREATE OR REPLACE PACKAGE BODY mybooks_pkg AS
FUNCTION sel_book_func(bookid NUMBER) RETURN mybooks_rec IS
rc mybooks_rec;
BEGIN
OPEN rc FOR SELECT * FROM mybooks WHERE book_id = bookid;
RETURN(rc);
END;
FUNCTION sel_booknm(bookid NUMBER) RETURN VARCHAR2 IS
booknm VARCHAR2(30);
BEGIN
SELECT book_nm INTO booknm FROM mybooks WHERE book_id = bookid;
RETURN(booknm);
END;
PROCEDURE ins(bookid NUMBER, booknm VARCHAR2,publishdt DATE) IS
BEGIN
INSERT INTO mybooks VALUES (bookid,booknm,publishdt);
COMMIT;
END;
PROCEDURE upd(bookid NUMBER, booknm VARCHAR2,publishdt DATE) IS
BEGIN
UPDATE mybooks SET book_nm=booknm, publish_dt=publishdt WHERE book_id = bookid;
COMMIT;
END;
PROCEDURE del(bookid NUMBER) IS
BEGIN
DELETE FROM mybooks WHERE book_id = bookid;
COMMIT;
END;
PROCEDURE sel_book_proc(bookid NUMBER, rc OUT mybooks_rec) IS
BEGIN
OPEN rc FOR SELECT * FROM mybooks WHERE book_id = bookid;
END;
END;
/
show errors