Start_transaction

c/c++pascal

BOOL [cd_]Start_transaction([cdp_t cdp]);
function [cd_]Start_transaction ([cdp : cdp_t]): Boolean;

Parametry

[cdp kontextová proměnná klienta]

Popis

Funkce Start_transaction zahajuje provádění explixitní transakce. Pokud se transakce již provádí, funkce neudělá nic.

Význam a použití funkce je v klientském API omezený - do transakce lze uzavřít POUZE čistě databázové operace (jedná se o vložení záznamu, přepsání hodnoty přiřazovacím příkazem a smazání záznamu, nelze tedy transakčně sledovat např. importy dat apod..

Na druhou stranu sdružováním operací do transakce můžete značně urychlit odezvu serveru - jeden zápis většího bloku dat (při commitu) trvá mnohem kratší dobu než mnoho zápisů malých objemů dat.

Funkci lze nahradit prostředky SQL. Funkce přibližně odpovídá SQL příkazu START TRANSACTION. Funkce nemění ani nenastavuje stupeň izolace transakcí (na rozdíl od SQL příkazu START TRANSACTION).

Stupeň izolace transakce se nastavuje funkcí Set_transaction_isolation_level. Transakce se potvrzuje funkcí Commit a odvolává funkcí Roll_back.

Více o transakcích naleznete na stránkách popisu jazyka SQL.

Hodnota funkce

Funkce vrací hodnotu FALSE, pokud se akci podařilo úspěšně provést nebo pokud se explicitní transakce již provádí. V opačném případě vrací TRUE a povahu chyby lze zjistit voláním funkce Signalize.

Viz