Reserved words

Some keywords in SQL are also reserved words. To use a reserved word in a SQL statement as an identifier, you must enclose it in double quotes. Many, but not all, of the keywords that appear in SQL statements are reserved words. For example, you must use the following syntax to retrieve the contents of a table named SELECT.

SELECT *
   FROM "SELECT"

Because SQL is not case sensitive with respect to keywords, each of the following words may appear in uppercase, lowercase, or any combination of the two. All strings that differ only in capitalization from one of the following words are reserved words.

If you are using embedded SQL, you can use the sql_needs_quotes database library function to determine whether a string requires quotation marks. A string requires quotes if it is a reserved word or if it contains a character not ordinarily allowed in an identifier.

For more information, see sql_needs_quotes function.

The reserved SQL keywords in SQL Anywhere are as follows:

add all alter and
any as asc attach
backup begin between bigint
binary bit bottom break
by call capability cascade
case cast char char_convert
character check checkpoint close
comment commit compressed conflict
connect constraint contains continue
convert create cross cube
current current_timestamp current_user cursor
date dbspace deallocate dec
decimal declare default delete
deleting desc detach distinct
do double drop dynamic
else elseif encrypted end
endif escape except exception
exec execute existing exists
externlogin fetch first float
for force foreign forward
from full goto grant
group having holdlock identified
if in index index_lparen
inner inout insensitive insert
inserting install instead int
integer integrated intersect into
is isolation join kerberos
key lateral left like
lock login long match
membership merge message mode
modify natural nchar new
no noholdlock not notify
null numeric nvarchar of
off on open openstring
option options or order
others out outer over
passthrough precision prepare primary
print privileges proc procedure
publication raiserror readtext real
reference references refresh release
remote remove rename reorganize
resource restore restrict return
revoke right rollback rollup
save savepoint scroll select
sensitive session set setuser
share smallint some sqlcode
sqlstate start stop subtrans
subtransaction synchronize syntax_error table
temporary then time timestamp
tinyint to top tran
trigger truncate tsequal unbounded
union unique uniqueidentifier unknown
unsigned update updating user
using validate values varbinary
varbit varchar variable varying
view wait waitfor when
where while window with
with_cube with_lparen with_rollup within
work writetext xml