簡體   English   中英

Teradata從多表的UNION創建表錯誤:(3707)

[英]Teradata create table from UNION of multi tables error: (3707)

我是Teradata SQL的新手。 我正在嘗試編寫如下查詢

Create table abc as
(
   with datasets as
   (
    select * from tableA
  UNION
    select * from tableB
)  );

我收到一個錯誤:

3707

這是你打算的嗎?

Create table abc as
  select * from tableA
UNION
  select * from tableB;

使用CTE時,應在FROM子句中引用CTE。 但是,不需要CTE。

您應該始終顯示確切的錯誤消息,“ Create Table As的語法具有必需的參數:

Create table abc as
 (
    select * from tableA
    UNION
    select * from tableB
 ) WITH DATA;

您真的需要UNION嗎? UNION ALL可以避免DISTINCT處理,因此可以提高性能。

並且不要忘記定義主索引,因為CREATE TABLE AS SELECT將刪除所有索引。 另外,所有列都可以為NULLable。 要解決此問題,最好使用創建表

Create table abc as tableA WITH NO DATA; -- exact copy

其次是

insert into abc
select * from tableA
UNION
select * from tableB

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM