Teradata Vantage supports two session modes:
- ANSI
- Teradata
In ANSI session mode:
- Transaction processing follows the rules defined by the ANSI/ISO SQL:2011 standard.
- For Teradata SQL features that support both the ANSI/ISO SQL standard syntax and the Teradata SQL dialect, the ANSI/ISO SQL standard syntax is used.
- The default case specification for character data is CASESPECIFIC.
- When a character string requires truncation, the excess pad characters are truncated without reporting an error. Truncation of characters other than trailing nonblank characters results in a truncation exception.
- Cursors are always positioned. Updating or deleting the most current fetched cursor row using the UPDATE/DELETE ... WHERE CURRENT OF statement is valid.
- The default table type is MULTISET, which allows duplicate rows.
- The TRIM function trims both leading and trailing pad characters by default.
In Teradata session mode:
- Transaction processing follows the rules defined by Teradata before the emergence of the ANSI/ISO SQL standard. These rules largely conform with ANSI/ISO semantics, but in some cases differ in important ways from the ANSI/ISO semantics.
- For Teradata SQL features that support both the ANSI/ISO SQL standard syntax and the Teradata SQL dialect, the Teradata SQL syntax is used.
- By default, character data is NOT CASESPECIFIC, except when the character set is GRAPHIC. GRAPHIC character data by default is CASESPECIFIC.
- The default case specification for character data is NOT CASESPECIFIC. The exception is data of type CHARACTER (n) CHARACTER SET GRAPHIC, which is always CASESPECIFIC.
- When a character string requires truncation, the string is truncated silently with no truncation notification given. This is true for truncation of pad or non-pad characters.
- Cursors are never positioned. Updating or deleting the most current fetched cursor row using the UPDATE/DELETE ... WHERE CURRENT OF statement is not valid.
- The default table type depends on whether the table has a primary index. Tables with a PI are SET (do not allow duplicate rows). Tables without a primary index (including column-partitioned tables) are MULTISET (allow duplicate rows).
- The TRIM function trims only trailing pad characters by default.
Case specificity does not apply to CLOBs.
A transaction is a logical unit of work. The statements nested within the transaction either execute successfully as a group or do not execute. A Teradata SQL transaction can be a single Teradata SQL statement, or a sequence of Teradata SQL statements.