SQL(DB2)通过从其它表中选择来创建表

c90pui9n  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(219)

我看过一些关于创建一个SQL查询,通过从其他表中选择数据来创建一个表的讨论和网站,但没有一个能解决我的问题。我不知道还能做什么。
我正在编写一个SQL脚本来运行一系列的选择和创建操作,以恢复一些数据。我一直在使用DB2数据的SaS服务器上使用这个SQL查询。现在我需要迁移到DBeaver以使用其他数据源。
我只想通过从其他表中选择一些列和数据来创建一个表,举个简单的例子:

"CREATE TABLE DB2XXXX.PaidResume AS 
(SELECT HistoricalPaid.AccountNumber AS CONTA 
FROM DB2XXX.HistPaid HistoricalPaid 
WHERE HistoricalPaid.AccountNumber = 'XXXXX');

我得到了它这个错误

Error occurred during SQL query execution

SQL Error [42601]: ILLEGAL SYMBOL "<END-OF-STATEMENT>". SOME SYMBOLS THAT MIGHT BE LEGAL ARE:. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.19.26

如果我只是排除“CREATE TABLE DB2XXXX.PaidResume AS”并只运行select,它就可以工作。

6qfn3psc

6qfn3psc1#

您必须在SQL叙述句的结尾包含WITH DATAWITH NO DATA。例如:

create table u as (select a from t) with data;

请参阅db<>fiddle处的示例。

相关问题