DB2 版本的 SQL 差异

Posted

技术标签:

【中文标题】DB2 版本的 SQL 差异【英文标题】:SQL differences for DB2 versions 【发布时间】:2014-11-26 09:56:26 【问题描述】:

我们正在开发使用ODBC drivers 为Oracle 和SQL 服务器生成和执行SQL 查询的软件。我们正在研究扩展至DB2 的可能性,但我读到有几个版本可用。 DB2 用于 LUWiSeries 和 z/OS。

这些版本中SQLSQL/PLSQL 的功能有什么不同吗?

作为独立软件开发商,是否可以为iSeriesz/OS获取DB2的开发环境

【问题讨论】:

是的,DB2 for LUW、iSeries 和 z/OS 之间的差异相当大。考虑它们三个碰巧具有相同名称的不同 DBMS。差异越来越小,但它们仍然存在。如果您想了解是否支持某个功能,则必须查阅它们各自的手册。 DB2 差异倾向于强调平台差异。如果您不需要使用特定的平台功能,您可以专注于使您的代码符合常见的 SQL 标准。 【参考方案1】:

正如许多其他答案已经说过的那样,DB2 家族的成员之间存在差异。所有 DB2 都符合 SQL-99 标准,并且每个成员都具有以下SQL standards(2003、2006、2008、2011)的特定功能。此外,还为每个成员添加了一些额外功能,例如 LUW 中的自治事务或模块。

IBM 中有一个名为 SQL 语言委员会 (SLC) 的小组,其目的是讨论 DB2 家族的兼容性。 SQL 架构师(Serge Rielau 和 Rick Swagerman)撰写的以下文章讨论了这一点:

More family matters: Selected common SQL features for developers of portable DB2 applications Family matters: The SQL Reference for Cross-Platform Development

该小组创建了一个名为SQL Reference for Cross-Platform Development 的文档,用于描述家庭成员之间的兼容性。当前版本是 4.0,它对当前 DB2 版本的特性进行了分组。

此外,DeveloperWorks 最近的一系列文章讨论了该系列每个成员的特性。这为您提供了 DB2 之间的可移植性:

Selected common SQL features for developers of portable DB2 applications Selected common SQL features for developers of portable DB2 applications (Previous v4)

更多信息:

DB2 UDB Family On Common Ground

【讨论】:

【参考方案2】:

可以在这里找到相关信息:

http://www-01.ibm.com/software/data/db2/linux-unix-windows/index.html

这里

http://troels.arvin.dk/db/rdbms/

但是,所有提到的 DB2 版本都符合 SQL-92,因此 SQL 标准是相同的

【讨论】:

以上是关于DB2 版本的 SQL 差异的主要内容,如果未能解决你的问题,请参考以下文章

如何查看 db2 版本

sqlserver和DB2的区别

分离和附加分区 db2 版本 10.5 给出 sqlstate 55007 错误

如何在 DB2 Z/OS 8.1 版本中创建用户定义函数?

DB2 LUW 版本 10.5.0.10 - 在存储过程中获取警告(未找到)行

如何在 db2 sql 中转义撇号