Добавил SQL запросы

This commit is contained in:
Struchkov Mark 2022-11-27 10:17:22 +03:00
parent 6db3ee42e4
commit b9dd311fb5
5 changed files with 49 additions and 0 deletions

23
sql/create-tables.sql Normal file
View File

@ -0,0 +1,23 @@
CREATE SEQUENCE seq_person;
CREATE SEQUENCE seq_transaction;
CREATE TABLE person
(
id BIGINT NOT NULL PRIMARY KEY DEFAULT nextval('seq_person'),
balance BIGINT NOT NULL
);
CREATE TABLE transaction
(
id BIGINT NOT NULL PRIMARY KEY DEFAULT nextval('seq_transaction'),
person_from BIGINT NOT NULL REFERENCES person (id),
person_to BIGINT NOT NULL REFERENCES person (id),
amount BIGINT NOT NULL
);
INSERT INTO person
VALUES (1, 1000);
INSERT INTO person
VALUES (2, 1000);

7
sql/drop-tables.sql Normal file
View File

@ -0,0 +1,7 @@
drop table transaction cascade;
drop table person cascade;
drop sequence seq_person;
drop sequence seq_transaction;

6
sql/fail-transaction.sql Normal file
View File

@ -0,0 +1,6 @@
INSERT INTO person values (1, 100);
INSERT INTO person values (2, 100);
UPDATE person SET balance = (balance - 10) WHERE id = 1;
INSERT INTO transaction(person_from, person_to, amount) values (1, 3, 10);
UPDATE person SET balance = (balance + 10) WHERE id = 2;

3
sql/refresh-balance.sql Normal file
View File

@ -0,0 +1,3 @@
DELETE FROM person WHERE id = 3;
DELETE FROM transaction;
UPDATE person SET balance = 1000 WHERE id in (1,2)

View File

@ -0,0 +1,10 @@
UPDATE person SET balance=100 WHERE id IN (1,2);
DELETE FROM transaction WHERE person_from = 1;
BEGIN;
UPDATE person SET balance = (balance - 10) WHERE id = 1;
INSERT INTO transaction(person_from, person_to, amount) values (1, 3, 10);
UPDATE person SET balance = (balance + 10) WHERE id = 2;
COMMIT;