SAVE TRANSACTION statement [T-SQL]

Description

Establishes a savepoint within the current transaction.

Syntax

SAVE TRANSACTION [ savepoint-name ]

Examples

Example 1

This example returns five rows with values 10, 20, and so on. The effect of the DELETE, but not the prior INSERTs or UPDATE, is undone by the ROLLBACK TRANSACTION statement.

BEGIN
     SELECT row_num INTO #tmp 
     FROM sa_rowgenerator( 1, 5 ) 
     UPDATE #tmp SET row_num=row_num*10
     SAVE TRANSACTION before_delete
     DELETE FROM #tmp WHERE row_num >= 3
     ROLLBACK TRANSACTION before_delete
     SELECT * FROM #tmp
END

Usage

Establishes a savepoint within the current transaction. The savepoint-name is an identifier that can be used in a ROLLBACK TRANSACTION statement. All savepoints are automatically released when a transaction ends.

Standards

Permissions

None

See also

“BEGIN TRANSACTION statement [T-SQL]”

“ROLLBACK TRANSACTION statement [T-SQL]”

See "SAVETRANSACTION statement [T-SQL]" in SQL Anywhere Server – SQL Reference