Skip to content
Home » SQL transaktsioonid

SQL transaktsioonid

сновные концепции транзакции описываются аббревиатурой ACID

  • Atomicity – Атомарность
  • Consistency – Согласованность
  • Isolation – Изолированность
  • Durability – Долговечность

Для управления транзакциями используются следующие команды:

  • COMMIT
    Сохраняет изменения
  • ROLLBACK
    Откатывает (отменяет) изменения
  • SAVEPOINT
    Создаёт точку к которой группа транзакций может откатиться
  • SET TRANSACTION
    Размещает имя транзакции.
create table T(
id int not null primary key,
s varchar(40),
si SMALLINT);


insert into T(id, s) values (1, 'first');
insert into T(id, s) values (2, 'second');
insert into T(id, s) values (3, 'third');

SELECT * from T;

--transaktsiooni loomine
begin transaction;
insert into T(id, s) values (4, 'fourth');
SELECT * from T;
--tegevuse tagasi võtmine
Rollback;
Select * from T;
--loome transaktsiooni, mis võtab tagasi kustutatud kirjed
Begin transaction;
Delete from T where id>1;
select * from T;Code language: PostgreSQL SQL dialect and PL/pgSQL (pgsql)

XAMPP START = BEGIN

1.MySQL – Выполнить пример со следующей страницы

Руководство по SQL. Транзакции.

developers tabeli loomine

andmete lisamine tabelisse

tabelis muudatuste salvestamine

tühistan selle muudatuse

kustutan viies ID

tühistan selle muudatuse

Ülesanne viie peale:

create table

create table tblPhysicalAddress(
Addressid int not null primary key,
EmployeeNumber int,
HouseNumber varchar(20),
StreetAddress varchar(20),
City varchar(20),
PostalCode varchar(20));Code language: PostgreSQL SQL dialect and PL/pgSQL (pgsql)

create transaktsiooni procedure, üritab uuendada linnade välju mõlemas tabelis transaktsiooni käigus

create  procedure spUpdateAddress
as
Begin
	Begin try
		Begin Transaction
			Update tblPhysicalAddress set City='LONDON'
			where Addressid = 1 and EmployeeNumber = 101

			Update tblPhysicalAddress set City = 'LONDON LONDON'
			where Addressid = 1 and EmployeeNumber = 101
		Commit Transaction
		Print 'Transaction Rolled BACK'
	END TRY
	Begin Catch
		Rollback Transaction
		print 'Transaction Rolled Back'
	END Catch
ENDCode language: PostgreSQL SQL dialect and PL/pgSQL (pgsql)

BEFORE PROCEDURE

AFTER PROCEDURE