forked from 21119usf/Batch-Source
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBankingAppScript.SQL
More file actions
116 lines (100 loc) · 2.36 KB
/
Copy pathBankingAppScript.SQL
File metadata and controls
116 lines (100 loc) · 2.36 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
104
105
106
107
108
109
110
111
112
113
114
115
116
-- This is my testing ground for building my app tables.
CREATE SEQUENCE ACCOUNTKEY
MINVALUE 1
START WITH 1000
INCREMENT BY 1;
CREATE SEQUENCE USERKEY
MINVALUE 1
START WITH 1000
INCREMENT BY 1;
CREATE SEQUENCE ADMINKEY
MINVALUE 1
START WITH 1000
INCREMENT BY 1;
CREATE TABLE ACCOUNTS
( BANK_ACCOUNT_ID NUMBER PRIMARY KEY,
ACCOUNTNUM NUMBER UNIQUE,
BALANCE NUMBER(10,2),
USERID VARCHAR2(21));
ALTER TABLE ACCOUNTS
ADD CONSTRAINT OVERDRAFT
CHECK (BALANCE >= 0);
CREATE TABLE USERS
( USERID NUMBER PRIMARY KEY,
USERNAME VARCHAR2(21),
PASS VARCHAR2(21),
FULLNAME VARCHAR2(41),
SSN NUMBER,
APPROVED NUMBER(1,0));
CREATE TABLE ADMINS (
ADMINID NUMBER PRIMARY KEY,
USERNAME VARCHAR2(21),
PASSWORD VARCHAR2(21) );
--
CREATE OR REPLACE PROCEDURE NEWADMIN(USR VARCHAR2, PW VARCHAR2)
AS
BEGIN
INSERT INTO ADMINS VALUES (ADMINKEY.NEXTVAL,USR,PW);
COMMIT;
END;
CREATE OR REPLACE PROCEDURE DELADMIN(USR VARCHAR2, PW VARCHAR2)
AS
BEGIN
DELETE FROM ADMINS WHERE USERNAME = USR AND PASSWORD = PW;
COMMIT;
END;
CREATE OR REPLACE PROCEDURE NEWUSER(USR VARCHAR2, PW VARCHAR2, REALNAME VARCHAR2, SSN NUMBER)
AS
BEGIN
INSERT INTO USERS VALUES (USERKEY.NEXTVAL, USR, PW, REALNAME, SSN, 0);
COMMIT;
END;
CREATE OR REPLACE PROCEDURE APPROVEUSR(USR VARCHAR2)
AS
BEGIN
UPDATE USERS
SET APPROVED = 1 WHERE USERNAME = USR;
COMMIT;
END;
CREATE OR REPLACE PROCEDURE EDITUSR(USR VARCHAR2, PW VARCHAR2, NEWNAME VARCHAR2, SSN VARCHAR2, APPROVED NUMBER)
AS
BEGIN
UPDATE USERS
SET PASS = PW, FULLNAME = NEWNAME, SSN = SSN, APPROVED = APPROVED WHERE USERNAME = USER;
COMMIT;
END;
CREATE OR REPLACE PROCEDURE DELUSR(USR VARCHAR2)
AS
BEGIN
DELETE FROM USERS WHERE USERNAME=USR;
COMMIT;
END;
CREATE OR REPLACE PROCEDURE NEWACCOUNT(ACC_NUM NUMBER, USR VARCHAR2)
AS
BEGIN
INSERT INTO ACCOUNTS VALUES (ACCOUNTKEY.NEXTVAL,ACC_NUM,0.00,USR);
COMMIT;
END;
CREATE OR REPLACE PROCEDURE WITHDRAW(ACC_NUM NUMBER, AMOUNT NUMBER)
AS
BEGIN
UPDATE ACCOUNTS
SET BALANCE = BALANCE - AMOUNT WHERE accountnum = ACC_NUM;
COMMIT;
END;
CREATE OR REPLACE PROCEDURE DEPOSIT(ACC_NUM NUMBER, AMOUNT NUMBER)
AS
BEGIN
UPDATE ACCOUNTS
SET BALANCE = BALANCE + AMOUNT WHERE accountnum = ACC_NUM;
COMMIT;
END;
CREATE OR REPLACE PROCEDURE DELACCOUNT(BAID NUMBER)
AS
BEGIN
DELETE FROM ACCOUNTS WHERE BANK_ACCOUNT_ID = BAID;
COMMIT;
END;
EXECUTE DELACCOUNT(1001);
--
commit;