如何定义隐式列名的 H2 语法问题
Posted
技术标签:
【中文标题】如何定义隐式列名的 H2 语法问题【英文标题】:H2 Syntax Question For How to Define Inplicit Column Name 【发布时间】:2021-08-17 17:58:44 【问题描述】:我有一个SQL语法问题,在DB2中,我可以写这样的sql:
select * from
(values(0),(1)) ones(n),
(values(0),(1)) tens(n)
但在H2中,它会弹出错误:sql语句中的语法错误:
select * from
(values(0),(1)) ones([*]n),
(values(0),(1)) tens(n)
[42000-191] 42000/42000
谁能提示如何在 H2 中编写它?我认为这与如何动态定义隐式列有关。
【问题讨论】:
H2 documentation 中有什么不清楚的地方吗?为什么用 [db2] 标记? @mustaccio,我不清楚的是如何在这种情况下给出列名,而在 DB2 中,我可以写为 (values(0),(1)) 个(n),将列名命名为“n”,在 H2 中,这似乎是不允许的,或者我可能还不知道 【参考方案1】:您使用的是过时版本的 H2 数据库。此语法仅从 H2 1.4.197 开始支持,您需要使用它或更新的版本。
【讨论】:
谢谢,你是对的,在我升级到 H2 1.4.200 之后,它现在可以识别这个语法了。以上是关于如何定义隐式列名的 H2 语法问题的主要内容,如果未能解决你的问题,请参考以下文章