Sql commit sql rollback, 9 p řístupy k tabulkám s instrukcemi sql, Sql commit – HEIDENHAIN TNC 320 (340 551-02) Uživatelská příručka
Stránka 374: Sql rollback

374
10 Programování: Q-parametry
10.9 P
řístupy k tabulkám s instrukcemi SQL
SQL COMMIT
SQL COMMIT převádí všechny řádky z výsledkové sady zpátky do
tabulky. Také se zruší zablokování nastavené pomocí SELECT...FOR
UPDATE.
Handle přidělený během instrukce SQL SELECT ztrácí svoji platnost.
Číslo parametru pro výsledek: Q-parametr, kterým
server SQL hlásí zpátky výsledek:
0: nedošlo k žádné chybě
1: došlo k chybě (chybný Handle nebo stejné
záznamy ve sloupcích, v nichž jsou požadovány
jednoznačné záznamy).
Databanka: ID přístupu SQL : Q-parametr, obsahující
Handle pro identifikaci výsledkové sady (viz také SQL
SELECT).
SQL ROLLBACK
Provedení SQL ROLLBACK závisí na tom, zda je naprogramovaný
INDEX:
INDEX není programovaný: výsledková sada se nezapíše zpět do
tabulky (případné změny / doplnění se ztratí) Transakce se ukončí -
Handle přidělený během SQL SELECT ztratí svoji platnost. Typické
použití: ukončíte transakci s výlučně čtecím přístupem.
INDEX je naprogramovaný: indexovaná řádka zůstane ve
zachovaná – všechny ostatní řádky se z výsledkové sady odstraní.
Transakce se neuzavře. Blokování nastavené pomocí
SELECT...FOR UPDATE zůstane pro indexované řádky zachované
– pro všechny ostatní řádky se zruší.
Číslo parametru pro výsledek: Q-parametr, kterým
server SQL hlásí zpátky výsledek:
0: nedošlo k žádné chybě
1: došlo k chybě (chybný Handle)
Databanka: ID přístupu SQL : Q-parametr, obsahující
Handle pro identifikaci výsledkové sady (viz také SQL
SELECT).
Databanka: index výsledků SQL: řádky, které mají
zůstat ve výsledkové sadě. Číslo řádku se uvádí
přímo nebo naprogramujte Q-parametr, který Index
obsahuje.
Példa:
11 SQL BIND Q881 "TAB_EXAMPLE.MESS_NR"
12 SQL BIND Q882 "TAB_EXAMPLE.MESS_X"
13 SQL BIND Q883 "TAB_EXAMPLE.MESS_Y"
14 SQL BIND Q884 "TAB_EXAMPLE.MESS_Z"
. . .
20 SQL Q5 "SELECT MESS_NR,MESS_X,MESS_Y,
MESS_Z FROM TAB_EXAMPLE"
. . .
30 SQL FETCH Q1 HANDLE Q5 INDEX+Q2
. . .
40 SQL UPDATE Q1 HANDLE Q5 INDEX+Q2
. . .
50 SQL COMMIT Q1 HANDLE Q5
Példa:
11 SQL BIND Q881 "TAB_EXAMPLE.MESS_NR"
12 SQL BIND Q882 "TAB_EXAMPLE.MESS_X"
13 SQL BIND Q883 "TAB_EXAMPLE.MESS_Y"
14 SQL BIND Q884 "TAB_EXAMPLE.MESS_Z"
. . .
20 SQL Q5 "SELECT MESS_NR,MESS_X,MESS_Y,
MESS_Z FROM TAB_EXAMPLE"
. . .
30 SQL FETCH Q1 HANDLE Q5 INDEX+Q2
. . .
50 SQL ROLLBACK Q1 HANDLE Q5