【问题标题】:create table table1 as select .. from sysibm.sysdummy1create table table1 as select .. from sysibm.sysdummy1
【发布时间】:2013-11-29 15:57:07
【问题描述】:

在德比中,

我有一个名为 TEST1 的表。我可以完美运行这段代码。

CREATE TABLE Table1 AS (SELECT * FROM TEST1) with no data

但我无法运行此代码和 derby。

CREATE TABLE Table1 AS (SELECT ..... FROM sysibm.sysdummy1) with no data

编辑器抛出此错误:

错误:CREATE TABLE 语句不包含列列表。

ps:“SELECT ..... FROM sysibm.sysdummy1”没有问题。

如何使用“select 'columns' from sysibm.sysdummy1”创建表?

【问题讨论】:

  • 请向我们展示您的真实 SQL,因为很明显,您没有使用SELECT ..... FROM sysibm.sysdummy1
  • 真正的sql代码太长了,不能分享。它有 4800 行

标签: derby createquery


【解决方案1】:

在我的第一个代码中

CREATE TABLE Table1 AS (SELECT ..... x, y, z , 0 FROM sysibm.sysdummy1) with no data

我删除了查询中的逗号和 0 并修复了它!就这样

CREATE TABLE Table1 AS (SELECT ..... x, y, z FROM sysibm.sysdummy1) with no data

【讨论】:

    【解决方案2】:

    我认为问题可能是“虚拟”表没有列,并且由于您在 CREATE TABLE 语句中未指定任何列,因此 Derby 正在尝试使用虚拟表中的列,但找不到任何列,并且说“不包括列列表”。

    为什么不在结果表中指定您想要的列?

    有关(一点点)关于虚拟表的更多信息,请参阅:http://apache-database.10148.n7.nabble.com/SYSIBM-schema-td74269.html

    【讨论】:

    • 我没有在结果表中指定我想要的列,因为表有超过 200 列。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-29
    • 2010-11-27
    • 1970-01-01
    • 2020-11-27
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    相关资源
    最近更新 更多