Sql commit, Sql rollback, Sql commit sql rollback – HEIDENHAIN TNC 320 (340 55x-05) ISO programming Uživatelská příručka

Stránka 240

Advertising
background image

240

Programování: Q-parametry

8.8 P

řístupy k t

a

bulká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.

U

Čí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).

U

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 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ší.

U

Čí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)

U

Databanka: ID přístupu SQL : Q-parametr, obsahující

Handle pro identifikaci výsledkové sady (viz také SQL
SELECT
).

U

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.

Příklad:

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říklad:

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

Advertising