【问题标题】: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 方言是什么?

我尝试谷歌搜索,还发现了这个 stackoverflow link,但在 IBM Db2 on Cloud 中使用的 SQL 方言的链接中看不到任何引用。

非常感谢。

【问题讨论】:

    标签: sql db2 ibm-cloud


    【解决方案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 ,请在提问前阅读链接。 Stackoverflow 不能替代教育。维基百科条目(答案中的第二个链接)将有所帮助。了解一种语言的行业标准(例如 SQL 语言的 ISO/IEC 标准)与特定供应商(如 IBM 或 Microsoft)的该标准的实施及其各自的区别特定的 RDBMS 产品。
    • 感谢@mao,我确实看到了 wiki 链接,但我仍然不清楚。我确实说过我是新手。但是,您上面最后回复中的最后一句话现在已经让我清楚了
    猜你喜欢
    • 1970-01-01
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-23
    • 1970-01-01
    • 2023-02-12
    相关资源
    最近更新 更多