Specifying Transaction Names in an INSERT
From InterBase
Go Up to Inserting Data (Embedded SQL Guide)
InterBase enables a SQL application to run simultaneous transactions if:
- Each transaction is first named with a
SET TRANSACTIONstatement. For a complete discussion of transaction handling and naming, see Working with Transactions. - Each data manipulation statement (
SELECT,INSERT,UPDATE,DELETE,DECLARE,OPEN,FETCH, andCLOSE) specifies aTRANSACTIONclause that identifies the name of the transaction under which it operates. - SQL statements are not dynamic (DSQL). DSQL does not support user-specified transaction names.
With INSERT, the TRANSACTION clause intervenes between the INSERT keyword and the list of columns to insert, as in the following syntax fragment:
INSERT TRANSACTION name INTO table (col [, col ...])
The TRANSACTION clause is optional in single-transaction programs. It must be used in a multi-transaction program unless a statement operates under control of the default transaction, GDS__TRANS. For example, the following INSERT is controlled by the transaction, T1:
EXEC SQL INSERT TRANSACTION T1 INTO DEPARTMENT (DEPARTMENT, DEPT_NO, BUDGET) VALUES (:deptname, :deptno, :budget INDICATOR :bi);