在编写将在多个数据库管理系统上使用的 SQL 语句时,应该使您的 SQL 语句尽可能地清晰。即使多个服务器支持给定的 SQL 语句,每个系统上的缺省行为也可能不相同。
在 SQL Anywhere 中,数据库服务器和 SQL 预处理器 (sqlpp) 可标识作为服务商扩充、不符合特定 ISO/ANSI SQL 标准、或者 UltraLite 不支持的 SQL 语句。此功能称为 SQL Flagger。
编写兼容的 SQL 语句适用的一般原则包括:
包括所有可用选项,而不是使用缺省行为。
使用括号来明确语句中的执行顺序,而不是对运算符采用相同的缺省优先级。
使用在变量名前加 @ 符号这一 Transact-SQL 约定,以实现 Adaptive Server Enterprise 可移植性。
在过程、触发器和批处理中声明变量和游标要紧跟在 BEGIN 语句之后。这是 SQL Anywhere 的要求,尽管 Adaptive Server Enterprise 允许在过程、触发器或批处理中的任意位置进行声明。
避免将 Adaptive Server Enterprise 或 SQL Anywhere 中的保留字用作数据库中的标识符。
采用大命名空间。例如,要确保每个索引都应有唯一的名称。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |