The progression of standards for relational database management systems is ongoing. These standards have been, and are being, adopted by ISO and several national standards bodies. SQL86 was the first of these standards. This was replaced by SQL89, which in turn was replaced by SQL92, which is the current standard. SQL92 defines three levels of conformance: entry, intermediate, and full. In the United States, the National Institute for Standards and Technology (NIST) has defined the transitional level, which falls between the entry and intermediate levels.
Certain behaviors defined by the standards are not compatible with existing SQL Server and Adaptive Server applications. Transact-SQL provides set options that allow you to toggle these behaviors.
By default, compliant behavior is enabled for all Embedded SQL™ precompiler applications. Other applications needing to match SQL standard behavior can use the options in Table 1-7 for entry-level SQL92 compliance. For more information on setting these options, see set in the Reference Manual.
Option |
Setting |
---|---|
ansi_permissions |
on |
ansinull |
on |
arithabort |
off |
arithabort numeric_truncation |
on |
arithignore |
off |
chained |
on |
close on endtran |
on |
fipsflagger |
on |
quoted_identifier |
on |
string_rtruncation |
on |
transaction isolation level |
3 |
The following sections describe the differences between standard behavior and default Transact-SQL behavior.