Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Vlákno názorů k článku
Co nefunguje v MySQL a jak to obejít

lolek
lolek (neregistrovaný) 217.77.169.---
16. 12. 2009 14:11

ad Příkazy ukončující transakci

Jen pro zajimavost – ktera databaze podporuje zacleneni „příkazů pracujících se strukturou tabulek“ do transakce?

jos
jos (neregistrovaný) 193.179.128.---
16. 12. 2009 14:48

Re: ad Příkazy ukončující transakci

všechny ostatní? když už to umí MSSQL …

begin transaction
create table dbo.omg(id int not null)
select *
from information_sche­ma.tables
where table_name = ‚omg‘
and table_schema = ‚dbo‘
– vyselecti jeden radek
rollback transaction
select *
from information_sche­ma.tables
where table_name = ‚omg‘
and table_schema = ‚dbo‘
– vyselecti nula radku

lolek
lolek (neregistrovaný) 217.77.169.---
16. 12. 2009 15:07

Re: ad Příkazy ukončující transakci

Zajimave, MSSQL neznam, treba Oracle toto pokud vim neumi (tedy ne ze by mi to chybelo). A co se stane, pokud tabulku se stejnym nazvem chce zaroven zalozit jiny uzivatel v konkurencni transakci?

jos
jos (neregistrovaný) ---.tabor.telecom.cz
16. 12. 2009 15:40

Re: ad Příkazy ukončující transakci

tak sem si to zkusil nasimulovat a pozdější transakce čekala na dokončení tý první a pokud se první commitla, tak druhá zdechla, jinak to prošlo
isolation level mam READ COMMITED

Lenin POWER! aura:41
16. 12. 2009 17:29

Re: ad Příkazy ukončující transakci

jo oracle to neumi. postgresql, mssql a db2 jo. Apache Derby jsem nezkousel. Ovsem nedoporucuje se toho moc zneuzivat protoze to muze drzet X zamky v systemovem katalogu.

Michal Kára
Michal Kára (neregistrovaný) 88.208.88.---
16. 12. 2009 18:34

Re: ad Příkazy ukončující transakci

Pro poradek doplnim, ze Oracle to umi, ale ne v ramci transakce. Jinak se samozrejme da v PL/SQL procedurach vytvaret tabulky, disablovat / enablovat indexy atp.

Pavel Stěhule aura:90
16. 12. 2009 17:02

Re: ad Příkazy ukončující transakci

např. postgresql.

postgres=# begin;
BEGIN
Time: 27,588 ms
postgres=# create table xx(a integer);
CREATE TABLE
Time: 200,168 ms
postgres=# insert into xx values(10);
INSERT 0 1
Time: 35,007 ms
postgres=# rollback;
ROLLBACK
Time: 0,682 ms
postgres=# select * from xx;
ERROR: relation „xx“ does not exist
LINE 1: select * from xx;
^
postgres=# create table xx(a integer);
CREATE TABLE
Time: 1,445 ms
postgres=# \d xx
Table „public.xx“
Column | Type | Modifiers
--------±--------±----------
a | integer |
postgres=# begin;
BEGIN
Time: 0,250 ms
postgres=# alter table xx add column b integer;
ALTER TABLE
Time: 0,537 ms
postgres=# insert into xx values(10,20);
INSERT 0 1
Time: 0,474 ms
postgres=# select * from xx;
a | b
----±---
10 | 20
(1 row)
Time: 0,380 ms
postgres=# rollback;
ROLLBACK
Time: 0,475 ms
postgres=# select * from xx;
 a


(0 rows)
Time: 1,129 ms
postgres=# \d xx
Table „public.xx“
Column | Type | Modifiers
--------±--------±----------
a | integer |

Zasílat nově přidané příspěvky e-mailem