Sql commit, Sql rollback – HEIDENHAIN TNC 640 (34059x-04) Uživatelská příručka
Stránka 328
Programování: Q-Parametry
9.9
Přístupy do tabulek s příkazy SQL
9
328
TNC 640 | Uživatelská příručka programování s popisným dialogem HEIDENHAIN | 4/2014
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).
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
"SELECTMESS_NR,MESS_X,MESS_Y,
MESS_Z FROM TAB_EXAMPLE"
. . .
30 SQL FETCH Q1HANDLE Q5 INDEX
+Q2
. . .
40 SQL UPDATEQ1 HANDLE Q5 INDEX
+Q2
. . .
50 SQL COMMITQ1 HANDLE Q5
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 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ýsledku SQL
: řádky, které mají
zůstat ve výsledkové sadě. Číslo řádku se uvádí
přímo nebo naprogramujte Q-parametr, který Index
obsahuje.
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
"SELECTMESS_NR,MESS_X,MESS_Y,
MESS_Z FROM TAB_EXAMPLE"
. . .
30 SQL FETCH Q1HANDLE Q5 INDEX
+Q2
. . .
50 SQL ROLLBACKQ1 HANDLE Q5