UltraLite Database User's Guide
UltraLite database limitations
The following Adaptive Server Anywhere features are not available in UltraLite databases:
Cascading updates and deletes Some applications rely on declarative referential integrity to implement business rules. These features are not available in UltraLite databases except during synchronization downloads, when updates and deletes are cascaded automatically.
Any attempt to delete a primary key that has a corresponding value in a foreign key fails with an error. Any attempt to update a primary key value when foreign keys reference the original value also fails.
Check constraints You cannot include table or column check constraints in an UltraLite database.
Computed columns You cannot include computed columns in an UltraLite database.
Global temporary tables The temporary aspect of global temporary tables is not recognized by UltraLite. They are treated as if they were permanent base tables, which you should use instead.
Declared temporary tables You cannot declare a temporary table within an UltraLite application.
Stored procedures You cannot call stored procedures or user-defined functions in an UltraLite application.
Functions Not all SQL functions are available for use in UltraLite applications.
Use of an unsupported function gives a Feature not available in UltraLite error.
For a list of supported functions, see UltraLite SQL functions.
Triggers Triggers are not supported in UltraLite databases.
System table access There are no system tables in an UltraLite database.
System functions You cannot use Adaptive Server Anywhere system functions, including property functions, in UltraLite applications.
Java in the database You cannot include Java methods in your queries or make any other use of Java in the database.
Timestamp columns You cannot use Transact-SQL timestamp columns in UltraLite databases. Transact-SQL timestamp columns are created with the following default:
DEFAULT TIMESTAMP
You can use columns created as follows:
DEFAULT CURRENT TIMESTAMP
There is a behavior difference between the two: a DEFAULT CURRENT TIMESTAMP column is not automatically updated when the row is updated, while a DEFAULT TIMESTAMP column is automatically updated. You must explicitly update columns created with DEFAULT CURRENT TIMESTAMP if you wish the column to reflect the latest update time.
If you are using dynamic SQL in your UltraLite application, the range of SQL available is less than in Adaptive Server Anywhere.
For more information, see Dynamic SQL.
UltraLite applications using static interfaces can use a wider range of SQL, but the following SQL features are not supported.
Dynamic SQL Dynamic SQL is not available to applications using static interfaces.
SAVEPOINT statement UltraLite databases support transactions, but not savepoints within transactions.
SET OPTION statement UltraLite databases do support a set of options, but you cannot use the SET OPTION statement in an UltraLite application to change option settings.
For UltraLite components, you can set options in the database schema file, either by setting them in the reference database and using ulinit, or from the UltraLite Schema Painter, or in an XML document holding the schema.
For more information about UltraLite database options, see UltraLite database options.
Schema modification To modify the schema of a UltraLite database from a static interface application, you must build a new version of your application.
To modify the schema of an UltraLite database from an UltraLite component, you can use schema modification statements or you can deploy an updated schema file.
For more information, see Upgrading UltraLite database schemas.
SQL Anywhere Studio 9.0.2
Copyright © 1989–2004 Sybase, Inc. Portions copyright © 2001–2004 iAnywhere Solutions, Inc. All rights reserved.