Difference between revisions of "SAVEPOINT"
Yvonnemilne (Talk | contribs) |
Yvonnemilne (Talk | contribs) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Purpose== | ==Purpose== | ||
Identifies a stage within a transaction which can subsequently be used as ROLLBACK point. | Identifies a stage within a transaction which can subsequently be used as ROLLBACK point. | ||
Line 15: | Line 8: | ||
==See Also== | ==See Also== | ||
− | [[SQL BEGIN TRANSACTION|BEGIN TRANSACTION]], [[COMMIT]], [[SQL END TRANSACTION|END TRANSACTION]], [[ROLLBACK]], [[SAVE TRANSACTION]], [[SET TRANSACTION]], [[TXNISOLATION()]], [[TXNLEVEL()]] | + | [[SQL BEGIN TRANSACTION|BEGIN TRANSACTION]], [[COMMIT]], [[SQL END TRANSACTION|END TRANSACTION]], [[SQL ROLLBACK|ROLLBACK]], [[SAVE TRANSACTION]], [[SET TRANSACTION]], [[TXNISOLATION()]], [[TXNLEVEL()]] |
Line 28: | Line 21: | ||
==Example== | ==Example== | ||
<code lang="recital"> | <code lang="recital"> | ||
− | + | BEGIN TRANSACTION parent_and_child | |
− | + | INSERT INTO customer; | |
− | + | (TITLE, LAST_NAME, FIRST_NAME, INITIAL, STREET,; | |
− | + | CITY, STATE, ZIP,LIMIT, START_DATE); | |
− | + | VALUES; | |
− | + | ('Ms', 'Jones', 'Susan', 'B', '177 High Street', 'Beverly', 'MA', '01915', 2000, date()) | |
− | BEGIN TRANSACTION parent_and_child | + | SAVEPOINT parent_added |
− | INSERT INTO customer | + | INSERT INTO accounts (ORD_VALUE) VALUES (30) |
− | (TITLE, LAST_NAME, FIRST_NAME, INITIAL, STREET, | + | ROLLBACK TRANSACTION parent_added |
− | CITY, STATE, ZIP,LIMIT, START_DATE) | + | END TRANSACTION |
− | VALUES | + | |
− | ('Ms', 'Jones', 'Susan', 'B', '177 High Street', 'Beverly', 'MA', '01915', 2000, date()) | + | |
− | SAVEPOINT parent_added | + | |
− | INSERT INTO accounts (ORD_VALUE) VALUES (30) | + | |
− | ROLLBACK TRANSACTION parent_added | + | |
− | END TRANSACTION | + | |
− | + | ||
</code> | </code> | ||
==Products== | ==Products== | ||
− | Recital | + | Recital Server, Recital |
[[Category:Documentation]] | [[Category:Documentation]] | ||
[[Category:SQL]] | [[Category:SQL]] | ||
[[Category:Commands]] | [[Category:Commands]] |
Latest revision as of 15:35, 22 December 2009
Purpose
Identifies a stage within a transaction which can subsequently be used as ROLLBACK point.
Syntax
SAVEPOINT <savepoint>
See Also
BEGIN TRANSACTION, COMMIT, END TRANSACTION, ROLLBACK, SAVE TRANSACTION, SET TRANSACTION, TXNISOLATION(), TXNLEVEL()
Description
The SAVEPOINT statement identifies a stage within a transaction which can subsequently be used as ROLLBACK point. The name of the savepoint is specified in <savepoint>.
Issuing the SAVEPOINT <savepoint> statement causes the TXNLEVEL() to increase by 1. If the transaction is rolled back to the <savepoint> using the ROLLBACK command, the TXNLEVEL will decrease by 1 and a partial rollback of the transaction will be carried out. Changes made since the specified <savepoint> was declared are discarded and the transaction continues from the <savepoint>.
A transaction is a sequence of SQL statements that Recital treats as a single unit. A transaction begins with the first executable SQL statement after a BEGIN TRANSACTION. A transaction ends with a COMMIT, ROLLBACK or END TRANSACTION.
Example
BEGIN TRANSACTION parent_and_child INSERT INTO customer; (TITLE, LAST_NAME, FIRST_NAME, INITIAL, STREET,; CITY, STATE, ZIP,LIMIT, START_DATE); VALUES; ('Ms', 'Jones', 'Susan', 'B', '177 High Street', 'Beverly', 'MA', '01915', 2000, date()) SAVEPOINT parent_added INSERT INTO accounts (ORD_VALUE) VALUES (30) ROLLBACK TRANSACTION parent_added END TRANSACTION
Products
Recital Server, Recital