-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsaval_1.sql
More file actions
36 lines (32 loc) · 1.28 KB
/
saval_1.sql
File metadata and controls
36 lines (32 loc) · 1.28 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
----------â ëþáîé ìîìåííûé âðåìåíè äàííûå â òàáëèöå áóäóò ñîîòâåòñòâîâàòü
----------äàííûì èìåþùèìñÿ â òàáëèöå íà íà÷àëî òðàíçàêöèè
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
SELECT * FROM savalek.people;
COMMIT;
----------â ëþáîé ìîìåííûé âðåìåíè äàííûå â òàáëèöå ìîãóò
----------áûòü èçìåíåíû äðóãîé òðàíçàêöèåé
SET TRANSACTION ISOLATION LEVEL READ COMMITTED; --ïî óìîë÷àíèþ â Oracle
SELECT * FROM savalek.people;
COMMIT;
--<<<<<<<<<<<<<<<<<<<<áëîêèðîâêè>>>>>>>>>>>>>>>>>>>--
LOCK TABLE Savalek.People IN ROW SHARE MODE NOWAIT; --(1)
LOCK TABLE Savalek.People IN ROW EXCLUSIVE MODE NOWAIT; --(2)
LOCK TABLE Savalek.People IN SHARE MODE NOWAIT; --(3)
LOCK TABLE Savalek.People IN SHARE ROW EXCLUSIVE MODE NOWAIT;--(4)
LOCK TABLE Savalek.People IN EXCLUSIVE MODE NOWAIT; --(5)
--<<<<<<<<<<<<<<<<<<<<áëîêèðîâêè>>>>>>>>>>>>>>>>>>>--
--SELECT
SELECT * FROM Savalek.People;
--UPDATE
UPDATE Savalek.People SET NAME = 'Êèðèëë'
WHERE id_p = (SELECT MIN(id_p) FROM Savalek.people);
--INSERT
INSERT INTO savalek.people
SELECT savalek.get_people_id, 'Oleg', dbms_random.value(1, 100)
FROM dual
CONNECT BY LEVEL <= 1;
--DELETE
DELETE FROM Savalek.People
WHERE NAME = 'Êèðèëë';
COMMIT;
SELECT * FROM savalek.people;