Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 17 » SQL Anywhere Server - Database Administration » Database configuration » Database options » Alphabetical list of database options

non_keywords option

Disables individual reserved keywords, allowing their use as identifiers.

Allowed values

String

Default

Empty string

Scope
  PUBLIC role For current user For other users
Allowed to set permanently? Yes, with SET ANY PUBLIC OPTION Yes Yes, with SET ANY PUBLIC OPTION
Allowed to set temporarily? Yes, with SET ANY PUBLIC OPTION Yes (current connection only) No
Remarks

Specify a comma-separated list of keywords to prevent them from being recognized as reserved keywords. This option provides a way of ensuring that applications created with older versions of the product are not broken by the addition of new keywords. If you have an identifier in your database that is now a keyword, you can either enclose all references to it with double quotes, square brackets, or back quotes (`...`), or disable the keyword using the non_keywords option.

Whether a word is acceptable in the comma-separated list of words is determined by the following rules:

  • It must appear in the list of reserved word candidates.
  • It must not be one of the reserved words SET, OPTION, or OPTIONS.

The list of reserved word candidates is produced by the sa_reserved_words system procedure. The terms "reserved word" and "reserved keyword" are used interchangeably in this documentation.

The following statement prevents TRUNCATE and SYNCHRONIZE from being recognized as keywords:

SET OPTION non_keywords = 'TRUNCATE, SYNCHRONIZE';

Each new setting of this option replaces the previous setting.

The following statement clears all previous settings.

SET OPTION non_keywords =;

A side-effect of this option is that SQL statements that require a disabled keyword cannot be executed: they produce a syntax error. For example, if you disable the SELECT keyword, then SELECT statements cannot be executed.

You can enable individual keywords using the reserved_keywords option.