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

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 的用法 » SQL 方言和兼容性 » SQL 方言 » 编写兼容的 SQL 语句

 

创建兼容表

SQL Anywhere 支持那些允许在数据类型定义中封装约束和缺省定义的域。它还支持在 CREATE TABLE 语句中使用显式缺省值和 CHECK 条件。但是,它不支持命名的缺省值。

NULL

SQL Anywhere 和 Adaptive Server Enterprise 在处理 NULL 的某些方面存在差异。在 Adaptive Server Enterprise 中,有时将 NULL 视为一个值处理。

例如,Adaptive Server Enterprise 中的唯一索引不能包含具有空值的行,而在其它方面都相同。在 SQL Anywhere 中,唯一索引则可以包含这样的行。

缺省情况下,Adaptive Server Enterprise 中的列缺省为 NOT NULL,而 SQL Anywhere 中的缺省设置为 NULL。您可以使用 allow_nulls_by_default 选项控制此设置。通过显式指定 NULL 或 NOT NULL,可以使您的数据定义语句成为可移植的语句。

有关此选项的信息,请参见为实现 Transact-SQL 兼容性设置选项

临时表

您可以通过在 CREATE TABLE 语句中的表名前放置井号 (#) 来创建临时表。这些临时表是 SQL Anywhere 声明的临时表,并且只能在当前连接中才可用。

在 Adaptive Server Enterprise 中表的实际放置方式不同于在 SQL Anywhere 中表的实际放置方式。SQL Anywhere 支持 ON segment-name 子句,但 segment-name 会引用 SQL Anywhere dbspace。

另请参见