IBM Db2 on Cloud 中使用的 SQL 方言是啥
Posted
技术标签:
【中文标题】IBM Db2 on Cloud 中使用的 SQL 方言是啥【英文标题】:What is the SQL dialect used in IBM Db2 on CloudIBM Db2 on Cloud 中使用的 SQL 方言是什么 【发布时间】:2020-04-21 03:56:25 【问题描述】:有谁知道 IBM Db2 on Cloud 中使用的 SQL 方言是什么?
我尝试谷歌搜索,还发现了这个 *** link,但在 IBM Db2 on Cloud 中使用的 SQL 方言的链接中看不到任何引用。
非常感谢。
【问题讨论】:
【参考方案1】:云上的 Db2 就是 Db2。
Db2 是过去称为 DB2 for Linux Unix and Windows(即 DB2 LUW)的当前名称。
其他种类的 Db2 包括 Db2 for z/OS(即 DB2 for OS/390 aka Mainframe)和 Db2 for i(即 DB2 for iSeries aka AS/400 ) 等等
从 11.5 版开始,Db2® 符合以下 SQL 标准 https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.5.0/com.ibm.db2.luw.common.doc/doc/c0011215.html
Db2® 符合以下 SQL 行业标准:
Db2® 符合以下 SQL 行业标准:
ISO/IEC 9075-1:2016, Information technology - Database languages - SQL - Part 1: Framework (SQL/Framework) ISO/IEC 9075-2:2016, Information technology - Database languages - SQL - Part 2: Foundation (SQL/Foundation) ISO/IEC 9075-3:2016, Information technology - Database languages - SQL - Part 3: Call-Level Interface (SQL/CLI) ISO/IEC 9075-4:2016, Information technology - Database languages - SQL - Part 4: Persistent Stored Modules (SQL/PSM) ISO/IEC 9075-10:2016, Information technology - Database languages - SQL - Part 10: Object Language Bindings (SQL/OLB) ISO/IEC 9075-11:2016, Information technology - Database languages - SQL - Part 11: Information and Definition Schemas (SQL/Schemata) ISO/IEC 9075-13:2016, Information technology - Database languages - SQL - Part 13: Java Routines and Types (SQL/JRT) ISO/IEC 9075-14:2016, Information technology - Database languages - SQL - Part 14: XML-Related Specifications (SQL/XML) ISO/IEC 13249-3:2011, Information technology - Database languages - SQL multimedia and application packages - Part 3: Spatial
Db2 符合以下 SQL 行业技术报告:
ISO/IEC TR 19075-6:2016, Information technology - Database languages - SQL - Part 6: SQL support for javascript Object Notation (JSON)
【讨论】:
“级联更新”仍然不受支持,它是 SQL99 的一部分。 ibm.com/support/knowledgecenter/en/SSEPGG_11.5.0/… 我真的不知道 SQL 标准是如何工作的。我假设您需要实现一些核心内容以“符合”,然后一些 DBMS 将实现但不是强制性的可选功能。我猜更新级联是功能 F701 的一部分。可通过 Wikipedia 获得的 2011 年标准的最新草案说,例如: "如果没有功能 F701,“参考更新操作”,符合 SQL 语言不应包含 。" 如果更新级联对您很重要,您可以提出(或投票)DB2 增强请求 该草案中的表 38 具有“强制功能的功能分类和定义”,表 39 具有“可选功能的功能分类”。所以我想这就是你如何知道你需要能够说产品 X 符合 SQL 标准的最低要求。当然,Db2 将实现很多可选项目......比我建议的大多数其他 DBMS 更多。【参考方案2】:我过去曾使用过 IBM DB2 on Cloud。我意识到它们遵循大多数 SQL 标准,但与任何其他 SQL 方言一样,它们也添加了一些自己的风格。我希望这是有道理的。
话虽如此,看起来大部分情况下,它们都遵循 SQL 2016 标准。以下是一些参考资料:
https://www.ibm.com/support/knowledgecenter/SSEPEK_11.0.0/home/src/cmn/db2z_industrystandardsdb2.html
https://en.wikipedia.org/wiki/SQL:2016
希望对您有所帮助。
【讨论】:
谢谢@Shogun187。所以我想从某种意义上说,IBM DB2 on Cloud 有自己稍微不同的方言。 Db2-on-cloud 是目前的 DB2-LUW (Linux/Unix/Windows) 产品,大致符合 SQL-2016。答案显示了一个指向 Db2-for-Z/OS 的链接(这不是 Db2-on-cloud 的 SQL 风格)。更好的链接是:ibm.com/support/knowledgecenter/en/SSEPGG_11.5.0/…。但是,还有其他特定于云的语法,如 Db2-on-cloud ibm.com/support/knowledgecenter/SSFMBX/…的文档中所示 非常感谢@mao。我能问一下 SQL-2016 本身就是一种方言吗?当您提到 SQL-2016 时,它与 Microsoft SQL Server 2016 相同。对不起,我是新手。 @Leockl ,请在提问前阅读链接。 *** 不能替代教育。***条目(答案中的第二个链接)将有所帮助。了解一种语言的行业标准(例如 SQL 语言的 ISO/IEC 标准)与特定供应商(如 IBM 或 Microsoft)的该标准的实施及其各自的区别特定的 RDBMS 产品。 感谢@mao,我确实看到了 wiki 链接,但我仍然不清楚。我确实说过我是新手。但是,您上面最后回复中的最后一句话现在已经让我清楚了以上是关于IBM Db2 on Cloud 中使用的 SQL 方言是啥的主要内容,如果未能解决你的问题,请参考以下文章
列出 DB2 Warehouse on Cloud 中的 SQL 语句历史记录
使用 PHP Cloud Foundry 应用程序连接到 IBM zOS 系统/DB2 表