SQL transaktsioonid

-- SQL server
create table T (
	id int not null primary key,
	s varchar(40),
	si smallint
)
insert into T ( id, s ) values (1,'First'),(2,'Second'),(3,'Third');

-- alustame transksiooni
begin TRANSACTION;
insert into T (id, s) Values (4,'Fourth');
select * from T;

ROLLBACK;
select * from T;
insert into T (id, s) Values (6,'Sixth'), (7,'Seventh');

begin TRANSACTION;
delete from T where id > 1;
select * from T;

ROLLBACK;
select * from T;
begin TRANSACTION;
UPDATE T set si = 3 where id = 1;
select * from T;

ROLLBACK;
select * from T
-- PHPmyAdmin
create table T (
	id int not null primary key,
	s varchar(40),
	si smallint
)
insert into T ( id, s ) values (1,'First'),(2,'Second'),(3,'Third');
start TRANSACTION;
insert into T (id, s) Values (4,'Fourth');
select * from T;

ROLLBACK;
select * from T;
insert into T (id, s) Values (6,'Sixth'), (7,'Seventh');

begin TRANSACTION;
delete from T where id > 1;
select * from T;

ROLLBACK;
select * from T;
start TRANSACTION;
UPDATE T set si = 3 where id = 1;
select * from T;

ROLLBACK;
select * from T

Töö 1:

commit ja savepoint ei töönud phpmyadmin/xampp’le. *aitäh Martin teale

start TRANSACTION;
delete from T where id = 3;
commit;
select * from T;
ROLLBACK;
select * from T;

peaks see väljund küll meeldima.

Töö 2:

Create PRocedure SetUPdate
as
begin 
	begin try
		begin transaction
			update T set si = 3 where id = 1;
		commit transaction
	end try
	begin Catch
		Rollback transaction
	end Catch
end