Sybase IQ, like Adaptive Server Anywhere, supports a large subset of Transact-SQL, which is the dialect of SQL supported by Sybase Adaptive Server Enterprise.
The goal of Transact-SQL support in IQ is to provide application portability. Many applications, stored procedures, and batch files can be written for use with both Enterprise and IQ databases.
The aim is to write applications to work with both Enterprise and IQ. Existing Adaptive Server Enterprise applications generally require some changes to run on an Adaptive Server Anywhere or IQ database.
Transact-SQL support in IQ takes the following form:
Most SQL statements are compatible between IQ and Enterprise.
For some statements, particularly in the procedure language used in procedures and batches, a separate Transact-SQL statement is supported together with the syntax supported in previous versions of IQ. For these statements, Adaptive Server Anywhere and IQ support two dialects of SQL. In this appendix, we name those dialects Transact-SQL and Watcom-SQL.
A procedure or batch is executed in either the Transact-SQL or Watcom-SQL dialect. You must use control statements from one dialect only throughout the batch or procedure. For example, each dialect has different flow control statements.
IQ supports a very high percentage of Transact-SQL language elements, functions, and statements for working with existing data.
Further, IQ supports a very high percentage of the Transact-SQL stored procedure language (CREATE PROCEDURE syntax, control statements, and so on), and many, but not all, aspects of Transact-SQL data definition language statements.
There are design differences in the architectural and configuration facilities supported by each product. Device management, user management, and maintenance tasks such as backups tend to be system-specific. Even here, IQ provides Transact-SQL system tables as views, where the tables that are not meaningful in IQ have no rows. Also, IQ provides a set of system procedures for some of the more common administrative tasks.